我想为给定现有值的变量估算缺少的值。在中var2
,我们注意到有很多NA
。
var2
相同。var2
,例如在id == 2的情况下,则我们只输出as 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] 删除。
我来说两句