代码之家  ›  专栏  ›  技术社区  ›  DespeRate

将变量更改为按年滞后

  •  0
  • DespeRate  · 技术社区  · 7 年前

    我有一个数据集,我需要测试变量的自相关性。 要做到这一点,我想先将其滞后一个周期,以测试自相关性。 然而,由于数据是关于美国选举的,因此数据只能每隔两年提供,即1968年、1970年、1970年、1972年等。

    据我所知,我需要以某种方式改变年份变量,以便它可以以某种方式每年运行,以便我可以将利息变量滞后一个周期/年。

    我想 dplyr() 在某种程度上是有帮助的,但我不知道如何。

    1 回复  |  直到 7 年前
        1
  •  1
  •   C. Braun    7 年前

    dplyr 有一个有用的 lag 在这些情况下运行良好的函数。由于您没有提供示例数据或要执行的特定测试,因此下面是一个简单的示例,展示了您可能采取的方法:

    > df <- data.frame(year = seq(1968, 1978, 2), votes = sample(1000, 6))
    > df
      year votes
    1 1968   565
    2 1970   703
    3 1972   761
    4 1974   108
    5 1976   107
    6 1978   449
    > dplyr::mutate(df, vote_diff = votes - dplyr::lag(votes))
      year votes vote_diff
    1 1968   565        NA
    2 1970   703       138
    3 1972   761        58
    4 1974   108      -653
    5 1976   107        -1
    6 1978   449       342