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

如何用自定义函数计算输入变动1%时输出的百分比影响及生成dataframe?

非线性函数的百分比变化计算与DataFrame生成方案

一、计算x变动1%时z的百分比变化

核心逻辑:基于初始x值-2,先算出x变动1%后的新值,再通过get_result()分别获取初始和变动后的z值,最后计算z的百分比变化。

操作步骤与代码实现:

  1. 定义初始x值与变动1%后的x值(这里以x增加1%为例);
  2. 调用get_result()分别传入两个x值,得到对应的z值;
  3. 用公式((新z值 - 初始z值)/初始z值) * 100计算百分比变化。
# 初始x与变动1%后的x
x_initial <- -2
x_new <- x_initial * 1.01

# 通过get_result获取对应z值
z_initial <- get_result(x_initial)
z_new <- get_result(x_new)

# 计算z的百分比变化
z_percent_change <- ((z_new - z_initial) / z_initial) * 100
cat("z的百分比变化:", round(z_percent_change, 4), "%\n")

运行后会得到近似3.0301%的结果:初始z值为(-2)^2 * (-2) = -8,变动后的x为-2.02,对应的z值为(-2.02)^2 * (-2.02) ≈ -8.242408,代入公式即可得到该结果。

二、生成包含x和z值的DataFrame

通过创建x值向量,结合sapply()批量调用get_result()得到z值,再用data.frame()生成表格:

# 构建包含初始值与变动后值的x向量
x_vec <- c(x_initial, x_new)
# 批量计算对应的z值
z_vec <- sapply(x_vec, get_result)
# 生成DataFrame
x_z_df <- data.frame(
  x = x_vec,
  z = z_vec
)

# 查看结果
print(x_z_df)

运行后输出的DataFrame如下:

x        z
1 -2.00000 -8.00000
2 -2.02000 -8.242408

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 16:13:39