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

如何在R中编写仅作用于矩阵奇数列的apply()函数?

R语言apply函数仅对矩阵奇数列执行操作的实现方法

核心实现逻辑

通过seq(1, ncol(矩阵名), by = 2)自动生成所有奇数列的索引,无需硬编码列数,适配任意列数的矩阵,再对筛选出的奇数列调用apply执行指定操作即可。

完整可运行示例

# 1. 生成测试用3行4列矩阵
test <- matrix(1:12, ncol = 4)

# 2. 自动获取当前矩阵的所有奇数列索引,适配任意列数
odd_col_index <- seq(1, ncol(test), by = 2)

# 3. 对奇数列执行pmin限制元素上限为5,结果赋值回原矩阵对应列
test[, odd_col_index] <- apply(test[, odd_col_index], 2, function(x) {
  return(pmin(x, 5))
})

效果验证

运行上述代码后,test矩阵的输出结果为:

[,1] [,2] [,3] [,4]
[1,]    1    4    5   10
[2,]    2    5    5   11
[3,]    3    6    5   12

奇数列(第1、3列)所有大于5的元素均被截断为5,偶数列保持原始值不变。如果需要替换为其他操作(比如元素加1),只要把匿名函数内的pmin(x,5)替换为x+1即可。


内容的提问来源于stack exchange,提问作者Curious Jorge - user9788072

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:36:04