使用对 R 中列名的变量引用提取数据子集

我想执行以下操作:
如果说我正在处理iris属于类数据data.frame并且我将列名存储到变量中,col <- "Species"并且我想提取以下子集:

iris[iris$Petal.Width == 0.2, c("Sepal.Width", "Petal.Width", col)]

该代码工作并按预期返回一个表。但是,如果我将数据转换为 adata.table并运行同一行代码,我将只返回列名而不是子集。像这样:

iris[iris$Petal.Width == 0.2, c("Sepal.Width", "Petal.Width", col)]
[1] "Sepal.Width" "Petal.Width" "Species"  

我将如何更改符号以从 a 获得相同的结果data.table

莫里茨·埃弗斯

我仍然认为这有点类似于问题“选择/分配给 data.table 变量,这些变量名称存储在字符向量中”,但在我寻找更合适的时候,让我们解决这个问题。

您可以使用 with = F

col <- "Species"
as.data.table(iris)[Petal.Width == 0.2, c("Sepal.Width", "Petal.Width", col), with = F]
#Sepal.Width Petal.Width Species
#1:         3.5         0.2  setosa
#2:         3.0         0.2  setosa
#3:         3.2         0.2  setosa
#4:         3.1         0.2  setosa
#5:         3.6         0.2  setosa
#6:         3.4         0.2  setosa
#...

这与

as.data.table(iris)[Petal.Width == 0.2, .SD, .SDcols = c("Sepal.Width", "Petal.Width", col)]

?data.table文档

with:默认情况下 'with=TRUE' 和 'j' 在 'x' 的框架内计算;列名可以用作变量。

当 'with=FALSE' 'j' 是列名称的字符向量、要选择的列位置的数字向量或格式为 'startcol:endcol' 时,返回的值始终是 'data.table'。'with=FALSE' 通常在 'data.table' 中用于动态选择列。请注意,“x[, cols, with=FALSE]”等价于“x[, .SD, .SDcols=cols]”。

[大胆的强调是我的]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在R中的ggplot中使用相同的列名称对数据帧进行子集和绘图

来自分类Dev

使用 lapply 提取 R 中的列名

来自分类Dev

在 R 中,使用模式将字符对象转换为列表或数据框以提取列名和值

来自分类Dev

在 dplyr 和 R 统计信息中汇总数据的变量:使用“.data”代词引用存储为字符串的列名:

来自分类Dev

使用多个变量在R Shiny中子集数据

来自分类Dev

使用频率提取R中的变量

来自分类Dev

R:使用与变量中的行名相对应的列名创建数据框

来自分类Dev

使用R中的ggplot2从融化的数据框中引用x轴变量以进行绘图

来自分类Dev

如何使用 r 中的列变量实例引用数据框中的特定行?

来自分类Dev

如何使用数据子集在R中制作散点图矩阵

来自分类Dev

如何使用数据子集在R中制作散点图矩阵

来自分类Dev

使用R在XTS中修改子集数据范围的值

来自分类Dev

如何使用R中的向量选择数据帧的子集

来自分类Dev

使用列名称中的时间值重塑R中的数据

来自分类Dev

使用列名称中的时间值重塑R中的数据

来自分类Dev

使用变量在R中创建数据框

来自分类Dev

使用增量变量名称从R数据帧子集数据

来自分类Dev

使用R在宽数据的列名中插入点

来自分类Dev

使用R中的几组列名称融合数据

来自分类Dev

使用R从javascript提取数据

来自分类Dev

使用R或Python子集数据

来自分类Dev

使用Base R绘制数据子集

来自分类Dev

使用Base R绘制数据子集

来自分类Dev

使用Base R绘制数据子集

来自分类Dev

R dplyr:当...将在数据中引用变量名称时,如何将...与summary(across())结合使用?

来自分类Dev

如何使用R中的httr包从Localytics提取数据?

来自分类Dev

使用R将数据提取到新列中

来自分类Dev

使用R将数据提取到新列中

来自分类Dev

基于变量对R中的数据帧进行子集/合并

Related 相关文章

  1. 1

    在R中的ggplot中使用相同的列名称对数据帧进行子集和绘图

  2. 2

    使用 lapply 提取 R 中的列名

  3. 3

    在 R 中,使用模式将字符对象转换为列表或数据框以提取列名和值

  4. 4

    在 dplyr 和 R 统计信息中汇总数据的变量:使用“.data”代词引用存储为字符串的列名:

  5. 5

    使用多个变量在R Shiny中子集数据

  6. 6

    使用频率提取R中的变量

  7. 7

    R:使用与变量中的行名相对应的列名创建数据框

  8. 8

    使用R中的ggplot2从融化的数据框中引用x轴变量以进行绘图

  9. 9

    如何使用 r 中的列变量实例引用数据框中的特定行?

  10. 10

    如何使用数据子集在R中制作散点图矩阵

  11. 11

    如何使用数据子集在R中制作散点图矩阵

  12. 12

    使用R在XTS中修改子集数据范围的值

  13. 13

    如何使用R中的向量选择数据帧的子集

  14. 14

    使用列名称中的时间值重塑R中的数据

  15. 15

    使用列名称中的时间值重塑R中的数据

  16. 16

    使用变量在R中创建数据框

  17. 17

    使用增量变量名称从R数据帧子集数据

  18. 18

    使用R在宽数据的列名中插入点

  19. 19

    使用R中的几组列名称融合数据

  20. 20

    使用R从javascript提取数据

  21. 21

    使用R或Python子集数据

  22. 22

    使用Base R绘制数据子集

  23. 23

    使用Base R绘制数据子集

  24. 24

    使用Base R绘制数据子集

  25. 25

    R dplyr:当...将在数据中引用变量名称时,如何将...与summary(across())结合使用?

  26. 26

    如何使用R中的httr包从Localytics提取数据?

  27. 27

    使用R将数据提取到新列中

  28. 28

    使用R将数据提取到新列中

  29. 29

    基于变量对R中的数据帧进行子集/合并

热门标签

归档