Tôi có một tên biến được lưu vào biến chuỗi which_id
.data.table: sử dụng setkey với biến tên cột
W
là dữ liệu.table. Làm cách nào để gọi số setkey
trên W
với which_id
?
Đây là những gì tôi đã cố gắng
> eval(paste('setkey(W,' , which_id , ')'))
[1] "setkey(W, customer_id_A)"
Nhưng một cuộc gọi đến tables()
cho thấy rằng chìa khóa customer_id_A
đã không mất.
> evalq(paste('setkey(W,' , which_id , ')'))
[1] "setkey(W, customer_id_A)"
customer_id_A
phím vẫn không mất.
> setkeyv(W , cols=which_id)
và
> setkeyv(W , cols=c(which_id))
-> điều tương tự, customer_id_A
trọng không phải là ở đó.
Mọi con trỏ?
Tôi không nghĩ rằng công cụ 'eval' lạ mắt sẽ là cần thiết. Lần thử cuối cùng của bạn, với 'setkeyv' sẽ hoạt động, tôi nghĩ vậy. Dù sao, cách tôi thường làm evals là với 'eval (parse (text =" ... "))' trong khi bạn đang làm 'eval (" ... ")'. – Frank
Cuộc gọi 'parse' đã thực hiện mẹo, cảm ơn. Tôi đã tự hỏi nếu có một cách 'data.table-native'. – user2105469
'setkeyv (W, which_id)' hoạt động đối với tôi, bạn có thể muốn làm cho câu hỏi của bạn có thể lặp lại - đặt vào 'W' và' which_id' cụ thể – eddi