Я работаю с набором данных в R, где основной интерес представляет дата. (Это связано с армейскими стычками, и дата стычки записывается). Я хотел проверить, было ли это более вероятным в данный сезон, или незадолго до праздника и т. д., поэтому я хочу иметь возможность видеть, сколько дат летом, зимой и т. д., но я как бы в потеря для того, как это сделать.
дата классификации в R
comment
Вы пробовали что-нибудь?
- person NicE   schedule 23.02.2015
comment
Две ценные ссылки: 1. Что вы пробовали?; 2. Quick-R
- person Barranka   schedule 23.02.2015
Ответы (1)
Общая рекомендация: используйте пакет lubridate
для преобразования строк в даты, если у вас возникли проблемы с этим. используйте cut()
для разделения дат на диапазоны, например:
someDates <- c( '1-1-2013',
'2-14-2013',
'3-5-2013',
'8-21-2013',
'9-15-2013',
'11-28-2013',
'12-22-2013')
cutpoints<- c('1-1-2013',# star of range 'winter'
'3-20-2013',# spring
'6-21-2013',# summer
'9-23-2013',# fall
'12-21-2013',# winter
'1-1-2014')# end of range
library(lubridate)
temp <- cut(mdy(someDates),
mdy(cutpoints),
labels=FALSE)
someSeasons <- c('winter',
'spring',
'summer',
'fall',
'winter')[temp]
Теперь используйте «someSeasons», чтобы сгруппировать данные по диапазонам дат с помощью вашего любимого статистического анализа. При выборе статистического анализа на ум приходит пуассоновская регрессия с поправкой на воздействие (т. е. продолжительность сезона), но это, вероятно, лучший вопрос для Cross Validated
Вы можете сделать вектор точек разреза с регулярными интервалами, например:
cutpoints<- c('3-20-2013',# spring
'6-21-2013',# summer
'9-23-2013',# fall
'12-21-2013')# winter
temp <- cut(mdy(someDates),
outer(mdy(cutpoints), years(1:5),`+`),
labels=F)
someSeasons <- c('spring',
'summer',
'fall',
'winter')[(temp-1)%% 4 + 1] #the index is just a little tricky...
person
Jthorpe
schedule
22.02.2015
как бы я это сделал, если бы у меня было несколько лет? сработает ли пропуск года или нет?
- person deeno; 22.02.2015
См. правки с регулярной последовательностью и см. `?lubridate' для построения регулярной последовательности дат.
- person Jthorpe; 22.02.2015
Благодарю вас! это действительно помогло.
- person deeno; 23.02.2015
Я задал вопрос о том, как назначить сезон на дату. Вы видели предлагаемые решения? stackoverflow.com/ вопросы/9500114/
- person Roman Luštrik; 23.02.2015