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

如何在R中不定义函数,用lapply删除列表中多个矩阵的指定列?

不用自定义函数删除列表中矩阵的指定列

当然可以不用单独定义函数,直接借助lapply搭配匿名函数就能实现,代码更紧凑:

示例数据准备

先创建你提供的示例数据:

m1 <- matrix(1:9, nrow = 3, ncol = 3)
m2 <- matrix(1:9, nrow = 3, ncol = 3)
m3 <- matrix(1:9, nrow = 3, ncol = 3)
m_ls <- list(m1, m2, m3)

直接删除固定指定列(以第3列为例)

不用定义del函数,直接在lapply里写入匿名逻辑即可:

lapply(m_ls, function(mat) mat[, -3])

处理可变列数的情况

如果需要删除的列数不是固定值,还可以把列数作为参数传递,灵活性更高:

# 定义要删除的列序号
delete_col <- 3
# 通过lapply的额外参数传递列数
lapply(m_ls, function(mat, col) mat[, -col], col = delete_col)

这样就能在不定义独立函数的前提下,完成列表中所有矩阵指定列的删除操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 13:02:05