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

如何在R中实现列内所有值减去该列第20行的值?

R实现每列减去该列第20行值的两种方法

方法一:基础R的lapply()

遍历数据框的每一列,对每列所有元素减去该列第20行的对应值,最后将结果转回数据框:

data_wide_adjusted <- as.data.frame(lapply(data_wide, function(col) {
  col - col[20]
}))

方法二:tidyverse/dplyr

使用dplyr的across()函数批量处理列,支持筛选数值列避免非数值列报错:

library(dplyr)

# 处理所有列(假设数据框全为数值型)
data_wide_adjusted <- data_wide %>%
  mutate(across(everything(), ~ .x - .x[20]))

# 若存在非数值列,仅处理数值列
data_wide_adjusted <- data_wide %>%
  mutate(across(where(is.numeric), ~ .x - .x[20]))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 22:45:52