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

如何将数据框中累积变化值转换为带符号的乘性因子

将累积变化值转换为乘性因子值

可以通过向量化条件判断快速实现需求,无需逐行循环:

基础R实现

# 定义原始数据框
df <- data.frame(col1 = c(0.12, 0.05), col2 = c(-0.06, 0.09))

# 应用转换逻辑:正数加1,负数减1
df_transformed <- data.frame(lapply(df, function(x) ifelse(x > 0, x + 1, x - 1)))

# 查看结果
print(df_transformed)

tidyverse(dplyr)实现

如果你习惯用dplyr语法,也可以这样写:

library(dplyr)

df_transformed <- df %>%
  mutate(across(everything(), ~ ifelse(.x > 0, .x + 1, .x - 1)))

输出结果

运行代码后会得到你期望的结果:

col1  col2
1 1.12 -1.06
2 1.05  1.09

逻辑说明

  • 正数(如0.12):执行x + 1,得到增长对应的乘性因子1.12(代表12%增长)
  • 负数(如-0.06):执行x - 1,得到下降对应的乘性因子-1.06(代表6%下降)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 12:12:18