【发布时间】:2012-10-07 00:00:41
【问题描述】:
我有两个包含时间序列的数据帧(时间编码为数字,而不是时间对象;时间未排序)。我想将一个数据帧中的响应变量标准化为另一个数据帧中的响应变量。问题是两个数据帧中的时间点并不完全相同。所以,我需要通过两个时间列的近似匹配来合并两个数据帧。
数据如下:
df1 <- structure(list(t1 = c(3, 1, 2, 4), y1 = c(9, 1, 4, 16)), .Names = c("t1", "y1"), row.names = c(NA, -4L), class = "data.frame")
df2 <- structure(list(t2 = c(0.9, 4.1), y2 = structure(1:2, .Label = c("a", "b"), class = "factor")), .Names = c("t2", "y2"), row.names = c(NA, -2L), class = "data.frame")
结果应该是这样的:
t1 y1 y2
1 1 a
4 16 b
似乎approx 或approxfun 会很有用,但我不太明白该怎么做。
【问题讨论】:
-
这可能适用于您的示例,但不适用于您的问题 - 但您始终可以在合并之前
round()两者。但是,如果您的测量值 (a,b) 不是相互排斥的,这可能会变得非常棘手。
标签: r