作者:鲁毅-beyond_512 | 来源:互联网 | 2023-07-02 14:28
是否可以选择data.table的列并返回向量?在基数R中,参数drop=TRUE
可以解决问题。例如,
library(data.table)
dat <- as.data.table(iris)
dat[,"Species"] # returns data.table
dat[,"Species",drop=TRUE] # same
iris[,drop=TRUE] # a factor,wanted result
是否可以使用data.table
来做到这一点?
编辑:dat [,Species]方法很好,但是我需要一种可以在变量中传递列名的方法:
x <- "Species"
dat[,x,drop=TRUE]
使用data.frame
时,默认值为drop = TRUE
;在data.table
中,默认值是内部完成的相反。根据{{1}}
drop-数据表从未使用过。不使用。它必须在这里,因为data.table继承自data.frame。
为了获得相同的行为,我们可以使用?data.table
通过传递字符串来提取列
[[
或
identical(dat[["Species"]],iris[,"Species"])
#[1] TRUE
通过使用dat$Species
或[[
,它提取为$
,同时也绕开了vector
的开销
,
请参见data.table
FAQ #1.1。自2006年以来,这就是其中的一项功能。