It really depends on what your data really looks like. As it looks right now, you only need one column to sort, and that is easily done by:
x2[order(match(x2[,1],x1[,1])),]
If you need more than one column, this becomes a bit trickier. You will have to specify which one you want to sort first on, and which one second, eg :
x1 <- data.frame(a=rep(1:3,2), b=rep(letters[2:4],each=2), c=rnorm(6))
x2 <- data.frame(a=c(3,3,2), b=c("c", "d", "b"), d=rnorm(3))
x2[order(match(
paste(x2[,1],x2[,2]),
paste(x1[,1],x1[,2]))
),]
This sorts on the first column first, and then on the second. You have to keep in mind that you need all combinations in x2 also in x1. T
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…