Ответ 1
Вы ответили в своем вопросе. Попробуйте get
.
> get(x)
[1] 1 2 3
подобные вопросы подняты для других языков: C, sql, java и т.д. Но я пытаюсь сделать это в R.
У меня
ret_series <- c(1, 2, 3);
x <- "ret_series";
Как получить (1, 2, 3)
, вызвав некоторые функции/манипуляции на x
, без прямого упоминания ret_series
?
Вы ответили в своем вопросе. Попробуйте get
.
> get(x)
[1] 1 2 3
Для однократного использования функция get работает (как уже упоминалось), но она недостаточно масштабируется для более крупных проектов. лучше хранить данные в списках или средах, а затем использовать [[для доступа к отдельным элементам:
mydata <- list( ret_series=c(1,2,3) )
x <- 'ret_series'
mydata[[x]]
Что случилось с одним из следующих?
eval(as.name(x))
eval(as.symbol(x))
Обратите внимание, что некоторые из приведенных выше примеров не будут работать для data.frame
.
Например, данный
x <- data.frame(a=seq(1,5))
get("x$a")
не даст вам x$a
.