0
リストのリストを処理したいと思います。具体的には、各リストの3番目のメンバーであるデータフレームをグループ化変数(各リストの最初のメンバー)で抽出し、mean()、median()、sd()、length()などのいくつかの関数を使用したいそのグループ内のデータだから私の質問はありグループ別リストの処理
Grp mean sd ...
a 5.26 ... ...
b 6.25 ... ...
#fake data
test<-list(
#member 1=grouping var, 2=identity, 3=dataframe
list("a", 54, data.frame(x=c(1,2) ,y=c(3,4))),
list("b", 55, data.frame(x=c(5,6) ,y=c(7,8))),
list("a", 56, data.frame(x=c(9 ,10),y=c(11,12))),
list("b", 57, data.frame(x=c(13,14),y=c(15,NA)))
)
#what I thought could work but kicks out a strange error
test2 <-ldply(test, .fun=unlist)
#note limited to just mean for now
tapply(test, factor(test$V1), FUN=function(x){mean(as.numeric(x[3:6]), na.rm=TRUE)}, simplify=TRUE)
:出力は、データフレームに返され、次のようになります 1.しないのはなぜ上記の作品? 2.これは非常に鈍い感じです。これを行うより効率的な方法はありますか?あなたが行うことができますベースのRで
ご希望の結果は何ですか? – alistaire
あなたが達成しようとしていることはやや不明ですが、 'library(tidyverse);のようなものかもしれません。 %group_by(grp)%>%summarise_all(平均、na.rm = TRUE) ' – alistaire
(%、%)あなたの質問の再出力に対処するために編集しました。 – TBP