DespeRate
DespeRate

Reputation: 55

Alter variable to lag by year

I have a data set I need to test for autocorrelation in a variable. To do this, I want to first lag it by one period, to test that autocorrelation. However, as the data is on US elections, the data is only available in two-year intervals, i.e. 1968, 1970, 1970, 1972, etc.

As far as I know, I'll need to somehow alter the year variable so that it can run annually in some way so that I can lag the variable of interest by one period/year.

I assume that dplyr() is helpful in some way, but I am not sure how.

Upvotes: 0

Views: 53

Answers (1)

C. Braun
C. Braun

Reputation: 5201

Yes, dplyr has a helpful lag function that works well in these cases. Since you didn't provide sample data or the specific test that you want to perform, here is a simple example showing an approach you might take:

> 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

Upvotes: 1

Related Questions