我正在尝试生成类似价格指数的东西,但我正在努力做到这一点。我拥有的数据如下所示:
ID POSTED START END PRICE
851073112 2020-06-13 2020-04-23 2020-10-31 150000
851073743 2020-05-28 2020-04-23 2020-05-30 17651
851073743 2020-04-30 2020-02-17 2020-05-30 18623
851073813 2020-04-30 2019-12-17 2020-05-30 15730
851073874 2020-04-30 2020-04-23 2020-10-18 45355
851073900 2020-04-30 2019-10-29 2020-05-30 20156
851073900 2020-05-28 2020-04-23 2020-05-30 15624
851073973 2020-04-30 2019-10-29 2020-05-30 45322
...这些是当POSTED说的时候发布的房屋广告,START和END指的是网站算法将广告保持在线的日子。然而,如果有人改变了价格,它将显示为另一个观察结果(具有相同的ID),就像ID = 851073743一样。我想创建一个月度指数,以便为2020-05个月,它计算的平均价格不仅在该月张贴的广告,但那些仍然活跃的时候。
所以我有两个问题:首先,我如何计算一个月内所有活跃广告的平均价格?第二,我如何处理我“重复”ID的事实?例如,我希望在2020-04索引中使用PRICE = 18623,但在ID = 851073743的2020-05索引中使用PRICE = 17651。
发布于 2020-07-23 07:11:48
一种可能的解决方案是使用tidyverse包。
添加年/月索引
data_ym <- data %>%
mutate(MONTH_YR = format(as.Date(POSTED), "%Y-%m"))给定年份/月份的平均PRICE。
data_ym %>%
group_by(MONTH_YR) %>%
summarize(PRICE_AVE = mean(PRICE))特定ID内给定年/月的平均PRICE
data_ym %>%
group_by(MONTH_YR, ID) %>%
summarize(PRICE_AVE = mean(PRICE))https://stackoverflow.com/questions/63044101
复制相似问题