1
私は以下のデータセットを持っており、各ユーザーが毎年どこにいたかを追跡する必要があります。変更されたコードは、以下であるRanking subsets of a data frame in R大規模なデータセットのRのデータフレームのサブセットの順位付け
:
data$User <- as.factor(data$User)
data$Date <- as.factor(data$Date)
data$Sequence <- ave(data$Time, data$User, data$Date, FUN=rank)
data <- data[order(data$Sequence),]
data <- data[order(data$User),]
data <- data[order(data$Date),]
その結果:ただし
User Date Location Time Sequence
3 2013-01-01 29 18:47:31 1
4 2013-01-01 18 07:00:21 1
4 2013-01-01 37 07:16:19 2
4 2013-01-01 11 08:28:37 3
6 2013-01-01 6 07:17:05 1
6 2013-01-01 34 08:10:38 2
、一方
User Date Location Time
90 2013-01-28 39 16:06:20
26 2013-02-04 27 19:32:09
23 2013-02-04 5 16:03:39
23 2013-01-07 29 15:40:25
84 2013-02-27 50 17:25:40
57 2013-01-30 5 17:26:26
Iは次のスレッドで使用されるスクリプトを改変しましたそれは小さなデータフレームのために働く、それは実際のdで実行するのに過度の時間がかかるataset(約100,000人のユーザがいる5M行)。
これを行うより効率的な方法はありますか?
ありがとうございました!それは完全に動作します! – Reflexes