Trying to learn R and am stuck on an autocorrelation example. I want to regress the difference in x against the difference in y. I have x and y in a data frame, and would like the difference of x2 - x1 to be saved in a new column say dx. I have no idea how to go about this.
what I have:
data1
x y
5 3
8 9
3 1
1 5
. .
. .
. .
what I would like to get:
data1.dif
x y dx dy
5 3 NA NA
8 9 3 6
3 1 -5 -8
1 5 -2 4
. . . .
. . . .
Use diff
with transform
:
dat <- read.table(text="x y
5 3
8 9
3 1
1 5", header=T)
transform(dat, dx=c(NA, diff(x)), dy=c(NA, diff(y)))
Yielding:
x y dx dy
1 5 3 NA NA
2 8 9 3 6
3 3 1 -5 -8
4 1 5 -2 4
And as og dplyr:
library(dplyr)
dat %>%
mutate(dx=c(NA, diff(x)), dy=c(NA, diff(y)))