将NA应用于满足R中条件的行

时间:2015-06-03 19:58:13

标签: r

我有一个像这样的data.frame:

 set.seed(126)
df <- data.frame(a=sample(c(1:100, NA), 10), b=sample(1:100, 10), c=sample(1:100, 10))

    a  b  c
1  65 48 19
2  46 15 80
3  NA 47 84
4  68 34 46
5  23 75 42
6  92 87 68
7  79 28 48
8  84 55  9
9  28 43 38
10 94 99 77
> 

如果df$aNA,我想写一个将所有列中的所有值转换为NA的函数但是,我不想只指定b和{{ 1}} c的值,而不是我想要一个函数,如果满足条件NA,则将data.frame中的所有列都转换为NA,无论列数如何。

1 个答案:

答案 0 :(得分:5)

我认为你只是在寻找

df[is.na(df$a), ] <- NA
#     a  b  c
# 1  65 48 19
# 2  46 15 80
# 3  NA NA NA
# 4  68 34 46
# 5  23 75 42
# 6  92 87 68
# 7  79 28 48
# 8  84 55  9
# 9  28 43 38
# 10 94 99 77
相关问题