Например, у меня есть файл config.R
с параметрами модели, который выглядит следующим образом:
var1 = "Fruit"
var2 = "Vegetables"
country = c("BRAZIL", "ECUADOR", "Georgia")
flag = NULL
peak = 30
years = c(2010, 2020)
remove1 = c("Bananas_ZZ_100s", "Apple_150-300_Pk", "Mango_mono")
remove2 = c("Tomato_ZR_400s", "cabbage300_Pk")
Затем я загружаю файл конфигурации:
params = new.env()
source("config/config.R", params)
params = mget(ls(params), envir = params)
и получаю именованный список с параметрами:
> print(params)
$var1
[1] "Fruit"
$var2
[1] "Vegetables"
$country
[1] "BRAZIL" "ECUADOR" "Georgia"
et c.
Я хочу преобразовать символьные переменные в моем списке параметров в нижний регистр, за исключением двух переменных: remove1 и remove2
Мне удалось преобразовать все символьные переменные в списке следующим образом:
params = lapply(params, function(params) {
if (is.character(params)) return(tolower(params))
else return(params)
})
, но я не знаю, как применить эту функцию (или может быть с for
петлями) для всех символов var. исключая несколько переменных.
Буду очень признателен за любую помощь!
PS что я хочу получить:
> print(params)
$var1
[1] "fruit"
$var2
[1] "vegetables"
$country
[1] "brazil" "ecuador" "georgia"
$flag
NULL
$peak
[1] 30
$years
[1] 2010 2020
$remove1
[1] "Bananas_ZZ_100s" "Apple_150-300_Pk" "Mango_mono"
$remove2
[1] "Tomato_ZR_400s" "cabbage300_Pk"