Я хочу подсчитать количество столбцов для каждой строки по условию символа и отсутствию.
Например, у меня есть этот набор данных 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
Подсчитать количество столбцов по условию (›) для каждого строка
> 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
Однако он возвращает неправильные числа, и я не мог найти причины.
Не могли бы вы сообщить мне, как решить эту проблему?