如何使用函数“ approx”对不同的日期进行线性插值?

时间:2019-05-24 13:10:55

标签: r linear-interpolation

我有一个数据框架,其中包含一年中的三个测量值,我想在这些日期之间进行插值以获取每两个月的值。我使用了rox函数,但是我不知道如何在data.frame的正确位置包含这些值。谁能帮我吗?

我使用了以下脚本:

approx(fev17[bloco=1&trat==1],set17[bloco=1&trat==1], method="linear", rule=1, f=0, ties="ordered", yleft = 0, yright = 0, n=32)

我不理解函数“ approx”的参数“ xout”。

谢谢!

1 个答案:

答案 0 :(得分:0)

参数xout指定要在其上进行插值的x轴的网格。

这是一个示例,您可以如何做。假设您每4个月有以下数据:

   date <-seq(as.Date("2016/1/1"), as.Date("2019/1/1"), "4 months")
    values <- (rnorm(length(date)))
    df <- data.frame(date, values)
    x <- df$date
    y <- df$values
    plot(x,y, type='b')

enter image description here

然后,您可以使用函数approx,在其中定义xout,将其定义为与x相同时间段的每月时间轴:

df <- approx(x=x,y=y, xout=seq(as.Date("2016/1/1"), as.Date("2019/1/1"), "months"))
plot(df$x, df$y, type="b")

enter image description here