可以按照如下步骤进行操作:

  1. 使用group_by()函数对数据框sl按照Period、Nrate和Hybrid三列进行分组。
  2. 使用summarise()函数,对bio和biomass列分别进行求和操作。
  3. 使用mutate()函数,新增一个Total行,其中Organ列填充为"Total",bio列填充为bio列的总和,biomass列填充为biomass列的总和。
  4. 使用bind_rows()函数将新生成的Total行与原始数据框sl进行合并,最终得到所需的结果。

代码实现如下:

library(dplyr)

sl %>%
  group_by(Period, Nrate, Hybrid) %>%
  summarise(bio = sum(bio), biomass = sum(biomass)) %>%
  mutate(Organ = "Total") %>%
  bind_rows(sl, .) %>%
  arrange(Period, Nrate, Hybrid, desc(Organ))

其中,sl为原始数据框,按照Period、Nrate和Hybrid三列进行分组,对bio和biomass列进行求和操作,并新增一个Organ为"Total"的行。最后使用bind_rows()函数将新生成的数据框与原始数据框进行合并,并按照Period、Nrate和Hybrid三列进行升序排序,Organ列按照降序排序,最终得到所需的结果。


原文地址: https://www.cveoy.top/t/topic/3wO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录