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

如何按第5列将R语言中的矩阵拆分为矩阵列表?

R语言按分组列拆分矩阵为子矩阵列表的实现方法

最直接高效的方式是用R基础包的split()函数,步骤如下:

  • 先把矩阵转成数据框(split对数据框的拆分逻辑更直观),按第5列的分组标识拆分,最后再把每个子数据框转回矩阵:
# 按第5列分组拆分
split_result <- split(as.data.frame(wxc), wxc[, 5])
# 将每个子数据框转回矩阵格式
split_result <- lapply(split_result, as.matrix)

拆分后的列表split_result里,每个元素对应一个分组的子矩阵,列表名称就是分组值(1、2、3)。

如果习惯用tidyverse工具链,也可以用dplyr的group_split():

library(dplyr)

# 转成 tibble 后分组拆分,再转回矩阵
split_result <- wxc %>%
  as_tibble() %>%
  group_split(.[[5]], .keep = TRUE) %>%
  lapply(as.matrix)

group_split()会直接按指定列生成分组列表,.keep = TRUE用来保留分组列,不需要的话可以改成FALSE。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 23:38:13