【发布时间】:2020-05-04 13:43:39
【问题描述】:
我想合并两个具有不同时间戳的数据帧。数据来自具有不同频率的两个不同信号。数据框是这样的
df1 = data.frame(time = c(0.12, 0.21, 0.33, 0.42),
var1 = c(1, NA, 4, 6),
var2 = c(4, 3, NA, 2))
df2 = data.frame(time = c(0.04, 0.08, 0.1, 0.12),
var3 = c(2, 7, 5, 9))
如何合并这两个只有一个频率的数据帧?时间列应该看起来像
time = c(0.01, 0.02, 0.03, 0.04)
等等
如何重新采样我的数据,以便始终使用同一列的先前值?结果如下所示。
dfRes = data.frame(time = c(0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08,
0.09, 0.1, 0.11, 0.12, 0.13),
var1 = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
var2 = c(4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4),
var3 = c(2, 2, 2, 2, 2, 2, 2, 7, 7, 5, 5, 9, 9))
我认为 dfRes$var3 显示了这背后的想法。
我在后期的一些情节和机器学习算法中需要这个。 所以我不知道使用时间序列格式是否有意义。
提前致谢!
【问题讨论】:
-
“甚至将时间缩小到 100Hz (0.01)”是什么意思?你能解释一下吗?
-
首先,很抱歉改变了我的问题。我没有看到答案,所以我稍微改变了问题。为了更好地理解,我再次编辑;)
标签: r dataframe variables time-series resampling