查找R中列组合的NA值计数

查找R中列组合的NA值计数,r,R,假设我有一个如下的数据集 (dd <- read.table(header = TRUE, text="a b 1 2 NA 1 1 NA NA NA 1 2 NA 3")) # a b # 1 1 2 # 2 NA 1 # 3 1 NA # 4 NA NA # 5 1 2 # 6 NA 3 我不知道如何对多个列的组合执行此操作。有人能帮我吗?表格请打开: table(lapply(dd, is.na)) # b

假设我有一个如下的数据集

(dd <- read.table(header = TRUE, text="a    b
1    2
NA   1
1    NA
NA   NA
1    2
NA   3"))

#    a  b
# 1  1  2
# 2 NA  1
# 3  1 NA
# 4 NA NA
# 5  1  2
# 6 NA  3

我不知道如何对多个列的组合执行此操作。有人能帮我吗?

表格
请打开:

table(lapply(dd, is.na))

#       b
#a       FALSE TRUE
#  FALSE     2    1
#  TRUE      2    1
如果您需要一个向量用于子集设置,因为
交互
提供:

interaction(lapply(dd,is.na))
#[1] FALSE.FALSE TRUE.FALSE  FALSE.TRUE  TRUE.TRUE   FALSE.FALSE TRUE.FALSE 
#Levels: FALSE.FALSE TRUE.FALSE FALSE.TRUE TRUE.TRUE
你可以做:

vec <- c("none","first","second","both")[interaction(lapply(dd,is.na))]
#[1] none   first  second both   none   first

table(vec)
#vec
#  none  first second   both 
#     2      2      1      1 

vec@rawr这一个没有给出实际输出。我要伯爵。还有,当有更多的值时,行数太多。是的,仍在尝试。@rawr,我正在做审查服务,但看不出这个问题怎么只有小问题(我不同意审计)。它没有表现出提问者的努力。请开导我。@benjamin我不知道你在问我什么。我的编辑使示例数据具有可复制性,因此可以复制并使用下面答案中的代码。我同意没有付出任何努力shown@rawr,您的编辑很好。在一次审计中,我没有通过SO分类部分的测试,认为这个问题是可以补救的,而我没有。感谢您的反馈。当您有两列以上的栏目时,后一种方法将产生最容易消化的结果。@TheLate Mail非常感谢。。你让它看起来很简单!!
vec <- c("none","first","second","both")[interaction(lapply(dd,is.na))]
#[1] none   first  second both   none   first

table(vec)
#vec
#  none  first second   both 
#     2      2      1      1