기존 값이 주어진 변수에 대해 누락 된 값을 대치하고 싶습니다. 에서는 var2
많은 NA
s 가 있음을 알 수 있습니다 .
var2
은 동일합니다.var2
id == 2의 경우처럼 id에에 대한 값이 없으면 NA
.에서 df_old
으로 보아야 합니다.df_new.
df_old<- read.table(header = TRUE, text = "
id var1 var2
1 A 12
1 B NA
1 E NA
2 G NA
2 J NA
")
df_new<- read.table(header = TRUE, text = "
id var1 var2
1 A 12
1 B 12
1 E 12
2 G NA
2 J NA
")
나는 시도했다 :
df_new<-df_old %>%
group_by(id) %>%
mutate(var2=na.omit(var2))
두 번째 경우 때문에 작동하지 않는다고 생각합니다. 나는 또한 ifelse를 사용하는 것이 괜찮을지 궁금합니다. 감사합니다!
사용 가능한 var2
값 이 하나만있는 경우 다음을 id
수행 할 수 있습니다.
df_old %>%
group_by(id) %>%
mutate(var2 = min(var2, na.rm = TRUE))
Source: local data frame [5 x 3]
Groups: id [2]
id var1 var2
<int> <fctr> <int>
1 1 A 12
2 1 B 12
3 1 E 12
4 2 G NA
5 2 J NA
또 다른 옵션은 다음과 같습니다.
mutate(var2 = var2[1])
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다