按多列分组并从 R 中的另一列分配值
Posted
技术标签:
【中文标题】按多列分组并从 R 中的另一列分配值【英文标题】:Group by multiple columns and assign value from another column in R 【发布时间】:2021-05-16 13:44:06 【问题描述】:我在 R 中有如下数据集:
我想添加一个新列“开始输出”,它基本上从输出列中获取时间 = 0 的值,但也按温度对它们进行分组。示例解决方案如下:
我尝试了以下代码,但它仅适用于第一批,不适用于所有批次。 df$输出[df$时间 == 24 | df$Time == 48 ]
我尝试使用 group_by() 和 mutate 但没有成功。任何帮助表示赞赏!
【问题讨论】:
【参考方案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
【讨论】:
以上是关于按多列分组并从 R 中的另一列分配值的主要内容,如果未能解决你的问题,请参考以下文章
如何在 python 的另一列中的字符串值中从数据框中的一列中搜索字符串?
SQL中的Group By的查询过程多列分组的查询过程是怎样的?