在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
。但我想从存储在字符串中的其他变量中获取变量名b
和c
。示例
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中创建一个变量,变量保存在其他变量中[重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用聚合操作时如何避免在 data.table 中创建重复项