Складывать NA из-за группы в r (без функций apply, lapply, и т.д.)

Я пробую складывать NA из-за группы и создавать один data.frame у которого было группа и количество NAs.

Пример: следующего set:

Group Value
A        4
A        4
B        NA
B        4

Я нуждаюсь в том, чтобы получить:

Group #NA
A      0
B      1
0
задан 01.10.2016, 03:52
2 ответа

Уважаемые. Мне удалось решить проблему благодаря друзьям, я имею ее soluciГіn:

data<-data.frame(Group=c("A","A","B","B"),Value=c(4,4,NA,4))  

with(data,aggregate(Value,list(Group),function(x){sum(is.na(x))}))

 Group.1 x  
1       A 0  
2       B 1
1
ответ дан 24.11.2019, 13:15
  • 1
    Если это был soluci и # 243; n в твою проблему, обязанность и # 237; схвати помечать ее как принятая кликая в вњ … слева от ответа. – Mariano 14.10.2016, 08:31

Другое решение с dplyr:

library(dplyr)

data <- data.frame(Group=c("A","A","B","B"), 
                   Value=c(4,4,NA,4))

data %>%
  mutate(nas = ifelse(is.na(Value), 1, 0)) %>% 
  group_by(Group) %>% 
  summarize(sum(nas))
0
ответ дан 24.11.2019, 13:15