Tôi có một data.table
mà tôi muốn lọc dựa trên một số tiêu chí bất bình đẳng:Lọc data.table sử dụng bất đẳng thức và tên cột biến
dt <- data.table(A=letters[1:3], B=2:4)
dt
# A B
# 1: a 2
# 2: b 3
# 3: c 4
dt[B>2]
# A B
# 1: b 3
# 2: c 4
Các công trình trên cũng như một giải pháp vector quét. Nhưng tôi không thể tìm ra cách kết hợp điều này với tên biến cho các cột:
mycol <- "B"
dt[mycol > 2]
# A B // Nothing has changed
# 1: a 2
# 2: b 3
# 3: c 4
Làm cách nào để giải quyết vấn đề này? Tôi biết tôi có thể sử dụng tìm kiếm nhị phân bằng cách đặt các khóa bằng cách sử dụng setkeyv(dt, mycol)
nhưng tôi không thể thấy cách thực hiện tìm kiếm nhị phân dựa trên một số tiêu chí bất bình đẳng.
không 'get (mycol)' hoạt động? –
@CarlWitthoft Có. Đó sẽ là chức năng tôi bị thiếu ... – MattLBeck
Bạn có thể tiếp tục và đăng câu trả lời đó nếu bạn muốn. –