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.
Simply write the config file as a . r file containing code exactly as you wrote it, then source() it. The variables will then be defined in your environment.
The easiest way to read/write AppSettings config file there is a special section in reserved which allows you to do exactly that. Simply add an <appsettings> section and add your data as key/value pairs of the form <add key="xxx" value="xxxx" /> . That's all to create a new app. config file with settings in it.
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!
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With