2 つのデータ フレームをマージして、そのうちの 1 つの元の行の順序を維持したい (df.2
下の例)。
以下にいくつかのサンプル データを示します (class
列のすべての値は両方のデータ フレームで定義されています)。
df.1 <- data.frame(class = c(1, 2, 3), prob = c(0.5, 0.7, 0.3))
df.2 <- data.frame(object = c('A', 'B', 'D', 'F', 'C'), class = c(2, 1, 2, 3, 1))
私が行った場合:
merge(df.2, df.1)
出力は次のとおりです。
class object prob
1 1 B 0.5
2 1 C 0.5
3 2 A 0.7
4 2 D 0.7
5 3 F 0.3
私が追加した場合sort = FALSE
:
merge(df.2, df.1, sort = F)
結果は次のとおりです。
class object prob
1 2 A 0.7
2 2 D 0.7
3 1 B 0.5
4 1 C 0.5
5 3 F 0.3
しかし、私が欲しいのは:
class object prob
1 2 A 0.7
2 1 B 0.5
3 2 D 0.7
4 3 F 0.3
5 1 C 0.5