Reputation: 1125
I'm currently working on a script which should analyze a dataset based on a 'configuration' file.
The input of this file is for instance:
configuration.txt:
123456, 654321
409,255,265
1
It can contain onther values as well, but they will al be numeric. In the example described above the file should be read in as follows:
timestart <- 123456
timeend <- 654321
exclude <- c(409,255,265)
paid <- 1
The layout of the configuration file is not fixed, but it should contain a starting time (unix) an ending time (unix) an array with numbers to exclude and other fields. In the end it should be constructed from fields a user specifies in a GUI. I don't know which formatting would suit best for that case, but as soon as I have these basics working I don't think that will be a big problem.
But that will make it harder to know which values belong to which variable.
Upvotes: 21
Views: 23378
Reputation: 141
Another alternative would be to use the config package. This allows setting configuration values to be executed according to the running environment (production, test, etc.). All parameters are accessed by a list and are loaded by a YAML text format configuration file.
More details and examples about config can be found here: https://cran.r-project.org/web/packages/config/vignettes/introduction.html
If you wants to load a JSON, TOML, YAML, or INI text configuration file, see also the configr package.
Upvotes: 10
Reputation: 1125
Indeed, as Andrie suggested, using a .r config file is the easiest way to do it. I overlooked that option completely!
Thus, just make a .r file with the variables already in it:
#file:config.R
timestart <- 123456
timeend <- 654321
exclude <- c(409,255,265)
paid <- 1
In other script use:
source("config.R")
And voila. Thank you Andrie!
Upvotes: 34