我正在处理房屋数据集,我正在尝试按年和月计算平均房价。
以下是我尝试使用的代码行:
housing_data[,list(avg=mean(housing_data$price)), by = list(date(as.POSIXct(housing_data$date, format = "%Y-%m-%d")))]
然而,这是我的输出:
date avg
1: 2004-04-11 612622.2
2: 2005-07-17 612622.2
3: 2003-06-01 612622.2
4: 2004-01-18 612622.2
5: 2006-01-29 612622.2
---
159: 2004-03-07 612622.2
160: 2005-08-14 612622.2
161: 2006-03-12 612622.2
162: 2005-10-23 612622.2
163: 2006-04-16 612622.2
我不明白我是如何错误地计算平均值的。此外,如何从数据中删除天数并仅从年/月计算平均值。
答案 0 :(得分:0)
这个怎么样?
library(dplyr)
df %>%
group_by(month_year = format(date_col, "%Y-%m")) %>%
summarise(value_avg = mean(value))
输出为:
month_year value_avg
1 2018-05 14.5
2 2018-06 43.5
3 2018-07 59.5
示例数据:
df <- data.frame(date_col=seq.Date(as.Date("2018/5/4"), by="day", length.out = 60),
value = 1:60)