通过 data.table 中的变量列名访问 - 错误:“无法更改“.SD”的锁定绑定值

电子信息管理系统

这与我之前关于data.tablefor 循环和函数的便利性的问题有关如何在函数和循环中使用 data.table?和相关帖子:Data.table 元编程
这个小代码显示了使用data.table完成的方便程度(例如与 比较dplyr)。

起初,我cannot change value of locked binding for '.SD'在使用get(strY).SD/.SDcols=colY下面时出错但是当我重新启动 R 会话时,一切正常。

dt <- data.table(ggplot2::diamonds)
nY <- 1;                       nX <- c(5:7)
strY <- names(dt)[nY];         strX <- names(dt)[nX];        

dt[,strY, with=F] # OK
dt[,nY, with=F] # OK

dt[,get(strY)] # OK NOW: 
#NO MORE: Error in assign(ii, SDenv$.SDall[[ii]], SDenv) : 
#   cannot change value of locked binding for '.SD'
dt[, .SD, .SDcols=strX] # OK NOW: 
#NO MORE Error in assign(ii, SDenv$.SDall[[ii]], SDenv) : 
#   cannot change value of locked binding for '.SD'
电子信息管理系统

通过重新启动 R 会话以某种方式解决了这个问题。- 所有线路都有效。这段代码已经成为我所有循环/函数需求的关键工作石。感谢审稿人!

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Data.Table:通过引用有条件地更新.SD中的值

来自分类Dev

data.table 语法通过 tstrsplit 根据其他表中的值设置列名和值

来自分类Dev

如何通过引用更改data.table中每个组中的最后一个值

来自分类Dev

无法通过函数中的变量更改对象的属性/值

来自分类Dev

Learning data.table-如何通过行号和列名更新值

来自分类Dev

在data.table R中的lapply(.SD,...)中保留列名

来自分类Dev

无法通过SD卡访问

来自分类Dev

通过列名称的字符向量对data.table进行排序

来自分类Dev

在data.table中,我无法使用列名选择行

来自分类Dev

通过引用data.table r中的列值来删除行

来自分类Dev

data.table通过表达式快速访问列

来自分类Dev

根据多列名称替换 data.table 中的值

来自分类Dev

R data.table通过变量last申请日期

来自分类Dev

如何使用data.table通过累积比较确定值

来自分类Dev

Vuetify:通过多个值搜索v-data-table?

来自分类Dev

是否可以以R中的变量形式在data.table中的列名上传递变量

来自分类Dev

以编程方式更改data.table列中的值

来自分类Dev

使用列表更改列data.table中的值

来自分类Dev

使用列表更改列data.table中的值

来自分类Dev

从通过.data()创建的jQuery对象访问值

来自分类Dev

如何通过警告对data.table中的组进行抽样

来自分类Dev

通过在data.table中引用来修改列表

来自分类Dev

通过R中的data.table自定义广播

来自分类Dev

通过组ID简单扩展data.table中的行

来自分类Dev

通过键拆分R中的data.table

来自分类Dev

使用 data.table 列中的参数通过引用更新

来自分类Dev

data.table通过两个变量计算总和并添加“空”组的观察值

来自分类Dev

data.table列名和变量定义

来自分类Dev

通过在data.table中按时间间隔进行逻辑子集定义变量

Related 相关文章

  1. 1

    Data.Table:通过引用有条件地更新.SD中的值

  2. 2

    data.table 语法通过 tstrsplit 根据其他表中的值设置列名和值

  3. 3

    如何通过引用更改data.table中每个组中的最后一个值

  4. 4

    无法通过函数中的变量更改对象的属性/值

  5. 5

    Learning data.table-如何通过行号和列名更新值

  6. 6

    在data.table R中的lapply(.SD,...)中保留列名

  7. 7

    无法通过SD卡访问

  8. 8

    通过列名称的字符向量对data.table进行排序

  9. 9

    在data.table中,我无法使用列名选择行

  10. 10

    通过引用data.table r中的列值来删除行

  11. 11

    data.table通过表达式快速访问列

  12. 12

    根据多列名称替换 data.table 中的值

  13. 13

    R data.table通过变量last申请日期

  14. 14

    如何使用data.table通过累积比较确定值

  15. 15

    Vuetify:通过多个值搜索v-data-table?

  16. 16

    是否可以以R中的变量形式在data.table中的列名上传递变量

  17. 17

    以编程方式更改data.table列中的值

  18. 18

    使用列表更改列data.table中的值

  19. 19

    使用列表更改列data.table中的值

  20. 20

    从通过.data()创建的jQuery对象访问值

  21. 21

    如何通过警告对data.table中的组进行抽样

  22. 22

    通过在data.table中引用来修改列表

  23. 23

    通过R中的data.table自定义广播

  24. 24

    通过组ID简单扩展data.table中的行

  25. 25

    通过键拆分R中的data.table

  26. 26

    使用 data.table 列中的参数通过引用更新

  27. 27

    data.table通过两个变量计算总和并添加“空”组的观察值

  28. 28

    data.table列名和变量定义

  29. 29

    通过在data.table中按时间间隔进行逻辑子集定义变量

热门标签

归档