I have the following dataset:
library(dplyr)
dat <- tibble(
  IDnumber = rep(c("IT974", "IT920", "IT901"), c(2,2,3)), 
  Sales = c(16565,16895,2842,2069,1563,1247,1115), 
  Leverage = c(1.25,1.29,1.36,1.22,1.21,1.13,1.13)
)
What I would do is lagging variables one year further, only when my IDnumber is the same as the year before, otherwise I would show the value 0.
I used this code but it doesn't work:
library(Hmisc)
for(i in c(length(IDnumber))) {
  if (IDnumber[i] == IDnumber[i-1])
    Lag_Leverage <- Lag(Leverage)
  if (IDnumber[i] != IDnumber[i-1])
    Lag_Leverage <- 0
}
 
    