按行计算缺失值并添加缺失值数量

时间:2020-10-14 15:22:19

标签: r dplyr

您好:我想在看起来像这样的数据框中添加一列,其中包含缺失值的数量。

[[ False False False False ]
 [False  True  True  True ]
 [False  True  True False ]]

3 个答案:

答案 0 :(得分:0)

也许可以肯定使用rowwise()并尝试mutate()来创建Var,以存储NA的数量。对于行操作,可以使用c_across()评估所需条件。这里的代码:

library(dplyr)
#Code
newdf <- df %>% rowwise() %>% mutate(Var=sum(is.na(c_across(var1:var2))))

输出:

# A tibble: 100 x 3
# Rowwise: 
      var1    var2   Var
     <dbl>   <dbl> <int>
 1 NA       0.990      1
 2 NA       0.509      1
 3 -0.248  -1.89       0
 4 -0.149  -0.230      0
 5 -0.808   0.421      0
 6  0.216  -1.36       0
 7 -0.319   1.50       0
 8 -0.0418  0.487      0
 9 -3.36   -2.37       0
10 -0.151  -0.0478     0
# ... with 90 more rows

答案 1 :(得分:0)

您可以直接使用rowSums

library(dplyr)
df %>%  mutate(na = rowSums(is.na(select(., var1, var2))))

答案 2 :(得分:0)

您不需要rowwise。只需注释该行,您的代码就可以使用。

这有效:

df %>% 
  select(var1, var2) %>% 
  mutate(na = rowSums(is.na(.)))