1つの列の数値を他の2つの列の数値と一致させようとしています。これは、1つの列のみに一致する場合は問題なく実行できますが、2つの列に拡張する際に問題が発生します。これが私がしていることです:
2つのデータフレーム、df1があります。
number value
1
2
3
4
5
およびdf2:
number_a number_b value
3 3
1 5
5 1
4 2
2 4
私がやりたいのは、列「number」をdf1からdf2の「number_a」またはnumber_b」のいずれかに一致させ、次にdf2の「value」をdf1の「value」に挿入して結果df1を次のように取得することです。
number value
1 5
2 4
3 3
4 2
5 1
私のアプローチは使用することです
df1$value <- df2$value[match(df1$number, df2$number_a)]
また
df1$value <- df2$value[match(df1$number, df2$number_b)]
これは、それぞれdf1を生成します
number value
1 NA
2 NA
3 3
4 NA
5 1
と
number value
1 5
2 4
3 NA
4 2
5 NA
ただし、このアプローチを使用してdf1のすべての「値」列に入力することはできないようです。「number」を「number_a」および「number_b」に一挙に一致させるにはどうすればよいですか。私は試した
df1$value <- df2$value[match(df1$number, df2$number_a:number_b)]
しかし、それはうまくいきませんでした。
ありがとう!