按多列分组并从 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
我在 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