私はdf、YearHT、6.5M x 55のカラムを持っています。抽出して追加する特定の情報がありますが、集計値にのみ基づいています。私はforループを使用して大きなdfをサブセット化し、計算を実行しています。サブセット化の代わりにR
私は、ループを避けるべきであると聞きましたが、私がこのクエリを実行するときに〜3時間かかるので、私が使ったforループを回避する方法があるのだろうかと思います。
srt=NULL
for(i in doubletCounts$Var1){
s=subset(YearHT,YearHT$berthlet==i)
e=unlist(c(strsplit(i,'\\|'),median(s$berthtime)))
srt=rbind(srt,e)
}
srt=data.frame(srt)
s2=data.frame(srt$X2,srt$X1,srt$X3)
colnames(s2)=colnames(srt)
s=rbind(srt,s2)
doubletCountsが700×3 DFであり、そしてそれぞれの値が大きいDF内に見出される:
はここに私のコードです。
私はこのプロセスを最適化/スピードアップするためのアイデアを聞いてうれしいです。
コードをテストできるように、データセットの小さなサンプルを提供できますか? 'dput()'を使ってサンプルを得ることができます(最初の10行だけを選択してください) – Bas
非常に大きなデータセットを扱っているので、 'data.table'を試してみませんか?データフレームよりもはるかに高速です。 –