R:计算数据帧中每行的NAs

时间:2016-06-14 00:54:58

标签: r 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代码,但我实际编码时遇到了麻烦。 有什么想法吗?

2 个答案:

答案 0 :(得分:47)

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

rowSums(is.na(dat))

其中dat是数据框的名称。

答案 1 :(得分:26)

您可以在数据框中添加一个新列,其中包含每batch_iddf$na_count <- apply(df, 1, function(x) sum(is.na(x))) 个值的数量:

// Move to a background thread to do some long running work
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
    let image = self.loadOrGenerateAnImage()
    // Bounce back to the main thread to update the UI
    dispatch_async(dispatch_get_main_queue()) {
        self.imageView.image = image
    }
}