我有一个像这样的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$a
为NA
,我想写一个将所有列中的所有值转换为NA的函数但是,我不想只指定b
和{{ 1}} c
的值,而不是我想要一个函数,如果满足条件NA
,则将data.frame中的所有列都转换为NA,无论列数如何。
答案 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