如何在R中合并DataFrame同名属性并汇总同一区域的采矿项目类型
R 按区域合并项目类型解决方案
方法1:tidyverse 实现(推荐,可读性高)
首先加载依赖包:library(dplyr)
示例数据模拟
你可以将下方示例替换为自己的DataFrame:
df <- tibble( 区域名称 = c("矿区A", "矿区A", "矿区B", "矿区C", "矿区C", "矿区C"), 项目类型 = c("露天开采", "井下开采", "砂石开采", "金属开采", "伴生矿提取", "尾矿处理") )
合并代码
如果需要输出和你示例一致的、多项目用符号分隔的字符串格式:
df_result <- df %>% group_by(区域名称) %>% summarise( # 可自行修改分隔符,比如逗号","、斜杠"/"等 关联项目类型 = paste(unique(项目类型), collapse = "、") ) %>% ungroup()
如果需要保留列表格式方便后续逐个调用项目类型做计算:
df_list_result <- df %>% group_by(区域名称) %>% summarise( 关联项目类型 = list(unique(项目类型)) ) %>% ungroup()
方法2:base R 实现(无需加载第三方包)
df_result <- aggregate( 项目类型 ~ 区域名称, df, function(x) paste(unique(x), collapse = "、") )
参数说明
unique(项目类型):用于过滤同一区域下重复的项目类型,若你的原始数据无重复可直接去掉该函数collapse:自定义多个项目类型之间的分隔符
内容的提问来源于stack exchange,提问作者Kledson Lemes
相关产品推荐
相关产品推荐

