2017-03-05 49 views
1

これはStack Overflowで半ダース程度の解決策を見てきましたが、すべてが「within」を使用して単一のデータフレーム内での一致を処理しています。 「1、2、1、3、2、6、4、5:私はデータフレームの列1データフレーム列の値を2番目のデータフレーム列の一致に基づいて置き換えます

DF1 $ Aの値を持っている

:私は、複数のデータフレームを横切るソリューションが必要です、8、8、2、7、4、等 "

私はこれらのコード

DF2 $ Aに 'キー' と第二のデータフレームを有する:「1、2、3、4、5、6、7、8、9、10 "

DF2 $ B:" Pie、Pizza、Hamburgers、etc. "

DF1 $ Aの値をDF2 $ Bの値と一致するように変更するにはどうすればよいですか?

答えて

2

あなたはdf2$B内の特定の位置へのポインタとしてmatchでこれを行うことができます。

# make some toy data 
set.seed(1) 
df1 <- data.frame(A = sample(seq(3), 10, replace = TRUE)) 
df2 <- data.frame(A = seq(3), B = c("pizza", "hot dog", "hamburger"), stringsAsFactors = FALSE) 

df1$B <- df2$B[match(df1$A, df2$A)] 

結果:

> df1 
    A   B 
1 3 hamburger 
2 1  pizza 
3 2 hot dog 
4 1  pizza 
5 1  pizza 
6 2 hot dog 
7 1  pizza 
8 2 hot dog 
9 3 hamburger 
10 2 hot dog 
+1

見事に働きました。ありがとうございました!! – RickGrimesOfAlexandria

関連する問題