2012-03-18 2 views
10

Как оценить строку символа класса как фрейм данных?R оценить строку как кадр данных

В частности, у меня есть кадры несколько данных скажем так: x0, x1, x3:

x0 <- data.frame(a=1,b="a") 
x1 <- data.frame(a=2,b="b") 
x2 <- data.frame(a=3,b="c") 

Они имеют все ту же структуру, и я хотел бы объединить их с rbind. Чтобы избежать вызова каждого отдельного кадра данных, я использую регулярное выражение:

x <- grep("x\\d",ls(),perl=TRUE,value=TRUE) 

Это дает мне вектор класса. Теперь я хотел бы объединить их в одну dataframe называется x.all:

x.all <- rbind(x) 

Что я получаю это матрица размерности (1,3). Кто-нибудь может дать мне подсказку? Большое спасибо за помощь.

ответ

8

Использование get и do.call:

do.call(rbind, lapply(x, get)) 
# a b 
# 1 1 a 
# 2 2 b 
# 3 3 c 
+0

Спасибо большое! Я не знал do.call. Это мощная функция. – giordano

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