У меня есть следующие модифицированные mtcars: mtcars2 <- mtcars ; mtcars2[1,2] <- mtcars2[1,2] <- NA ; mtcars2 <- mtcars2[,c("vs","cyl", "disp")]
Я хочу применить group_by "vs", суммируя первый столбец без NA и применив длину ко второму столбцу mtcars2.
Я пробую это:
mtcars3 <- mtcars2 %>% group_by(vs) %>% summarise_at(vars(names(mtcars2[-1])), list( Total = sum, n = length), na.rm=T)
он говорит, что параметр na.rm также применяется к длине, что вызывает проблему.
результат, который я хочу, будет примерно таким:
mtcars3 <- mtcars3 <- mtcars2 %>% group_by(vs) %>%
summarise_at(vars(names(mtcars2[-1])), list( Total = sum, n = length))
mtcars3 [1,2] <- sum(mtcars2$cyl, na.rm = T)
res <- mtcars3 %>% mutate(n = cyl_n)%>% select(-disp_n, -cyl_n)
res
есть идея?
Спасибо!