我可以使用R approx()函数返回一个不同的值,然后插入什么?

时间:2013-06-19 14:07:39

标签: r function approximation interpolation

所以基本上我有一个大型数据框到两列,一列和一列大小。然后我有另一个只有一个时间列的数据框。我想将数据帧中的时间插入到另一个数据帧中,然后我想返回与刚刚插入的时间相对应的大小。

示例:

表1:

Time
2
4

表2:

Time   Size
1      40
3      50
5      30

我基本上想要在表2中的“1”和“3”之间插入表1中的“2”,并返回大小“40”和“50”

如何使用近似函数执行此操作?

1 个答案:

答案 0 :(得分:2)

试试这个:

> Table1 <- data.frame(Time = c(2, 4))
> Table2 <- data.frame(Time = c(1, 3, 5), size = c(40, 50, 30))
> approx(Table2$Time, Table2$size, xout = Table1$Time, method = "constant")
$x
[1] 2 4

$y
[1] 40 50

溶液。这也可以使用动物园包完成,如下所示:

> library(zoo)
> z2 <- read.zoo(Table2, FUN = identity)
> na.approx(z2, xout = Table1$Time, method = "constant")
 2  4 
40 50 

将来请在R中写出您的输入数据,这样就可以像上面那样将其复制并粘贴到正在运行的R会话中。