【问题标题】:R - Merging data of different frequenciesR - 合并不同频率的数据
【发布时间】:2015-10-09 17:54:04
【问题描述】:

我有两个要合并的数据框。一种是缺少天数的每日数据(但每个月至少有一次观察)。另一个是月度数据(没有缺失月份)。它们都跨越相同的时间范围。

我想按月合并数据(即日数据的月年与月数据的月年对应),保持较高的频率。

df1 = daily data (unequal frequency ... i.e. missing days)
df2 = monthly data (equal frequency)

merge(df1, df2) ???

df1.date df1.x df2.y
1/1/2005 5.5 10
1/2/2005 5.9 10
1/5/2005 6.5 10
...
11/2/2005 2.5 12
11/4/2005 3.9 12
11/6/2005 1.3 12
...

在 R 中有没有办法做到这一点? (我一直在与 zoo 和 ts 斗争,但没有发现任何接近的东西......因此这篇文章)。

【问题讨论】:

  • 给我们一些数据来处理。我建议将您的每日数据(假设您知道日期)转换为一年中的月份,这将提供两个数据集,其中月份应该很容易合并。
  • 可以提供两个数据集的样本。
  • 确保两个数据集都有monthyear 列,然后是merge

标签: r merge


【解决方案1】:

谢谢@user1945827 和@Gregor

我是在鼹鼠丘上造山。

正如你所建议的,我需要做的就是为两个数据集创建一个公共索引以进行合并:

lo$monthyear <- format(lo$ListingCreationDate, format='%B-%Y')
ue$monthyear <- format(ue$Month, format='%B-%Y')

lonew <- data.frame(merge(lo, ue, by="monthyear"))

我将其发布为答案,因为我确实花了几个小时使用不同的软件包来尝试完成一句话答案解决的事情。希望它对其他人有用。

【讨论】:

    猜你喜欢
    • 2020-10-13
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 1970-01-01
    • 2013-01-01
    相关资源
    最近更新 更多