【发布时间】:2020-05-23 08:32:46
【问题描述】:
我想按字符和缺失的条件计算每行的列数。
例如,我有这个数据集,test。
我想创建num 列,计算缺失值或空值中“不”的列数。
a<-c("aa","bb","cc","dd","",NA)
b<-c("",NA,"aa","","","dd")
c<-c("aa","",NA,NA,"cc","dd")
d<-c("aa","bb","",NA,"cc","dd")
test<-data.frame(cbind(a,b,c,d))
a b c d
1 aa aa aa
2 bb <NA> bb
3 cc aa <NA>
4 dd <NA> <NA>
5 cc cc
6 <NA> dd dd dd
我想计算包含NA 和空值之类的列数
a b c d num
1 aa aa aa 3
2 bb <NA> bb 2
3 cc aa <NA> 2
4 dd <NA> <NA> 1
5 cc cc 2
6 <NA> dd dd dd 3
我在其他帖子中尝试了一些方法,例如rowSums
Count number of columns by a condition (>) for each row
> test$num<-rowSums(test!=c("",NA),na.rm=T)
> test
a b c d num
1 aa aa aa 3
2 bb <NA> bb 0
3 cc aa <NA> 2
4 dd <NA> <NA> 0
5 cc cc 2
6 <NA> dd dd dd 0
但是,它返回错误的数字,我找不到原因。
你能告诉我如何解决这个问题吗?
【问题讨论】:
标签: r count conditional-statements rowsum