gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 03:05:38 25 4
gpt4 key购买 nike

是否可以选择 data.table 的列并取回向量?在 base 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]

最佳答案

data.frame中,默认是drop = TRUE,在data.table中,是相反的,是内部完成的.根据?data.table

drop - Never used by data.table. Do not use. It needs to be here because data.table inherits from data.frame.

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

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

或者

dat$Species

通过使用[[$,提取为vector 同时也绕过data.table开销

关于r - 选择 data.table 的列并返回向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59110580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com