[英]Create dataframe from list of dataframe
我有一個列表myList
含有16個data.frames
List of 16
$ dataframe1 :'data.frame': 20 obs. of 60 variables:
..$ Stat : Factor w/ 16 levels "a","b",..: 16 16 16 16 16 16 16 16 16 16 ...
..$ P10 : num [1:31] 1 3 2 2 4 8 0 4 2 5 ...
..$ R : num [1:31] NA NA NA NA NA NA NA NA NA NA ...
..$ S : num [1:31] 0 7 7 1 5 9 3 9 6 2 ...
$ dataframe2 :'data.frame': 20 obs. of 60 variables:
..$ Stat : Factor w/ 16 levels "c","d",..: 16 16 16 16 16 16 16 16 16 16 ...
..$ P10 : num [1:31] 2 1 2 2 5 6 7 2 2 5 ...
..$ R : num [1:31] NA 1 NA NA 2 NA 4 NA NA NA ...
..$ S : num [1:31] 10 2 4 1 5 8 8 8 1 2 ...
...
..
我需要每列的mean
並將結果保存在data.frame
。
dataframe1 dataframe2 ....
Stat NA NA
P10 6 7
R NA 3
S 12 14
... ... ... ...
我有這個lapply(myList$variable1, mean)
,它向我返回該列表中一個data.frame
的結果。 ldply(myList, data.frame)
不包含mean
函數。 我將如何對整個列表進行處理並將其放入一個data.frame
?
我們可以使用嵌套的sapply
。 第一個循環遍歷list
,第二個循環遍歷data.frame
的列,根據列是否為numeric
的條件,我們得到mean
或返回NA。
sapply(myList, function(x) sapply(x, function(y)
if(is.numeric(y)) mean(y, na.rm=TRUE) else NA))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.