몇 주 동안 관찰 한 개인 데이터 세트가 있습니다. 일부 개인은 몇 주 동안 관찰하지 않고 일부는 같은 주에 여러 차례 관찰했습니다. 개인별 주간 ID (코드의 id_week)를 만들어야합니다. 한 개인이 한 주에 두 개 이상의 관찰이있는 경우 id_week는 두 관찰에 대해 동일해야합니다. 개인이 특정 주에 관찰 한 것이없는 경우 다음 주에 관찰 된 것이 마지막 관찰 된 지점에서 이어져야합니다. 이로 인해 다음 데이터가 생성됩니다.
dt<-data.frame(individ=c(1,1,1,2,2,2,3,3,3,3),week=c(1,2,2,1,2,4,1,3,4,4),id_week=c(1,2,2,1,2,3,1,2,3,3))
나는 tride가 dt[, id := .GRP, by = .(individ, week)]
있지만 개인을 고려하지 않고 몇 주 동안 ID를 제공합니다. 나는 또한 dplyr 솔루션을 시도했지만 일주일 이내에 반복되는 관찰을 고려하지 않고 모든 라인에 ID를 할당하는데, 이는 내가 필요로하는 것이 아닙니다.
dt%>%
group_by(individ)%>%
mutate(pp = row_number(week))
다음을 사용하는 옵션 data.table
:
setDT(dt)[, id_week := rleid(week), individ]
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다