选择data.table的列并返回向量

2023-12-08

是否可以选择 data.table 的一列并返回向量?在基数 R 中,参数drop=TRUE就可以了。例如,

library(data.table)
dat <- as.data.table(iris)
dat[,"Species"] # returns data.table
dat[,"Species", drop=TRUE] # same
iris[, "Species", drop=TRUE] # a factor, wanted result

有没有办法做到这一点data.table?

编辑: dat[Species] 方法很好,但是我需要一个可以在变量中传递列名的方法:

x <- "Species"
dat[,x, drop=TRUE]

With data.frame,默认为drop = TRUE and in data.table,而在内部完成时则相反。根据?data.table

drop - data.table 从未使用过。不使用。它需要在这里,因为 data.table 继承自 data.frame。

为了获得相同的行为,我们可以使用[[通过传递字符串来提取列

identical(dat[["Species"]], iris[, "Species"])
#[1] TRUE

Or

dat$Species

通过使用[[ or $,它提取为vector同时也绕过data.table高架

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

选择data.table的列并返回向量 的相关文章

随机推荐