R语言如何对lc_names列含Paris的行汇总计算GHI均值
解决方法
你可以先构造自定义分组标签,再按标签分组汇总即可,代码如下:
library(dplyr) library(stringr) # 直接运行即可得到你要的结果 agg_france %>% mutate( # 自定义分组规则:lc_names包含Paris的统一归为一组,其余保留原名 group_tag = if_else(str_detect(lc_names, "Paris"), "Paris", lc_names) ) %>% group_by(group_tag) %>% # 计算GHI平均值,这里保留整数和你给出的预期输出格式一致 summarise(GHI = round(mean(GHI), 0)) %>% # 把分组标签列重命名回原来的lc_names rename(lc_names = group_tag)
原代码错误说明
- 你之前写的
group_by(lc_names)是按原始的每一个唯一lc_names值分组,所有带Paris的行因为行政区后缀不同会被拆成多个独立分组,不会合并计算 across(contains('Paris'))的作用是匹配列名中包含Paris的列,不是筛选行值包含Paris的记录,和你需要的计算逻辑完全不符
内容的提问来源于stack exchange,提问作者me.limes
相关产品推荐
相关产品推荐

