2016-05-02 8 views
0

Ich erstellte eine Liste von Datenframes namens "list" und möchte nur bestimmte Spalten jedes Dataset in der Liste auswählen.Verwendung von lapply auf einer Liste von Datenrahmen

library(dplyr) 
new_list <- lapply(list, select(list, Date)) 

Es gibt einen Fehler, weil Klasse (Liste [1]) nicht Datenrahmen ist aber immer noch eine Liste. Klasse (Liste [[1]]) ist ein Datenrahmen. Ich verstehe das nicht, weil die Elemente in meiner Liste Dataframes sein sollten und ich auch nicht weiß, wie ich "lapply" trotzdem verwenden kann.

Danke für Ihre Hilfe!

Antwort

3

Ich denke, Ihre Syntax ist nur ein wenig aus. Versuchen Sie eine anonyme Funktion verwenden statt:

l <- list(mtcars,mtcars) 
lapply(l,function(x) select(x,cyl,mpg)) 
+1

Es sieht aus wie Sie auch die Spaltennamen als Argumente an 'select' passieren kann durch 'lapply',' lapply (Liste (mtcars, mtcars), wählen, cyl, mpg) '. – nrussell

+0

danke, das funktioniert ganz gut! – mariego

1

auch zu bedenken [ eine Funktion an sich ist, so:

new_list <- lapply(list, '[', c("list", "Date")) 
+0

danke, das funktioniert auch gut! – mariego

Verwandte Themen