我想用另一个现有data.table中的列名在R中创建一个空的data.table。不知何故,我找不到解决方案。
我想做这样的事情:
require(data.table)
dt1 <- data.table(fn = c("A","B","C"), x = c(1,2,3), y = c(2,3,4), a = 1, b = 2, c = 3)
dt2 <- data.table(names=colnames(dt1)) # Gives 6 rows instead of 6 cols如何才能做到这一点?
谢谢!
发布于 2020-02-18 21:34:21
一种选择可能是:
dt2 <- setnames(data.table(matrix(nrow = 0, ncol = length(dt1))), names(dt1))
Empty data.table (0 rows and 6 cols): fn,x,y,a,b,c发布于 2020-02-18 21:58:28
您也可以将旧的dt1清除并保留为dt2
dt2 <- dt1[0,]
dt2
Empty data.table (0 rows and 6 cols): fn,x,y,a,b,c这并不完全是你想要的,但它总是有一些解决方案。
https://stackoverflow.com/questions/60281969
复制相似问题