Я пытаюсь заменить код VBA на код R. В настоящее время в VBA я использую Sumif в диапазоне, чтобы найти общее значение идентификатора в зависимости от некоторых дат. В R я использую mutate резюмировать, но всегда есть ошибка. Я не знаю, как это исправить.
Если я хочу найти значение для ID = 1, которое получило какое-то значение в течение 2 дней:
#sys.Date() = 2016-01-06
df
DATES ID VALUE
2016/01/01 1 10
2016/01/02 2 15
2016/01/05 1 13
the result must be:
ID Value
1 13
В настоящее время код:
df%>%
group_by(ID) %>%
mutate(Total_op = if (Sys.Date()-as.Date(Dates,format="%YYYY-%mm-
%dd")>=1) Value else 0)))%>%
summarize(SumTotal = sum(Total_op))%>%
collect
Но показанная ошибка:
Ошибка: столбец sumTotal должен иметь длину X (размер группы) или единицу, а не Y