Các mã sau đây không làm việc nhưng tôi không thể tìm thấy bất kỳ tài liệu về ".." (dot dot) điều hành trong data.table
giúp đỡ và họa tiết:Tại sao ".." làm việc để chuyển tên cột trong một biến vector ký tự?
library(data.table)
cols <- c("mpg", "gear")
DT <- as.data.table(mtcars)
DT[, ..cols]
Đầu ra là:
mpg gear
1: 21.0 4
2: 21.0 4
3: 22.8 4
4: 21.4 3
5: 18.7 3
...
Tại sao điều này có hiệu quả không, liệu có tài liệu nào về điều đó không?
PS: Bình thường, tôi sẽ sử dụng mget
vv ...
Sửa 1: Đây không phải là một tính năng R đồng bằng trong những cái tên reserved ...
, ..1
, ..2
vv, được sử dụng để tham khảo luận được chuyển xuống từ một chức năng gọi điện (xem ?Reserved
). Ví dụ của tôi không sử dụng số, nhưng ký tự sau hai dấu chấm.
Chỉnh sửa 2: Đây không phải là trùng lặp, như ví dụ của Rich Scriven cho thấy:
> mtcars[, ..cols]
Error in `[.data.frame`(mtcars, , ..cols) : object '..cols' not found
Nó không phải data.table, nó chỉ là R: https://stackoverflow.com/questions/19997231/two-dots-in-r –
@RichScriven Tôi đã đọc như vậy và nếu bạn đào sâu vào với nó nói rằng nó tương đương với 'DT [, .SD, .SDcols = cols]' – Masoud