【问题标题】:How to make a linear interpolation for different dates using the function "approx"?如何使用函数“约”对不同日期进行线性插值?
【发布时间】:2019-05-24 13:10:55
【问题描述】:

我有一个全年包含三个测量值的数据框,我想在这些日期之间进行插值,以便每两个月获取一次值。我使用了 approx 函数,但我不知道如何将值包含在 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”。

谢谢!

【问题讨论】:

  • 嗨!欢迎来到 Stackoverfow。您能否提供一个数据样本,以便您的示例可以重现?

标签: r linear-interpolation


【解决方案1】:

参数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')

然后你可以使用函数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")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-22
    • 1970-01-01
    • 2021-07-15
    • 2019-06-27
    • 2011-10-10
    • 1970-01-01
    相关资源
    最近更新 更多