Trong ví dụ sauLàm thế nào để ngăn chặn hợp nhất từ cột sắp xếp lại
x <- data.frame(code = 7:9, food = c('banana', 'apple', 'popcorn'))
y <- data.frame(food = c('banana', 'apple', 'popcorn'),
isfruit = c('fruit', 'fruit', 'not fruit'))
Tôi muốn làm x <- merge(x, y)
, nhưng vấn đề là merge()
sắp xếp lại các cột để cột by
(thức ăn) đến trước. Làm cách nào để ngăn chặn điều này và có merge(x, y)
sử dụng cùng thứ tự cột của x và chỉ chèn biến mới (isFruit) làm cột thứ ba (tức là "mã, thực phẩm, isFruit" thay vì "food, code, isFruit")?
Tôi đã cố gắng này, không có kết quả:
merge(x, y, sort = F)
workaround của tôi là để làm điều này sau đó
x <- x[c(2, 1, 3)]
Tôi nghĩ công việc của bạn xung quanh là giải pháp. – joran
... mặc dù có vẻ như 'join' trong gói plyr không sắp xếp lại các cột. – joran