我有两个包含时间序列的数据帧(时间编码为数字,而不是时间对象;时间未排序)。我想将一个数据框中的响应变量标准化为另一个数据框中的响应变量。问题在于两个数据帧中的时间点并不完全相同。所以,我需要通过两个时间列的近似匹配来合并两个数据帧。按近似列值合并数据帧
的数据是这样的:
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)不相互排斥,这可能会非常棘手。 –