, поэтому у меня есть большой фрейм данных со столбцом даты и времени класса POSIXct и еще один столбец с данными о цене числового класса.столбец даты и времени имеет значения вида «1998-12-07 02:00:00 AEST», которые представляют собой получасовые наблюдения за 20 лет.Примерный набор данных может быть сгенерирован с помощью следующего кода (измените 100 на любое количество необходимых наблюдений):
data.frame(date.time = seq.POSIXt(as.POSIXct("1998-12-07 02:00:00 AEST"), as.POSIXct(Sys.Date()+1), by = "30 min")[1:100], price = rnorm(100))
Я хочу посмотреть на типичный год и типичную неделю.поэтому для типичного года у меня есть следующий код:
mean.year <- aggregate(df$price, by = list(format(df$date.time, "%m-%d %H:%M")), mean)
, кажется, он дает мне то, что я хочу:
Group.1 x
1 01-01 00:00 31.86200
2 01-01 00:30 34.20526
3 01-01 01:00 28.40105
4 01-01 01:30 26.01684
5 01-01 02:00 23.68895
6 01-01 02:30 23.70632
однако столбец "Group.1" имеет символ классаи я хотел бы, чтобы это было класса POSIXct.Как я могу это сделать?
для типичной недели у меня есть следующий код
mean.week <- aggregate(df$price, by = list(format(df$date.time, "%wday %H:%M")), mean)
вывод выглядит следующим образом
Group.1 x
1 0day 00:00 33.05613
2 0day 00:30 30.92815
3 0day 01:00 29.26245
4 0day 01:30 29.47959
5 0day 02:00 29.18380
6 0day 02:30 25.99400
снова, столбец «Группа».1 "имеет характер класса, и я хотел бы POSIXct.Кроме того, я хотел бы иметь день недели как «понедельник», «вторник» и т. д. вместо 0day.как бы я это сделал?