我有一个像这样的数据框
a b f
0 S NA
0 A 0.88
1 A 0.85
0 A 0.98
1 A 1.01
1 S NA
1 B 1.03
并希望根据'a'(if a == 1)
的值将NA添加到列'f';也不影响已经在列'f'
所以看起来像这样
a b f
1: 0 S NA
2: 0 A 0.88
3: 1 A NA
4: 0 A 0.98
5: 1 A NA
6: 1 S NA
7: 1 B NA
任何建议都非常感谢 谢谢 米
答案 0 :(得分:1)
只做
df$f[df$a == 1] <- NA
答案 1 :(得分:1)
您还可以使用is.na<-
替换功能。
is.na(df$f) <- df$a == 1
以下是您的数据示例。
within(df, is.na(f) <- a == 1)
# a b f
# 1 0 S NA
# 2 0 A 0.88
# 3 1 A NA
# 4 0 A 0.98
# 5 1 A NA
# 6 1 S NA
# 7 1 B NA