我想通过两个因素重新排列数据框的行。对于第一个因素,我满意默认排序。对于第二个因素,我希望对行施加自定义排序。这里有一些虚拟数据:
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))
我想以特定的方式订购“苹果”:
appleOrdered <- c("E", "D", "J", "A", "F", "G", "I", "B", "H", "C")
我尝试过这样做:
dat <- dat[with(dat, order(orange, rep(appleOrdered, 3))), ]
但是它似乎会将 "apple" 放入随机顺序。有什么建议吗?谢谢。