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

使用ggplot2对比中美历年人口数据 无需pivot_wider的实现方法咨询

方案合理性说明

你当前的实现逻辑完全通顺,可以输出符合预期的中美人口对比散点图,属于合理的实现方案,同时确实存在不需要调用pivot_wider的更简洁写法。

无需转换宽表的实现代码

核心思路是直接按年份分组提取两国的人口数值,省去宽表转换和重命名两个步骤,代码如下:

library(tidyverse)

population %>%
  filter(country %in% c("United States of America", "China")) %>%
  group_by(year) %>%
  summarise(China = population[country == "China"],
            USA = population[country == "United States of America"]) %>%
  ggplot(aes(x = China, y = USA)) + 
  geom_point(aes(col = year))

两种方案对比

  • 你当前的pivot_wider方案:逻辑直观易懂,适合需要复用宽格式数据集做后续分析的场景,仅做可视化的话代码冗余度稍高。
  • 分组汇总方案:代码更短,执行效率略高于宽表转换方案,尤其在数据量级较大时优势更明显,仅做可视化的优先选这个写法。

两种方案的最终输出结果完全一致,没有对错之分,可根据实际使用场景选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 09:39:01