2016-08-08 7 views
0

Statt Zusammenfassung des Schreibens (...) für jede Liste habe ich versucht, den folgenden Code:Zusammenfassungen für viele Listen

test <- c('list1', 'list2') 
summary(test) 

, da ich denke, dass R-Funktionen Objekte lesen und alle Objekte sind Vektoren ich gedacht funktionieren würde, aber das tut es nicht. Jeder weiß, warum das nicht funktioniert und wie ich die Zusammenfassungen aller Listen in einem Befehl bekommen kann?

Antwort

2

können Sie lapply Schleife verwenden, um über jedes Element in der Liste

#Sample data 
test <- list(mtcars, iris) 
lapply(test, summary) 

#[[1]] 
# mpg    cyl    disp    hp    drat  
#Min. :10.40 Min. :4.000 Min. : 71.1 Min. : 52.0 Min. :2.760 
#1st Qu.:15.43 1st Qu.:4.000 1st Qu.:120.8 1st Qu.: 96.5 1st Qu.:3.080 
#Median :19.20 Median :6.000 Median :196.3 Median :123.0 Median :3.695 
#Mean :20.09 Mean :6.188 Mean :230.7 Mean :146.7 Mean :3.597 
#3rd Qu.:22.80 3rd Qu.:8.000 3rd Qu.:326.0 3rd Qu.:180.0 3rd Qu.:3.920 
#Max. :33.90 Max. :8.000 Max. :472.0 Max. :335.0 Max. :4.930 
# wt    qsec    vs    am    gear  
# Min. :1.513 Min. :14.50 Min. :0.0000 Min. :0.0000 Min. :3.000 
#1st Qu.:2.581 1st Qu.:16.89 1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.:3.000 
#Median :3.325 Median :17.71 Median :0.0000 Median :0.0000 Median :4.000 
#Mean :3.217 Mean :17.85 Mean :0.4375 Mean :0.4062 Mean :3.688 
#3rd Qu.:3.610 3rd Qu.:18.90 3rd Qu.:1.0000 3rd Qu.:1.0000 3rd Qu.:4.000 
#Max. :5.424 Max. :22.90 Max. :1.0000 Max. :1.0000 Max. :5.000 
# carb  
#Min. :1.000 
#1st Qu.:2.000 
#Median :2.000 
#Mean :2.812 
#3rd Qu.:4.000 
#Max. :8.000 

#[[2]] 
# Sepal.Length Sepal.Width  Petal.Length Petal.Width   Species 
# Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100 setosa :50 
# 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300 versicolor:50 
# Median :5.800 Median :3.000 Median :4.350 Median :1.300 virginica :50 
# Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199     
# 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800     
# Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500   

Gemäß dem Kommentar von @docendo discimus,

Wenn die OP-Listen in Form von Zeichen wie erwähnt genommen hat die Frage.

test <- c('list1', 'list2') 

in diesem Fall mget sollte

lapply(mget(test), summary) 
verwendet werden