Вы можете просто найти разницу, свести ее на нет и заменить все отрицательные значения (показывая увеличение данных) на 0
#convert to numeric first
dd[] <-lapply(dd, function(i)as.numeric(as.character(i)))
replace(-diff(dd$x), -diff(dd$x) < 0 , 0)
#[1] 0 0 0 0 3 0 4 0
Если у вас есть NA, то один из способов справиться с ними - сделать их равнымик предыдущему значению, т.е.
x <- c(5, NA, 2) #Notice how I DON'T put them in quotes so it's numeric
x1 <- replace(x, is.na(x), x[which(is.na(x)) - 1])
#Using the same method as above on the new x1,
c(0, replace(-diff(x1), - diff(x1) < 0, 0))
#[1] 0 0 3