R 获取data.table的最后一列不工作

R 获取data.table的最后一列不工作,r,data.table,R,Data.table,我是个笨蛋。因此,我在一个名为a的变量中有一个data.table。我试着一般地得到最后一列。当我指定第6列时,它可以工作,但不适用于ncol(a)。为什么呢 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 0

我是个笨蛋。因此,我在一个名为
a
的变量中有一个data.table。我试着一般地得到最后一列。当我指定第6列时,它可以工作,但不适用于
ncol(a)
。为什么呢

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)

iris.dt您只需要
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)
iris.dt参见try
a[,ncol(a),with=FALSE]
参见try
a[,ncol(a),with=FALSE]