我正在努力解决一个可能非常基本的问题,但我无法找到解决方案。我将不胜感激任何帮助。
我有一个包含两个变量的数据框,我想将它们合并到同一个变量中。数据框看起来像这样:
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
任何帮助,将不胜感激。提前致谢。