0

How can I re-order the rows of the dataframe df1 to have a dataframe like df2?

df1 <- data.frame(var1=c("h", "a", "n", "h", "a", "n", "h", "a", "n"), var2=c("e", "e", "e","f", "f", "f","v", "v", "v"))

df2 <- data.frame(var1=c("h", "h", "h", "a", "a", "a", "n", "n", "n"), var2=c("e", "f", "v","e", "f", "v","e", "f", "v"))

I need to specify values, so desc does not work.

Hossein
  • 461
  • 3
  • 9
  • 17
  • Does this answer your question? [How to sort a dataframe by multiple column(s)](https://stackoverflow.com/questions/1296646/how-to-sort-a-dataframe-by-multiple-columns) – Gowachin Mar 30 '21 at 21:43

1 Answers1

0

Maybe this could help

> df1[order(match(df1$var1, c("h", "a", "n"))), ]
  var1 var2
1    h    e
4    h    f
7    h    v
2    a    e
5    a    f
8    a    v
3    n    e
6    n    f
9    n    v
ThomasIsCoding
  • 96,636
  • 9
  • 24
  • 81