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

如何使用mutate()为DataFrame添加基于指定数学公式的新列?

使用dplyr的mutate()添加计算列

你可以直接通过dplyr包的mutate()函数实现需求,核心是正确处理带空格的列名和公式的R语法转换:

基础实现代码

# 先加载dplyr包(未安装则先运行install.packages("dplyr"))
library(dplyr)

# 添加新列output
df <- df %>%
  mutate(output = 119 * ((`Max Value` / Value) - 1) ^ 1.231)

关键说明

  • 列名含空格时,必须用反引号`包裹(比如Max Value),否则R会将其识别为两个独立变量,引发语法错误
  • R不支持隐式乘法,所以公式里的119[...]必须写成119 * (...)
  • 幂运算用^符号,和你给出的公式完全对应

异常处理(可选)

如果你的Value列存在0值,直接计算会触发除以0的错误,你可以提前过滤或用条件赋值处理:

过滤掉Value为0的行

df <- df %>%
  filter(Value != 0) %>%
  mutate(output = 119 * ((`Max Value` / Value) - 1) ^ 1.231)

保留行但将错误结果设为NA

df <- df %>%
  mutate(output = if_else(Value == 0, NA_real_, 119 * ((`Max Value` / Value) - 1) ^ 1.231))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 21:39:18