2012-03-18 24 views
10

Come posso valutare una stringa di caratteri di classe come frame di dati?R valuta stringa come frame dati

Concretamente, ho telai diversi dati diciamo: x0, x1, x3:

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

Hanno tutte la stessa struttura e vorrei per unirle con rbind. Per evitare di chiamare ogni singolo frame di dati uso un'espressione regolare:

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

Questo mi dà un vettore di carattere di classe. Ora, vorrei unirli a un dataframe chiamato x.all:

x.all <- rbind(x) 

quello che ottengo è una matrice di dimensione (1,3). Qualcuno può darmi un suggerimento? Grazie mille per l'aiuto.

risposta

8

Utilizzando get e do.call:

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

Grazie mille! Non lo sapevo. È una funzione potente. – giordano

Problemi correlati