Определите переменные, используя eval () внутри lapply () в R - PullRequest
0 голосов
/ 27 ноября 2018

Сначала я определяю

args <- c("x=5", "y=10")

Следующее имеет ожидаемое поведение в R (создает переменные x и y в глобальной среде)

for (i in 1:length(args)) {
  eval(parse(text=args[[i]]))
}

Однако следующее просто возвращает неназванный список.

lapply(args, function(a) eval(parse(text = a)))

Можете ли вы использовать функцию apply для создания переменных вместо цикла?

1 Ответ

0 голосов
/ 27 ноября 2018

Мы создаем имя list и затем с list2env

list2env(setNames(lapply(args, function(a) eval(parse(text = a))), 
            sub("\\=.*", "", args)), envir = .GlobalEnv)
x
#[1] 5
y
#[1] 10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...