【发布时间】:2018-05-04 07:35:59
【问题描述】:
我正在处理一个住房数据集,并试图按年和月计算平均房价。
这是我尝试使用的代码行:
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
我不明白我是如何错误地计算平均值的。另外,如何从数据中删除天数并仅从年/月计算平均值。
【问题讨论】:
-
您可以将数据转换为
xts对象,然后使用apply.monthly(yourxtsobject, colMeans) -
您的数据集看起来像一个 data.table。那么也许
housing_data[,list(avg=mean(price)), by=format(date, "%Y%m")]