You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用R重塑非时变电力服务商与经营区县关联数据集

R数据重塑解决方案:宽格式服务商区县表转区县核心结构

不需要编写循环,使用tidyr包的pivot_longer函数即可快速完成你需要的重塑操作,完整操作步骤如下:


1. 核心重塑代码

# 加载依赖包
library(tidyverse)

# 完成数据转换+基础清洗
county_utility <- utility_county %>%
  # 自动识别所有County开头的列,转换为长格式
  pivot_longer(
    cols = starts_with("County"),
    names_to = "county_order",
    values_to = "county_name"
  ) %>%
  # 过滤掉服务商未覆盖的空区县行
  filter(county_name != "") %>%
  # 去除区县名前后多余空格,解决示例中"Asotin  "这类脏数据问题
  mutate(county_name = str_squish(county_name)) %>%
  # 可选:删除不需要的原始County列序号字段
  select(-county_order)

执行后得到的county_utility表每一行对应一组「区县-电力服务商」匹配关系,已经保留了InData、UtilityType所有原始字段。


2. 区县维度聚合统计(可选)

如果需要直接生成以区县为核心、汇总所有服务商和缺失度的结果,可以继续执行以下代码:

county_summary <- county_utility %>%
  group_by(county_name) %>%
  summarise(
    # 合并当前区县所有服务商名称,需要存列表格式可以替换为list(UtilityName)
    all_utilities = str_c(UtilityName, collapse = "、"),
    # 区县内总服务商数量
    total_utility_cnt = n(),
    # 匹配到另一个数据集的服务商数量
    matched_utility_cnt = sum(InData),
    # 计算数据缺失度
    missing_rate = scales::percent((total_utility_cnt - matched_utility_cnt)/total_utility_cnt, accuracy = 0.1)
  )

输出的county_summary就是你需要的目标结构,每一行对应一个区县的完整统计信息。


内容的提问来源于stack exchange,提问作者ClaireR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 04:45:04