Some data:
library(data.table)
dt <- data.table(a = c(1, 2), b = c(3,4))
dt
# a b
# 1: 1 3
# 2: 2 4
Assign column names to a variable:
cn <- colnames(dt)
cn
# [1] "a" "b"
Add a new column "c" by reference:
dt[ , c := 3]
The vector of original column names 'cn' is also updated and now includes the third variable "c":
cn
# [1] "a" "b" "c"
Are the colnames
linked by reference? Can someone can explain it?