2017-12-01 8 views
-1

私はベクトルで注文したい2つの列(重複を含む)を持つデータフレームを持っています。ここMWEです:ベクトルでデータフレームを複製する方法は?

target_order <- c("a", "b", "c") 
df <- data.frame(col1 = c("c", "a", "b", "a", "a", "c", "c", "b"), 
       col2 = c(1, 1, 2, 5, 4, 2, 6, 7)) 

私の目標は、col1に基づいtarget_orderによってdfを注文することです。 Order data frame rows according to vector with specific order以下の私はdf[match(target_order, df$col1), ]を試してみましたが、これはのみにつながった:助けることができる

> df[match(ind_order, df$col1), ] 
    col1 col2 
2 a 1 
3 b 2 
1 c 1 

? (ベースR内の溶液は、クールになる。)

答えて

2

あなたの最終的な所望の出力が与えられ、多分この

df[order(match(df$col1, target_order)),] 
    col1 col2 
2 a 1 
4 a 5 
5 a 4 
3 b 2 
8 b 7 
1 c 1 
6 c 2 
7 c 6 
のようなものはなかったです
関連する問題