r - 使用 get() 函数合并数据集
问题描述
我想使用 get 函数合并两个 data.tables 来调用特定的变量名,但它不起作用:
x = data.table("class" = c(1,2,3,4,4,5), "series" = c("a", "aaa", "cc", "a", "aaa", "a"))
y = data.table("class2" = c(1,2,3,4,5,5), "range" = c(11, 11, 4, 13, 5, 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
推荐阅读
- javascript - Javascript通过对象搜索电话数据并显示在表格中
- php - 从 localhost 调用 Google API
- javascript - 标签之间的 CSS 样式空间
- php - 在 Windows 7 上安装 PEAR
- angular - 如何为动态添加的新输入行设置 ngModel 角度 4+(mat-table)
- ansible - Ansible 拆分返回多个索引
- excel - 单击事件不适用于以编程方式/动态创建的选项按钮
- android - 只选择一个复选框;回收站视图;科特林
- flutter - 颤振医生 - 系统找不到指定的路径[不是重复的]
- python - 有什么方法可以在不写入本地磁盘的情况下将 xlsxwriter 生成的文件发送到 azure 数据湖?