R, как использовать содержимое переменной в качестве имени поля списка? - PullRequest
1 голос
/ 19 марта 2020

Я работаю в , и я хотел бы выделить поле , содержащее имя содержимого переменной. В следующем примере мне бы хотелось, чтобы поле списка this_list называлось bbb и имело значение 2, но я получаю несколько ошибок при использовании как paste(), так и eval(quote()):

var <- "bbb"

this_list <- list()
this_list$aaa <- 1

this_list$paste(var) <- 2
Error: attempt to apply non-function

this_list$eval(quote(var)) <- 2
Error: attempt to apply non-function

Мой желаемый вывод:

str(this_list)
List of 2
 $ aaa: num 1
 $ bbb: num 2

Может кто-нибудь помочь мне и подсказать правильную команду для использования? Спасибо!

1 Ответ

1 голос
/ 19 марта 2020

Вместо $ используйте [[ для оценки объекта

this_list[[var]] <- 2
this_list
#$aaa
#[1] 1

#$bbb
#[1] 2
...