0
私はreshape2を使用してこれを行うことが分かっていますが、それはかなり遅く、私はこのようになりますdata.frameあります効率的にRのすべての列のX-Y data.frameを行列に変換します
df<-data.frame(expand.grid(1:10,1:10))
colnames(df) <- c("x","y")
for(i in 3:10){
df[i] <- runif(100,10,100)
}
を私が実行します。
require(reshape2)
matrices<-lapply(colnames(df)[-c(1:2)],function(x){
mat<-acast(df, y~x, value.var=x, fill= 0,fun.aggregate = mean)
return(mat)
})
が
私は私のデータの各値のベクトルの行列のリストを持って、私は配列にこれを変換することができます1:10,1:10,1:10ディメンションですが、データセットに多くの値の列が含まれている可能性があるため、この処理を高速に行う方法があるかどうかを検討しています。より効率的な方法を見つけるようです。
ありがとうございました。
'データでdcast''を見てみましょう.tableパッケージ。通常、 'reshape2'よりもはるかに効率的です。 –
あなたのタイトルが自分自身を説明しているかのように、単に「これ」を参照するのではなく、あなたがしたいことを記述する – Frank
私の答えは、私が理解しているように問題を解決するより効率的な方法の1つだと思います。 – lmo