在data.table中创建一个变量,变量保存在其他变量中[重复]

Posted

技术标签:

【中文标题】在data.table中创建一个变量,变量保存在其他变量中[重复]【英文标题】:Create a variable in data.table with variable saved in other variable [duplicate] 【发布时间】:2022-01-14 04:24:39 【问题描述】:

我有一个非常简单的问题。假设我有数据表:

dt = data.table(a = rnorm(10), b = rnrom(10))

我想在dt 中创建一个新变量,例如c = b * 2。但我想从存储在字符串中的其他变量中获取变量名bc。示例

newvar = "c"
var = "b"

我可以很容易地做到这一点,而无需使用这样的数据表:

setDF(dt)
dt[newvar] = dt[var] * 2

我想知道,如何在 data.table 包语法中做同样的事情?

【问题讨论】:

我不确定我是否理解你想要的,但这就是你要找的:library(data.table) dt = data.table(a = rnorm(10), b = rnorm(10)) dt$c 【参考方案1】:

我们可以使用get

dt[, (newvar) := get(var) * 2 ]

【讨论】:

以上是关于在data.table中创建一个变量,变量保存在其他变量中[重复]的主要内容,如果未能解决你的问题,请参考以下文章