r - data.table:将setkey与列名变量一起使用

标签 r data.table

我有一个变量名保存到字符串变量which_id中。

W是data.table。如何使用setkeyW上调用which_id

这就是我尝试过的

 > eval( paste( 'setkey(W,' , which_id , ')' ) )
[1] "setkey(W, customer_id_A )"


但是,调用tables()表示customer_id_A键没有用。

 > evalq( paste( 'setkey(W,' , which_id , ')' ) )
[1] "setkey(W, customer_id_A )"


customer_id_A键仍然没有。

 > setkeyv( W , cols=which_id )




 > setkeyv( W , cols=c( which_id ) )


->同样,customer_id_A键不存在。

有指针吗?

最佳答案

setkeyv应该可以。这是一个可重现的示例:

library(data.table)
W <- data.table(customer_id_A = 1:2)
which_id <- "customer_id_A"
setkeyv(W, which_id)
tables()
##      NAME NROW MB COLS          KEY          
## [1,] W       2 1  customer_id_A customer_id_A
## Total: 1MB

关于r - data.table:将setkey与列名变量一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16346966/

相关文章:

r - 在 data.table 中使用多个键来获得条件搜索

r - 根据日期计算数据表中的前几行

r - 按组将不同的功能应用于不同的列集

r - 如何让 fread 像 read.delim 一样执行

r - 为什么每次 R 升级时都必须手动创建目录 "~/R/%p-library/%v"?

r - 生成m个等距的数字,它们在R中的总和为1

r - 剂量 react - 使用 R 进行全局曲线拟合

javascript - R - 如何从下载的 HTML 代码中提取 JavaScript 对象中的值

R:带有自定义 x 轴范围的自定义中断的直方图

r - 选择列序列 : `:` works but not `seq`