本当に大きな data.frame で diff 関数を使用したいと思います: 1 億 4000 万行と 2 列。
目標は、user_id ごとに、2 つの連続する日付アクティビティ間のギャップを計算することです。ユーザーごとに、最初のアクティビティには前のアクティビティがないため、NA 値が必要です。
私はこの関数を使用しましたが、小さなデータセットでは機能しますが、大きなデータセットでは非常に遅くなります。昨日から待っていますが、まだ実行中です。
df2 <- as.vector(unlist(tapply(df$DATE,df$user_id, FUN=function(x){ return (c(NA,diff(x)))})))
大量のメモリ (24GO) と 4 コアの CPU がありますが、1 つしか機能していません。
この問題を管理するにはどうすればよいでしょうか。データフレームをマトリックスに変換した方が良いですか?