繁体   English   中英

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

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

我在 R 中有一个如下所示的数据集:

在此处输入图像描述

我想添加一个新列“开始输出”,它基本上从 output 列中获取值,时间 = 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM