나는 아마도 "data.table"패키지를 사용으로 보일 것이다.
일반적인 접근 방법은 order
또는 rank
을 사용하여 "카테고리"열을 만드는 것입니다. 여기서 좋은 점은 두 날짜를 비교하여 실제로 제한되지 않는다는 것입니다. 텍스트 레이블을 원한다면
DT <- data.table(df)
DT[, category := order(date), by = id]
DT
# id date category
# 1: 101 2012-09-18 2
# 2: 101 2012-08-21 1
# 3: 102 2013-03-25 1
# 4: 102 2013-04-15 2
, 당신은 factor
사용할 수 있습니다
DT[, category := factor(category, labels = c("Early", "Late"))]
DT
# id date category
# 1: 101 2012-09-18 Late
# 2: 101 2012-08-21 Early
# 3: 102 2013-03-25 Early
# 4: 102 2013-04-15 Late
의 편의를 위해
, 이것은 내가 함께 시작 "DF"입니다 :
df <- structure(list(id = c(101L, 101L, 102L, 102L),
date = structure(c(15601, 15573, 15789, 15810), class = "Date")),
.Names = c("id", "date"), row.names = c(NA, -4L), class = "data.frame")
가 거기에 각각의 'id'에 대해 항상 두 개의 항목이 있습니까? –
예,이 예의 경우 두 개만 – user2900006