如何修正R代码实现按来源分组累加CO₂排放量并绘制折线图?
修正泰国CO₂排放量折线图代码方案
问题背景
分析1987-2022年泰国按排放来源(工业、交通等)和燃料类型划分的CO₂排放量时,直接绘制折线图出现异常图形,改为点图后发现核心问题:未按时间段累加同一来源下各燃料类型的排放量,导致同一时间点对应多条数据,折线混乱。
修正步骤与代码
1. 精简依赖包
初始代码中rmgarch、parallel、forecast未用到,可移除以减少冗余。
2. 数据聚合处理
先按年月日期和排放来源分组,累加同一组内各燃料类型的排放量,得到每个来源在每个时间段的总排放量,再用于绘图。
修正后的完整代码:
library(ggplot2) library(dplyr) # 读取数据 data <- read.csv("thailand_co2_emission_1987_2022.csv") # 数据预处理与聚合:按日期和来源分组,累加排放量 data_processed <- data %>% # 构造标准日期格式 mutate(date = as.Date(paste(year, month, "01", sep = "-"))) %>% # 按日期和排放来源分组,计算总排放量 group_by(date, source) %>% summarise(total_emissions = sum(emissions_tons, na.rm = TRUE)) %>% ungroup() # 绘制折线图 ggplot(data_processed, aes(x = date, y = total_emissions, group = source, color = source)) + geom_line() + scale_x_date(date_labels = "%b %Y") + labs(title = "泰国1987-2022年CO₂排放量(按来源划分)", x = "时间", y = "CO₂排放量(吨)", color = "排放来源")
关键说明
group_by(date, source):确保同一时间段、同一来源的所有燃料类型数据被归为一组summarise(total_emissions = sum(emissions_tons, na.rm = TRUE)):累加组内排放量,na.rm = TRUE用于处理可能存在的缺失值- 聚合后的数据每个时间点-来源组合仅对应一条记录,折线图会显示各来源排放量随时间变化的清晰趋势
内容的提问来源于stack exchange,提问作者Tin Dao
相关产品推荐
相关产品推荐

