Мои данные выглядят так:
library(tidyverse)
df <- tibble(
Type = c(rep("A", 2), rep("B", 2), rep("A", 2), rep("B", 2)),
Source = c(rep("X", 4), rep("Y", 4)),
ID = c(1001:1008),
January = c(11, 22, 10, 30, NA, NA, NA, NA),
February = c(10, 42, 15, 27, NA, NA, NA, NA)
)
(На самом деле столбцов за несколько лет гораздо больше, и некоторые из них не являются NA в строках Y. Но это подойдет для моего вопроса .)
Я хочу сделать манипуляции ...
newDF <- df %>%
group_by(Type, Source) %>%
summarize(theTotal = sum(January:February, na.rm = TRUE))
... но я получаю ошибку Error in January:February : NA/NaN argument
. Я знаю, почему я получаю эту ошибку: январь и февраль - это NA в некоторых строках. Я получил бы эту ошибку, даже если бы в феврале были числа в этих строках, пока январь все еще был NA.
Мои вопросы: 1) Почему na.rm = TRUE
недостаточно, чтобы этого не случилось? 2) Что я могу сделать со своим кодом, чтобы убедиться, что я получаю 0 для этих комбинаций A / B и Y?