1
다음 데이터 세트가 있고 각 사용자가 일년 중 어디에 속해 있던지 순서를 추적해야합니다. 반면,큰 데이터 세트의 경우 R의 데이터 프레임 하위 집합
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
그러나 다음 Ranking subsets of a data frame in 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
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
나는 다음과 같은 스레드에서 사용되는 스크립트를 수정 그것은 작은 데이터 프레임을 위해 작동합니다. 실제 d에서 실행하는 데 과도한 시간이 걸립니다. ataset (거의 100,000 명의 개별 사용자가있는 5 백만 개의 행).
더 효율적인 방법이 있습니까?
감사합니다. lmo! 그것은 완벽하게 작동합니다! – Reflexes