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

如何在lapply命令中使用dim()修改嵌套列表内的矩阵维度

R语言嵌套列表内层矩阵维度批量修改方案

方法1:嵌套lapply(基础R,无依赖)

无需安装任何第三方包,利用R内置的lapply嵌套遍历两层列表,一行代码即可完成所有内层矩阵的维度修改:

# 直接修改原列表
big_list <- lapply(big_list, lapply, `dim<-`, c(54, 71))

# 如需保留原列表,可赋值给新变量
# big_list_new <- lapply(big_list, lapply, `dim<-`, c(54, 71))

这里用到了R的替换函数语法,dim<-是专门用于设置对象维度属性的内置函数,可直接作为参数传入lapply,无需额外定义匿名函数,代码更加简洁。

修改结果验证

执行后可通过以下代码确认修改生效:

# 抽查任意内层矩阵的维度
dim(big_list$list1[[1]])
# 预期输出:[1] 54 71

方法2:purrr包modify_depth(tidyverse生态适用)

如果你习惯使用tidyverse系列工具,可通过purrr包的modify_depth指定遍历深度修改,代码可读性更高:

library(purrr)
# .depth = 2 表示修改第二层嵌套的所有元素
big_list <- modify_depth(big_list, .depth = 2, ~ dim(.) <- c(54,71))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:09:05