如何解决使用 get() 函数合并数据集
我想使用 get 函数来合并两个 data.tables 来调用一个特定的变量名,但它不起作用:
x = data.table("class" = c(1,2,3,4,5),"series" = c("a","aaa","cc","a","a"))
y = data.table("class2" = c(1,5,"range" = c(11,11,13,8))
var = "class"
x[y,on = .(get(var) = class2),range := i.range]
我收到以下错误:
错误:“x[y,on = .(get(var) ="
谁能帮帮我?谢谢
解决方法
使用 setNames
可以更轻松地创建命名向量,其中名称将是 x 数据中的列名
x[y,range := i.range,on = setNames('class2',var)]
-输出
x
# class series range
#1: 1 a 11
#2: 2 aaa 11
#3: 3 cc 4
#4: 4 a 13
#5: 4 aaa 13
#6: 5 a 8
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。