同じソートデータフレームのリストがあります。より具体的には、AmeliaIIパッケージで複数の代入を行った後に帰属する帰属データフレームです。今度は、構造は同じですが、データフレーム全体で計算されたセルの平均値を含む新しいデータフレームを作成したいと思います。同一のデータフレームのセル間の統計情報(平均など)を計算する
私は、現時点ではこれを実現する方法は以下の通りです:
## do the Amelia run ------------------------------------------------------------
a.out <- amelia(merged, m=5, ts="Year", cs ="GEO",polytime=1)
## Calculate the output statistics ----------------------------------------------
left.side <- a.out$imputations[[1]][,1:2]
a.out.ncol <- ncol(a.out$imputations[[1]])
a <- a.out$imputations[[1]][,3:a.out.ncol]
b <- a.out$imputations[[2]][,3:a.out.ncol]
c <- a.out$imputations[[3]][,3:a.out.ncol]
d <- a.out$imputations[[4]][,3:a.out.ncol]
e <- a.out$imputations[[5]][,3:a.out.ncol]
# Calculate the Mean of the matrices
mean.right <- apply(abind(a,b,c,d,e,f,g,h,i,j,along=3),c(1,2),mean)
# recombine factors with values
mean <- cbind(left.side,mean.right)
私は、適用plyr等を用いてこれを行うには、もっと良い方法があると仮定しますが、R初心者Iとして本当にここで少し失われています。あなたはこれについてどうやって行くのですか?
ありがとうございます、実際には私には長い道のりがあります。しかし、あなたのソリューションとは異なり、私のデータフレームは数値だけではなく、配列を使用する前に "ストリップ"する必要がある2つの "factor"カラムを持っています。 「混在した」データフレームでも動作するソリューションを知っていれば、それは私を「すべて」得ることになります。しかし、前にも述べたように、あなたのソリューションは、私が以前使用していたソリューションよりもはるかに簡潔です。 – Tungurahua
私が正しく覚えていれば、私が提供したリストの解決策はまだほとんど機能します。係数は数値に強制され、その平均が取られます(ほとんど無意味なので安全に無視することができます)。 –