计算数据框中每行的 NA

Count NAs per row in dataframe

我得到了包含批次 ID 的数据框以及对每批次执行的六次测试的结果。数据如下所示:

batch_id  test1  test2  test3  test4  test5  test6
001       0.121     NA  0.340  0.877  0.417  0.662
002       0.229  0.108     NA  0.638     NA  0.574

(此数据框中有几百行,每个 batch_id 只有一行)

我正在寻找一种方法来计算每个 batch_id(每一行)有多少个 NA。我觉得最多只需要几行 R 代码就可以做到这一点,但我在实际编码时遇到了麻烦。 有什么想法吗?

您可以向数据框添加一个新列,其中包含每个 batch_idNA 个值的数量:

df$na_count <- apply(df, 1, function(x) sum(is.na(x)))

您可以使用以下命令计算每行中的 NA 数:

rowSums(is.na(dat))

其中 dat 是您的数据框的名称。