【问题标题】:R data.table syntax to create and select on the fly动态创建和选择的 R data.table 语法
【发布时间】:2020-11-09 17:38:27
【问题描述】:

我在 R 中有一个 data.table,我想即时修改其中一列(但不更改原始对象),然后通过引用选择有限数量的列。我管理的最佳方法如下,但后来我的列名发生了变化,有什么建议吗?

tmp <- data.table(a = 'X', b = 'Y', d = 1)
tmp[,.(d = d * - 1, .SD), .SDcols = colNames]

【问题讨论】:

  • j 参数中尝试c(list(d=d*-1), .SD)
  • 完美,成功了。
  • 您可以将其作为您自己问题的答案。
  • 如果您将其发布为答案而不是评论,我显然可以接受它作为答案。

标签: r data.table


【解决方案1】:

在 j 参数中尝试c(list(d=d*-1), .SD)

j 需要一个列表
.SD 是一个列表

因此,当像这样添加新列时,您只需将其放入列表中并与c 函数结合即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-01
    • 2018-01-11
    • 2013-05-12
    • 2018-04-16
    • 2016-08-28
    • 2016-12-21
    • 2016-10-11
    • 1970-01-01
    相关资源
    最近更新 更多