Мы можем присвоить нескольким столбцам значение '0' на основе значения 'X'
X <- 3
nm1 <- names(dt)
dt[letters[seq_len(X)]] <- 0
dt[c(setdiff(names(dt), nm1), nm1)]
Кроме того, мы можем использовать add_column
из tibble
и создавать столбцы по заданным параметрам. c местоположение
library(tibble)
add_column(dt, .before = 1, !!!setNames(as.list(rep(0, X)),
letters[seq_len(X)]))