Чтение и использование настраиваемого файла конфигурации

В настоящее время я работаю над script, который должен анализировать набор данных на основе файла конфигурации.

Ввод этого файла, например:

configuration.txt:

123456, 654321
409,255,265
1

Он также может содержать и другие значения, но они будут численными. В приведенном выше примере файл следует читать следующим образом:

timestart <- 123456
timeend <- 654321
exclude <- c(409,255,265)
paid <- 1

Макет конфигурационного файла не является фиксированным, но он должен содержать время начала (unix) конечное время (unix) массив с номерами для исключения и другие поля. В конце концов, он должен быть построен из полей, заданных пользователем в графическом интерфейсе. Я не знаю, какое форматирование будет лучше всего подходит для этого случая, но как только у меня возникнут эти основы, я не думаю, что это будет большой проблемой.

Но это затруднит понимание того, какие значения принадлежат какой переменной.

Ответ 1

Действительно, как предположил Андри, использование файла конфигурации .r - это самый простой способ сделать это. Я полностью забыл этот вариант!

Таким образом, просто создайте файл .r с уже имеющимися в нем переменными:

#file:config.R
timestart <- 123456
timeend <- 654321
exclude <- c(409,255,265)
paid <- 1

В другом script используйте:

source("config.R")

И вуаля. Спасибо, Андри!

Ответ 2

Другой альтернативой может быть использование пакета config. Это позволяет настраивать значения конфигурации в соответствии с рабочей средой (производство, тестирование и т.д.). Все параметры доступны по списку и загружаются с помощью файла конфигурации текстового формата YAML.

Подробнее и примеры о config можно найти здесь: https://cran.r-project.org/web/packages/config/vignettes/introduction.html

Если вы хотите загрузить файл конфигурации JSON, TOML, YAML или INI, см. также configr.