Tôi đang cố gắng sắp xếp lại các hàng của một khung dữ liệu theo hai yếu tố. Đối với yếu tố đầu tiên tôi hài lòng với thứ tự mặc định. Đối với yếu tố thứ hai, tôi muốn áp đặt thứ tự tùy chỉnh của riêng mình cho các hàng. Dưới đây là một số dữ liệu giả:Đặt khung dữ liệu theo hai cột trong R
dat <- data.frame(apple=rep(LETTERS[1:10], 3),
orange=c(rep("agg", 10), rep("org", 10), rep("fut", 10)),
pear=rnorm(30, 10),
grape=rnorm(30, 10))
Tôi muốn đặt hàng "táo" một cách cụ thể:
appleOrdered <- c("E", "D", "J", "A", "F", "G", "I", "B", "H", "C")
Tôi đã thử điều này:
dat <- dat[with(dat, order(orange, rep(appleOrdered, 3))), ]
Nhưng nó có vẻ đặt "apple" vào một thứ tự ngẫu nhiên. Bất kỳ đề xuất? Cảm ơn.
Liên quan đến [Làm thế nào để loại một vector dựa trên các giá trị khác] (http://stackoverflow.com/questions/1568511/how-do-i-sort-one-vector-based-on-values-of-another) –