私はいくつかの統計を行うために、dataframe1とdataframe2の各行を比較します。これらは大規模なデータフレーム(300,000行と40,000行)なので、比較するのは大変です。R分割DFと並行してテストを実行
私はいくつかの機能を使って統計を適用しました。私が疑問に思っていたことは、dataframe1をチャンクに分割することが可能かどうかということでした。これらのチャンクは複数のコアで並列に実行されます。
library(lawstat)
library(reshape2)
df1 = matrix(ncol= 100, nrow=100)
for (i in 1:100){
df1[,i] =floor(runif(100, min = 0, max =3))
}
df2 = matrix(ncol= 100, nrow=1000)
for (i in 1:100){
df2[,i] =runif(1000, min = 0, max =1000)
}
testFunc<- function(df1, df2){
x=apply(df1, 1, function(x) apply(df2, 1, function(y) levene.test(y,x)$p.value))
x=melt(x)
return(x)
}
system.time(res <- testFunc(df1,df2))
統計(例えばレーベンテスト)ので、私は素晴らしいことだこれをスピードアップすることができます任意の方法を計算するためにかなり長い時間がかかるの一部
。
私は特定のソリューションを書くかテストする時間がありませんが、これは確かに 'parallel'パッケージを使って達成できます。 'ライブラリ(パラレル); ?parRapply' – bdemarest
データフレームをマトリックスに強制できますか? (数値データは入っていますか?) –
はい数値データであり、マトリックスに入れることができます – George