How to create lag variables

后端 未结 4 2204
半阙折子戏
半阙折子戏 2020-12-15 11:41

I want to create lagged variable for a variable pm10 and used the following code. However, I could not get what I wanted. How could I create a lag of pm10?

d         


        
4条回答
  •  孤街浪徒
    2020-12-15 12:33

    I know the question is been accepted but months ago I faced the same problem (in this question) and I wanted to create an homemade lag function. Here is the code:

     df2$lagpm10 <- c(NA, df2$pm10[seq_along(df2$pm10) -1])
    
     df2
       var1     pm10   l1pm10  lagpm10
    1     1 26.95607 26.95607       NA
    2     2       NA       NA 26.95607
    3     3 32.83869 32.83869       NA
    4     4 39.95607 39.95607 32.83869
    5     5       NA       NA 39.95607
    6     6 40.95607 40.95607       NA
    7     7 33.95607 33.95607 40.95607
    8     8 28.95607 28.95607 33.95607
    9     9 32.34877 32.34877 28.95607
    10   10       NA       NA 32.34877
    

    Benchmarks

    where Rhertel1 and Rhertel2 are the two lines of code of Rhertel and Sabdem is mine.

    Unit: microseconds
         expr     min      lq      mean   median       uq       max neval
     Rhertel1 250.523 257.740 272.07275 260.3355 264.0945  3540.187 10000
     Rhertel2 246.641 253.887 271.77003 256.5380 260.4935 14637.791 10000
       Sabdem  57.762  60.521  65.85315  61.3765  62.6050 12275.979 10000
    

提交回复
热议问题