我想做这样的事情:
> colname <- "a"
> dt <- data.table(colname = c(1,2,3,4))
a
1: 1
2: 2
3: 3
4: 4
但是,我得到了这个:
> colname <- "a"
> dt <- data.table(colname = c(1,2,3,4))
colname
1: 1
2: 2
3: 3
4: 4
除了创建data.table
并随后分配名称之外,还有解决这个问题的好方法吗?
最佳答案
我们可以使用setnames
。 setnames
的优点是它可以通过在 old
和 new
中提供名称来命名所有列或列的子集论据
dt <- data.table(c(1,2,3,4))
setnames(dt, colname)
我们可以在创建对象本身时包装setnames
dt <- setnames(data.table(c(1,2,3,4)), colname)[]
dt
# a
#1: 1
#2: 2
#3: 3
#4: 4
关于r - 使用字符串中的列名初始化 R data.table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48800960/