2010-07-23 5 views
2

Une série de fonctions génère un nombre variable de trames de données (minimum 1 et maximum 11). Je voudrais les combiner en utilisant rbind. Si je connaissais les noms, je pourrais facilement rbind(d1,d2...) mais je ne peux pas le faire car je dois combiner un nombre différent de trames de données à chaque fois. Le ne fonctionnait pas.Comment utiliser un motif pour combiner des blocs de données en utilisant un caractère générique?

je peux obtenir la liste des noms de retard générés dans un vecteur comme ceci: lag_names=ls(pattern="lags_2_Y*")

Si je fais: lags=llply(lag_names,rbind), je viens d'obtenir une liste avec les noms de retard. Je veux relier le contenu de ces trames de données.

Des idées?

+0

Je mets data.frames dans une liste et "aplatir" (finale .df <- do.call ("rbind", list.of.df)) la liste quand j'ai besoin d'un data.frame. –

Répondre

3

essayer

library(plyr) 
lags = ldply(lag_names, get) 

Edit:

Si vous donnez des noms lag_names, ldply() ajoutera une colonne id

names(lag_names) <- lag_names 

lags = ldply(lag_names, get) 
Questions connexes