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

如何在R中计算各国GDP与同年美国GDP的比值?

计算各国GDP与同年美国GDP的比值

方法1:使用dplyr工具包

这是tidyverse生态下的便捷处理方式,核心思路是按年份分组,提取每组内美国的GDP作为基准值,再计算比值:

  1. 先安装并加载dplyr(如果未安装):
install.packages("dplyr")
library(dplyr)
  1. 处理数据:
gdp_test <- gdp_test %>%
  group_by(Year.) %>%  # 按年份分组,确保只在同年份内计算
  mutate(GDP_ratio = GDP / GDP[Country. == "usa"]) %>%  # 每组内用当前GDP除以美国的GDP
  ungroup()  # 取消分组,恢复普通数据框形态
  1. 查看结果:
print(gdp_test)

输出会新增GDP_ratio列,美国的比值始终为1,哥斯达黎加的数值则是对应年份GDP与美国GDP的比值。


方法2:基础R原生实现

如果不想依赖第三方包,可以用ave()函数结合分组逻辑完成:

gdp_test$GDP_ratio <- with(gdp_test, 
                           ave(GDP, Year., 
                               FUN = function(x) x / x[Country. == "usa"]))

ave()会自动按Year.分组,对每组的GDP执行自定义函数——用组内所有GDP值除以组内美国的GDP值,最终生成新列。


结果示例

处理后的gdp_test数据如下:

Country. Year. GDP GDP_ratio
1 costa_rica  1979 200 0.5714286
2 costa_rica  1980 210 0.5600000
3 costa_rica  1981 250 0.5938242
4        usa  1979 350 1.0000000
5        usa  1980 375 1.0000000
6        usa  1981 421 1.0000000

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 12:25:14