使用 int 数组值作为数据索引提取列

Extract columns using int array values as index from a data

我正在尝试从名为 diabetes_test 的数据框中获取列,该数据框有 8 列。

model=c(6,7,8)

diabetes_test[, as.vector(model)] 给出的输出为 6 7 8,而 diabetes_test[, c(6,7,8)] 给出的输出如下。

这是我想要的期望输出,但尽管将模型转换为矢量但无法输出。 diabetes_test[, c(model)]diabetes_test[, unlist(model)] 也不起作用。

更令人困惑的是,当我想提取行而不是列时它可以工作,即 diabetes_test[model] 给我第 6、7 和 8 行,但 diabetes_test[,model] 没有给我第 6、7 和 8 列。

以下对我有用 diabetes_test[,model,with=FALSE]。阅读 https://cran.r-project.org/web/packages/data.table/vignettes/datatable-faq.html 和 data.table 包的帮助页面 ?data.table