gpt4 book ai didi

r - 如何使用某些列名的字符向量选择 data.table 中的列?

转载 作者:行者123 更新时间:2023-12-03 09:19:29 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Select subset of columns in data.table R [duplicate]

(7 个回答)



Selecting a subset of columns in a data.table

(4 个回答)


3年前关闭。




我试图在 data.table 中选择那些名称出现在我的字符向量中的列。该操作适用于纯 data.frame,但不适用于 data.table。这是一个可重现的示例。

> names(mtcars)
[1] "mpg" "cyl" "disp" "hp" "drat" "wt" "qsec" "vs" "am" "gear"
[11] "carb"
> myVector <- c('disp', 'hp', 'wt')
> head(mtcars[, myVector])
disp hp wt
Mazda RX4 160 110 2.620
Mazda RX4 Wag 160 110 2.875
Datsun 710 108 93 2.320
Hornet 4 Drive 258 110 3.215
Hornet Sportabout 360 175 3.440
Valiant 225 105 3.460

我刚刚制作了一个包含 disp 的矢量, hp , 和 wt我使用该向量在 data.frame 中选择了相应的列。现在让我们从我的 data.frame 中创建一个 data.table 对象并尝试执行相同的操作。
> library(data.table)
> mtcarsDT <- data.table(mtcars)
> mtcarsDT[, myVector]
[1] "disp" "hp" "wt"

最佳答案

我们可以使用 ..查找符号 myVector作为列位置的向量,就像它在 data.frame 中工作一样

mtcarsDT[, ..myVector]

根据 ?data.table

In case of overlapping variables names inside dataset and in parent scope you can use double dot prefix ..cols to explicitly refer to 'cols variable parent scope and not from your dataset.

关于r - 如何使用某些列名的字符向量选择 data.table 中的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32184252/

25 4 0