Использование get () со списком - PullRequest
2 голосов
/ 04 мая 2011

Есть ли способ использовать get() с объектом списка?

Функции, которые я ищу, сродни:

x <- list(a=c(1,2,3),b=c(4,5,6),c=c(7,8,9))
get(paste("x$a",sep=""))

Ответы [ 3 ]

5 голосов
/ 04 мая 2011

Это будет работать:

get("a", envir=list2env(x))

Но это более или менее полезно, как x[['a']].Возможно, вы также искали маршрут eval / parse:

eval(parse(text="x$a"))
3 голосов
/ 04 мая 2011

Укажите аргумент pos=:

> get("a",x)
[1] 1 2 3

Чтобы ваш пример работал, вам необходимо оценить выражение, поскольку "x$a" не является допустимым именем.

> eval(parse(text=paste("x$a",sep="")))
[1] 1 2 3
1 голос
/ 04 мая 2011

Может быть, эта альтернатива подойдет вам?

get("x")[["a"]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...