【问题标题】:Group by multiple columns and assign value from another column in R按多列分组并从 R 中的另一列分配值
【发布时间】:2021-05-16 13:44:06
【问题描述】:

我在 R 中有如下数据集:

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

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

我尝试使用 group_by() 和 mutate 但没有成功。任何帮助表示赞赏!

【问题讨论】:

    标签: r dplyr data-processing


    【解决方案1】:
    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-29
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多