반응형
썸네일
목표
GA 데이터의 user_id, page_location별 key 값 부여
구현 코드
unique_user_ud <- unique(data$user_id)
idx <- 1
for(i in unique_user_id){
n <- 1
rnk <- data %>% filter(user_id == i) %>% select(user_id, event_rnk)
for(j in 1:nrow(rnk)){
print(idx)
if(!is.na(data$prev_location[idx]) & data$page_location[idx] != data$prev_location[idx]){
n <- n+1
}
data$total_rnk[idx] <- n
idx <- idx + 1
}
}
구현 과정
1) i (unique_user_id 활용) : user_id 별로 1부터 시작해야 하기 때문에 for문 i 추가
2) j (rnk)의 row 수 활용) : user_id 별로 갖고 있는 event 수가 다르기 대문에 event 숫자인 row 수 활용
3) idx : 현재 row 번호(i+j). 지금 page_location과 이전 page_location이 다르면, 지금 total_rnk에 n+1 부여해서 이전과 다른 total_rnk를 갖게된다.
- 값이 들어가는 자리를 특정 key에 따른 위치가 아닌 물리적 위치로 결정.
- 이를 위해 unique_user_id를 미리 asc 정렬.
+ 이전에 [idx]에 [j]를 넣으면서 계속 위의 row만 total_rnk 값이 변해서 문제였다.
반응형
'Data Science : Study > 5. R' 카테고리의 다른 글
R : n_distinct 실행 시 1 높게 나옴 이유 (n_distinct ignore NA) (0) | 2024.03.05 |
---|