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

使用R处理数据时遇mutate报错及summarise分组提示问题求助

R代码修复:生成桥梁占比列失败问题

核心问题分析

  1. 列名拼写不一致:代码中ifelse生成的结构类型是tunnelS(大写S),但后续计算占比时调用的是tunnels(小写s),导致R找不到对应列,触发mutate()错误。
  2. 分组残留警告:summarise()默认保留Year分组,会弹出提示,可通过.groups参数明确处理分组。

修正后的代码

d_df %>%
  mutate(Year = substr(Date, 7, 10)) %>% 
  mutate(Structures = ifelse(ID %in% tnnls, "tunnels", "bridges")) %>%  # 统一拼写为tunnels
  filter(Year %in% yrs_wnt) %>% 
  group_by(Year, Structures) %>% 
  summarise(Total = sum(EZPass) + sum(Cash), .groups = "drop") %>%  # 添加参数消除分组警告
  pivot_wider(names_from = Structures, values_from = Total) %>%
  mutate(Percentb = (bridges / (tunnels + bridges)))

关键修改说明

  • 统一结构类型的列值拼写:如果原始数据中结构标识实际是tunnelS,也可以将计算占比时的tunnels改为tunnelS,只要前后列名完全一致即可。
  • 在summarise()中加入.groups = "drop":完全取消分组,避免分组残留对后续操作的干扰,同时消除提示信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 09:52:13