R:对于一组列,返回仅具有一个非NA值的行

问题描述 投票:0回答:1

假设我有一个包含以下数据的data.table:

colA  colB  colC
1     2     3
1     NA    2
NA    3     NA
11    NA    NA

我将如何使用dplyrmagrittr仅选择以下行:

colA  colB  colC
NA    3     NA
11    NA    NA

我一直找不到类似的问题;猜测这是一个奇怪的情况。

r dplyr tidyr magrittr
1个回答
0
投票

基本R选项为

df[apply(df, 1, function(x) sum(!is.na(x)) == 1), ]
#  colA colB colC
#3   NA    3   NA
#4   11   NA   NA

样本数据

df <-read.table(text = "colA  colB  colC
1     2     3
1     NA    2
NA    3     NA
11    NA    NA", header = T)
© www.soinside.com 2019 - 2024. All rights reserved.