おそらく本当に基本的な質問に取り組んでいますが、解決策を見つけることができません。助けていただければ幸いです。
同じ変数にマージしたい 2 つの変数を含むデータフレームがあります。データフレームは次のようになります。
id <- 1:6
color <- c(rep("red", 3), "blue", "red", "blue")
value2 <- 20:25
value1 <- 25:30
wanted_outcome <- c(25,26,27,23,29,25)
data_sample <- data.frame(id, color, value1, value2, wanted_outcome)
data_sample
id color value1 value2 wanted_outcome
1 1 red 25 20 25
2 2 red 26 21 26
3 3 red 27 22 27
4 4 blue 28 23 23
5 5 red 29 24 29
6 6 blue 30 25 25
私が望む結果は最後の列にあります。基本的に、赤いアイテムの変数 value1 の値と青いアイテムの value2 の値を含む新しい変数を作成したいと思います。
これは私が試みていることですが、Rが行ごとではなく最初の値から始まる値を置き換えているため、望ましい結果が得られません。
data_sample$value_combined[color=="red"] <- value1
data_sample$value_combined[color=="blue"] <- value2
data_sample
id color value1 value2 wanted_outcome value_combined
1 1 red 25 20 25 25
2 2 red 26 21 26 26
3 3 red 27 22 27 27
4 4 blue 28 23 23 20
5 5 red 29 24 29 28
6 6 blue 30 25 25 21
どんな助けでも大歓迎です。前もって感謝します。