1

首先,我必须描述我的数据集。它有三列,其中数字 1 是国家,数字 2 是日期 (%Y-%m-%d),数字 3 是与每一行关联的值(平均酒店房间价格)。从 1990 年到 2019 年,它一直如此。它是这样工作的:

Country  Date        Value
France   2011-01-01  700

等等

我正在尝试将日期转换为年份,而不是正常的 %Y-%m-%d 格式,因此它将代替每个国家/地区每年(而不是每个月)的平均值求和。我该怎么做呢?

我考虑过每年总结每个国家/地区的价值,但这非常乏味并且需要很长时间(加上代码看起来很糟糕)。所以我想知道是否有更好的解决方案来解决我没有看到的这个问题。

到目前为止,这是手头的任务。我的数据集priceOnly显示了每个月的平均价格。我还将其归因于仅显示不等于 0 的值。

diffyear <- priceOnly %>%
group_by(Country, Date) %>%
summarize(averagePrice = mean(Value[which(Value!=0.0)]))
4

1 回答 1

0

您可以使用该lubridate包提取年份,然后进行相应的总结。像这样的东西:

diffyear <- priceOnly %>% 
  mutate(Year = year(Date)) %>% 
  filter(Value > 0) %>% 
  group_by(Country, Year) %>% 
  summarize(averagePrice = mean(Value, na.rm = TRUE))

通常,您应该始终为您的问题提供一个最小的可重现示例

于 2019-09-17T16:52:21.703 回答