2016-06-26 2 views
2

В более крупном R-Script мне нужно адресовать содержимое символьной переменной, которая сама хранится в переменной имени класса. В следующем небольшом примере, как мне нужно адресовать B, чтобы увидеть содержимое A (таким образом, «A»), а не просто имя (таким образом, A)?Как обратиться к R-переменной, которая хранит объект класса 'name'?

> A <- "A" 
> B <- as.name(A) 
> B 
A 

ответ

2

Мы можем использовать get к получить значение

get(A) 

С 'B', мы можем использовать eval

eval(B) 
#[1] "A" 

пример операционного является запутанным. Чтобы это лучше понять,

C <- "A" 
B <- as.name(C) 
eval(B) 
#[1] "A" 
+0

Действительно? Когда я выполняю отредактированный код, я получаю – user7417

+0

@ user7417 Я использую R 3.3.0, и это результат, который я получаю. – akrun

+0

Извините, мой комментарий был изуродован, и я не редактировал его вовремя. Вторая строка должна быть B <- as.name («C»), иначе я получаю сообщение «Ошибка в eval (expr, envir, enc): Object« A »не найден». Во всяком случае, спасибо за подсказку eval, я проверю это в своем скрипте! – user7417

Смежные вопросы