按多列分组并从 R 中的另一列赋值

Group by multiple columns and assign value from another column in R

我在 R 中有如下数据集:

我想添加一个新列“起始输出”,它基本上从时间 = 0 时的输出列中获取值,但也按温度对它们进行分组。示例解决方案如下:

我尝试了以下代码,但它只适用于第一批,不适用于所有批次。 df$输出[df$时间 == 24 | df$Time == 48 ] <- df$Output[df$Time == 0]

我尝试使用 group_by() 和 mutate 但没有成功。感谢您的帮助!

df %>%
  group_by(Temp) %>%
  mutate(`Starting Output` = ifelse(Time==0, Output, NA)) %>%
  tidyr::fill(`Starting Output`, .direction = "down") %>%
  ungroup()

# A tibble: 6 x 5
  Batch  Temp  Time Output `Starting Output`
  <chr> <dbl> <dbl>  <dbl>             <dbl>
1 A        15     0     12                12
2 A        15    24     34                12
3 A        15    48     36                12
4 A        25     0     13                13
5 A        25    24     22                13
6 A        25    48     24                13