提取 data.table 中的列名称

extract column names in data.table

我有一个数据集:

N <- 10
dt <- data.table(jan = rnorm(N), feb=rnorm(N), mar =  rnorm(N), apr =  rnorm(N), may =  rnorm(N), jun =  rnorm(N), jul= rnorm(N), aug= rnorm(N),sep= rnorm(N), aug = rnorm(N), sep=  rnorm(N), oct= rnorm(N),nov= rnorm(N),dec= rnorm(N))

我想提取像 c("jan", "feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec")

这样的列名

因为我还有其他列没有在这里列出,所以colnames()在这里不起作用。谢谢!

您的示例无效。我假设您的数据框是这样创建的:

N <- 10
dt <- data.frame(jan = rnorm(N), feb=rnorm(N), mar =  rnorm(N), apr =  rnorm(N), may =  rnorm(N), jun =  rnorm(N), jul= rnorm(N), aug= rnorm(N),sep= rnorm(N), aug = rnorm(N), sep=  rnorm(N), oct= rnorm(N),nov= rnorm(N),dec= rnorm(N))

因此,为了按名称对特定列的数据框进行子集化,您只需要这样做:

dt2 <- dt[,c("jan", "feb", "mar")]