I have a variable name saved into the string variable which_id
.
W
is a data.table. How do I call setkey
on W
with which_id
?
This is what I've tried
> eval( paste( 'setkey(W,' , which_id , ')' ) )
[1] "setkey(W, customer_id_A )"
But a call to tables()
shows that the customer_id_A
key didn't take.
> evalq( paste( 'setkey(W,' , which_id , ')' ) )
[1] "setkey(W, customer_id_A )"
customer_id_A
key still didn't take.
> setkeyv( W , cols=which_id )
and
> setkeyv( W , cols=c( which_id ) )
--> same thing, customer_id_A
key isn't there.
Any pointers?
Description. setkey sorts a data. table and marks it as sorted with an attribute sorted . The sorted columns are the key.
setkey() sorts a data. table and marks it as sorted (with an attribute sorted ). The sorted columns are the key. The key can be any columns in any order.
setkeyv
should work. Here is a reproducible example:
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With