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

按年份汇总exports与imports列遇NA值的R语言技术求助

按年份汇总进出口数据出现NA值问题

原始数据

国家年份exportsimports
丹麦20041000000010000000
丹麦20082000000020000000
丹麦20093000000030000000
挪威20041000000010000000
挪威20082000000020000000
挪威20091000000030000000

错误代码及结果

尝试执行的代码:

df_frame %>% group_by(Year) %>% summarize(total_exports = sum(exports), total_imports = sum(imports))

得到的错误结果:

年份exportsimports
2004NANA
2008NANA
2009NANA

期望结果

年份exportsimports
20044000000020000000
20084000000040000000
20092000000060000000

问题原因及解决方法

问题原因

  1. 列名不匹配:数据框中年份列的名称是中文年份,但代码中使用了英文Year,导致分组逻辑失效,求和时无法定位有效数据返回NA。
  2. 数据类型错误:exports和imports列可能被读取为字符类型,字符无法直接参与数值求和,同样会返回NA。

修正代码

# 先将进出口列转换为数值类型(若数据读取时为字符型)
df_frame$exports <- as.numeric(df_frame$exports)
df_frame$imports <- as.numeric(df_frame$imports)

# 修正列名后分组汇总,添加na.rm=TRUE避免潜在NA值干扰结果
df_frame %>% 
  group_by(年份) %>% 
  summarize(
    total_exports = sum(exports, na.rm = TRUE),
    total_imports = sum(imports, na.rm = TRUE)
  )

说明

  • 严格匹配分组列名年份,确保分组逻辑正确;
  • 转换列类型为数值型,保证求和运算正常执行;
  • 添加na.rm=TRUE参数,排除数据中潜在NA值对求和结果的影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 06:20:26