2015-09-26 2 views
2

Допустим, у меня есть эти 3 объектаПреобразовать массив строк в массив объектов в R

first<-1 
second<-"hello" 
third<-3 

И у меня есть массив символов, как это:

example<-c("first","second","third") 

Как я могу автоматически конвертировать все имена в массиве для объекта с тем же именем? Для того, чтобы иметь что-то вроде:

example2<-c(first, second, third) 

Я знаю, есть аналогичные вопросы, но я не могу найти ответ, который я могу сделать работу для моего случая тоже. Спасибо тому, кто может помочь

UPDATE:

Если я: то

example3<-mget(example) 

муравей типа example2 и example3 в R консоли, выходы немного отличаются.

> example2 
[1] "1"  "hello" "3" 

> example3 
$first 
[1] 1 

$second 
[1] "hello" 

$third 
[1] 3 

мне нужно example3 быть точно такой же объект, как example2, потому что если я бегу cbind(example3) я получаю ошибку, в то время как cbind(example2) работает отлично, но массив объектов одно и то же. Конечно, в моем коде объекты с именем first, second и third имеют другой вид, чем в этом сообщении, но логика такая же.

+1

Добро пожаловать в СЦ! Является 'sapply (пример, get)', что вы после? – tonytonov

+5

'example = mget (...)'. –

+0

Спасибо и @tonytonov и @konrad. Я думаю, что с этими двумя командами я точно не получаю тот же массив объектов, что и ** example2 **. На самом деле вывод в примере 2 в R равен '> example2 [1]« 1 »« привет »« 3 »' , а вывод ** example3 ** после запуска 'example3 = mget (example)' is: '> example3 $ первый [1] 1 $ второй [1] "Привет" $ третьим [1] 3' и это вызывает проблемы с cbind. 'cbind (example2)' работает, а с 'cbind (example3)' Я получаю объект error _ (list), который нельзя принудительно ввести, чтобы ввести double__. Конечно, объекты _first_, _second_ и _third_ отличаются от моего реального кода – gabriele

ответ

1

С вашего последнего комментария, и предложение Конрада Rudolph, я верю, что вы ищете

unlist(mget(example), use.names = FALSE) 
# [1] "1"  "hello" "3"  
+0

спасибо @richard, что сработало – gabriele

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