You need to enable JavaScript to run this app. R语言如何将数据框每行指定列元素除以该行对应分母列数值
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何将数据框每行指定列元素除以该行对应分母列数值

R实现数据框指定列按行对应分母相除的方法

以下是两种常用的可直接运行的实现方案:

方案1:基础R实现(无需额外安装包)

利用R原生向量化运算特性,直接对指定列做批量除法:

# 构造示例数据(已有数据可跳过该部分)
A <- c(4, 5, 10)
B <- c(8, 45, 2)
C <- c(7, 4, 0)
D <- c(98, 32, 12)
E <- c(1, 3, 11)
df <- data.frame(A, B, C, D, E)
df$particular_number<-c(22, 34, 23)

# 核心计算逻辑
new_df <- df
# 对A到E的前5列执行按行除以对应particular_number的操作
new_df[, 1:5] <- new_df[, 1:5] / new_df$particular_number

方案2:dplyr包实现(代码可读性更高,适配复杂场景)

如果已安装tidyverse系列工具,用mutate+across的组合实现逻辑更清晰,不需要手动数列下标:

library(dplyr)
new_df <- df %>%
  # 指定A到E列,每个元素除以当前行的particular_number
  mutate(across(A:E, ~ .x / particular_number))

两种方案最终得到的new_df都是和原df维度完全一致的3行6列数据框,前5列存储计算后的比值,最后一列保留原始的分母数值。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 23:54:07