获取data.table最后一列不起作用
问题描述:
我是R noob。所以我有一个名为a
的变量的data.table。我试图一般地获得最后一列。它适用于指定第6列时,但它不适用于ncol(a)
。这是为什么?获取data.table最后一列不起作用
class(a)
[1] "data.table" "data.frame"
a
permissions size month date timestamp file
1: drwxr-xr-x 8192 Oct 02 14:25 to_xpn
2: drwxr-xr-x 8192 Oct 04 10:38 from_xpn
ncol(a)
[1] 6
a[,6]
file
1: to_xpn
2: from_xpn
a[,ncol(a)]
[1] 6
答
你只需要with = FALSE
library(data.table)
iris.dt <- data.table(iris)
iris.dt[, ncol(iris.dt), with = FALSE]
# Species
# 1: setosa
# 2: setosa
# 3: setosa
# 4: setosa
# 5: setosa
# ---
# 146: virginica
# 147: virginica
# 148: virginica
# 149: virginica
# 150: virginica
参见['data.table' FAQ - 1.1(https://cran.r-project.org/web/packages/data.table/ vignettes/datatable-faq.html#j-num) – SymbolixAU
尝试'a [,ncol(a),with = FALSE]' –