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

如何基于另一列的百分比计算DataFrame新列的值?

正确计算方法说明

错误原因分析

你之前的代码存在三个问题:

  • 计算逻辑错误:求某数的N%应该是数值 × N ÷ 100,而非数值除以N
  • 数据框引用错误:你用了bar_df,但目标数据框是df
  • 特殊列名处理:Agriculture_GDP%包含%符号,直接用$引用会报错,需要用反引号包裹

修正后的代码

基础R写法

# 修正逻辑、数据框引用,并用反引号处理带特殊字符的列名
df$gdp_per_capita_agg_percen <- df$gdp_per_capita * df$`Agriculture_GDP%` / 100

tidyverse/dplyr写法(代码更清晰)

library(dplyr)
df <- df %>%
  mutate(gdp_per_capita_agg_percen = gdp_per_capita * `Agriculture_GDP%` / 100)

结果验证

以阿尔巴尼亚为例:3281 × 20.6 ÷ 100 = 675.886,和你预期的675.8(四舍五入后)一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 04:35:45