My data has an ID col, years cols (1:6). The second col 'Shift' contains values which indicate the the number of NAs to be inserted into every row before col 'yr1'. I am looking for a code which can do the task. My data;
structure(list(ID = c("A", "B", "C", "D", "F", "G", "H", "I",
"J", "K"), Shift = c("0", "1", "2", "7", "3", "10", "4", "2",
"5", "11"), yr1 = c("38", "37", "47", "53", "39", "39", "37",
"43", "49", "45"), yr2 = c("38", "0", "47", "0", "0", "0", "0",
"0", "0", NA), yr3 = c("0", "0", "0", "52", "0", NA, "0", "44",
"0", NA), yr2.1 = c("39", "0", "46", "51", "0", NA, "0", "0",
"51", NA), yr5 = c(NA, "0", "46", "0", "0", NA, "0", "45", "53",
NA), yr6 = c("41", "0", "0", NA, "0", NA, "0", "47", "0", NA)), class = "data.frame", row.names = c(NA,
-10L))
My intended output,
structure(list(ID = c("A", "B", "C", "D", "F", "G", "H", "I",
"J", "K"), Shift = c("0", "1", "2", "7", "3", "10", "4", "2",
"5", "6"), yr1 = c("38", NA, NA, NA, NA, NA, NA, NA, NA, NA),
yr2 = c("38", "37", NA, NA, NA, NA, NA, NA, NA, NA), yr3 = c("0",
"0", "47", NA, NA, NA, NA, "43", NA, NA), yr2.1 = c("39",
"0", "47", NA, "39", NA, NA, "0", NA, NA), yr5 = c(NA, "0",
"0", NA, "0", NA, "37", "44", NA, NA), yr6 = c("41", "0",
"46", NA, "0", NA, "0", "0", "49", NA), X = c(NA, 0L, 46L,
NA, 0L, NA, 0L, 45L, 0L, 45L), X.1 = c(NA, NA, 0L, 53L, 0L,
NA, 0L, 47L, 0L, NA), X.2 = c(NA, NA, NA, 0L, 0L, NA, 0L,
NA, 51L, NA), X.3 = c(NA, NA, NA, 52L, NA, NA, 0L, NA, 53L,
NA), X.4 = c(NA, NA, NA, 51L, NA, 39L, NA, NA, 0L, NA), X.5 = c(NA,
NA, NA, 0L, NA, 0L, NA, NA, NA, NA), X.6 = c(NA, NA, NA,
NA, NA, NA, NA, NA, NA, NA), X.7 = c(NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA), X.8 = c(NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA), X.9 = c(NA, NA, NA, NA, NA, NA, NA, NA, NA,
NA)), class = "data.frame", row.names = c(NA, -10L))