3

おそらく本当に基本的な質問に取り組んでいますが、解決策を見つけることができません。助けていただければ幸いです。

同じ変数にマージしたい 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

どんな助けでも大歓迎です。前もって感謝します。

4

1 に答える 1