날짜의 내림차순으로 정렬 된 데이터 프레임이 있습니다.dplyr을 사용하여 NA를 이전 값 또는 다음 값과 그룹으로 바꾸십시오.
ps1 = data.frame(userID = c(21,21,21,22,22,22,23,23,23),
color = c(NA,'blue','red','blue',NA,NA,'red',NA,'gold'),
age = c('3yrs','2yrs',NA,NA,'3yrs',NA,NA,'4yrs',NA),
gender = c('F',NA,'M',NA,NA,'F','F',NA,'F')
)
난 NA는 이전 값 및 사용자 ID의 첫 번째 행은 NA가 그 사용자 ID의 그룹에 대한 값의 다음 세트로 교체 될 경우 아이디 그룹화하여 값 전가 (교체)하기 바란다.
이 같은 dplyr 및 동물원 패키지 뭔가를 사용하려고 ...하지만 내가 될 필요
cleanedFUG <- filteredUserGroup %>%
group_by(UserID) %>%
mutate(Age1 = na.locf(Age),
Color1 = na.locf(Color),
Gender1 = na.locf(Gender))
작동하지 DF 같은 :
userID color age gender
1 21 blue 3yrs F
2 21 blue 2yrs F
3 21 red 2yrs M
4 22 blue 3yrs F
5 22 blue 3yrs F
6 22 blue 3yrs F
7 23 red 4yrs F
8 23 red 4yrs F
9 23 gold 4yrs F
을 참조하십시오. [NAs를 최신 비 NA 값으로 대체] (http://stackoverflow.com/questions/7735647/replacing-nas-with-latest-non-na-value) 또는이 [NA 값을 그룹 값으로 대체] (http : //stackoverflow.com/questions/23583739/replace-na-value-with-the-group-value) –
@Tarak 안녕하세요, 답변 중 하나가 문제를 해결하는 경우 주저하지 말고 '수락 함'으로 표시하세요. 다른 사람들도 그것을 볼 수 있습니다 ... 감사합니다 – agenis