如何计算R中每一组和每一列的空白单元格

时间:2018-10-24 22:10:42

标签: r

我有一个类似的数据集:

Company   var1   var2   var3   var4
A           1             3      3
B           3     5       2      1
A           7     6              7
A                 1       0      2
B
C           3     4       2      4
F           4             1      5
C           7     7       7      7

最终我想生成一个表,告诉我每个公司的每个变量中有多少空白单元格。 理想的输出为:

Company   var1   var2  var3  var4
A          1      1     1     0
B          1      1     1     1
C          0      0     0     0
F          1      0     1     1

1 个答案:

答案 0 :(得分:0)

如果您以标准格式提供数据,将会更加容易。这是基本的R解决方案。

df=read.table(text="Company var1 var2 var3 var4 
A 1 NA 3 3 
B 3 5 2 1 
A 7 6 NA 7 
A NA 1 0 2 
B NA NA NA NA
C 3 4 2 4 
F 4 NA 1 5 
C 7 7 7 7",header=T)

> t(sapply(split(df[,-1], df$Company), function(x)colSums(is.na(x))))
  var1 var2 var3 var4
A    1    1    1    0
B    1    1    1    1
C    0    0    0    0
F    0    1    0    0

一种dplyr解决方案:

library(dplyr)
df %>% group_by(Company) %>% summarise_at(2:5, funs(sum(is.na(.))))