У меня очень большой фрейм данных, который я хотел бы разделить на месяцы, основываясь на столбце даты типа %Y-%m%-%d
.Это выглядит так:
>head(df)
TID ItemID Date
1 89522728 17265 2017-12-29
2 89522728 13228 2017-12-29
3 89522712 20894 2017-12-29
4 89522712 31013 2017-12-29
5 89522704 11097 2017-12-29
6 89522704 27290 2017-12-29
Я пробовал пару вещей без решения (например, цикл и другие не очень элегантные способы), и теперь я прибегаю к следующей вещи, которая работает:
jan <- subset(df, format.Date(Date, "%m")=="01")
feb <- subset(df, format.Date(Date, "%m")=="02")
mar <- subset(df, format.Date(Date, "%m")=="03")
.
.
.
dec <- subset(df, format.Date(Date, "%m")=="12")
Однако, должно быть какое-то хорошее решение Elegang, где я могу быть свободным от написания одного и того же кода снова и снова?Например, c <- c("jan", "feb", ... "dec")
, а затем использовать его с d <- seq(1,12,by=1)
и объединить его с частью subset
?Я совершенно не прав, или есть аккуратный и элегантный способ сделать это?