There is the table to transform into long form from wide form. It contains +200 columns compose with multi columns like below :
Original data :
# dt
dt <- data.table("1" = c(NA,"Place","dan","uan","yan"),
"2" = c(NA,"Place_2","adan","duan","eyan"),
"3" = c("something","Male",1253,6643,4325),
"4" = c(1998,"Female",624,623,55),
"5" = c(NA,"Trans",13,51,51),
"6" = c("something2","Male",126,63643,725),
"7" = c(1999,"Female",284,243,557),
"8" = c(NA,"Trans",138,541,11))
Start from the 3rd column , every +3 column is the year value
dt[1,c(3:ncol(dt) %% 3 == 1),with = FALSE]
How to effectively transform the multi columns into single column for melt ?
Goal:
Place Place_2 Sex Year num
dan adan Male 1998 1253
dan adan Female 1998 624
dan adan Trans 1998 13
dan adan Male 1999 126
dan adan Female 1999 63643
dan adan Trans 1999 725
uan duan Female 1998 6643
....