У меня есть следующая таблица:Как рассчитать Mean по дате сгруппированной в качестве фискального Quarters
Date Country Class Value
6/1/2010 USA A 45
6/1/2010 Canada A 23
6/1/2010 Brazil B 65
9/1/2010 USA B 47
9/1/2010 Canada A 98
9/1/2010 Brazil B 25
12/1/2010 USA B 14
12/1/2010 Canada A 79
12/1/2010 Brazil A 23
3/1/2011 USA A 84
3/1/2011 Canada B 77
3/1/2011 Brazil A 43
6/1/2011 USA A 45
6/1/2011 Canada A 23
6/1/2011 Brazil B 65
9/1/2011 USA B 47
9/1/2011 Canada A 98
9/1/2011 Brazil B 25
12/1/2011 USA B 14
12/1/2011 Canada A 79
12/1/2011 Brazil A 23
3/1/2012 USA A 84
3/1/2012 Canada B 77
3/1/2012 Brazil A 43
В колонке «Дата» года разделены на следующие месяцы - март, июнь, сентябрь и декабрь. Мне нужно сгруппировать месяцы с июня по март в качестве Финансового года и в каждый финансовый год рассчитать среднее значение столбца «Значение» по «Страна» и «Класс». Может ли кто-нибудь помочь мне сделать это?
Я пытаюсь сделать это с помощью data.table, но получаю сообщение об ошибке:
d=data[,list(Val=mean(Value,na.rm=T)),by=list(Country,Class,
Period.grp=cut(Period,list(6/1/2010,3/1/2011,6/1/2011,3/1/2012,
6/1/2012,3/1/2013,6/1/2013,3/1/2014)))]
Ошибка в cut.default (период, список (6/1/2010, 3/1/2011, 6/1/2011, 3/1/2012,: «х» должно быть числовым
Спасибо
Я уверен, что это было предложено и ответить, прежде чем ... что поиск вы сделали? –
Итак, январь-1-2010 должен быть в 2010 финансовом году или в 2009 финансовом году? –
Проблема с вашим подходом заключается в том, что для типа данных, который вы создаете, нет функции cut(). Это будут персонажи, если они не разобраны как разделение. Обратите внимание, что список (6/1/2010) возвращает десятичную дробь. Это не R Даты. Также в поле данных нет столбца «Период». –