r - 基于行分割矩阵

标签 r matrix split divide

我有一个关于除法矩阵的问题。

我有100行1024列的数据。我想将该矩阵拆分为 2 个子矩阵,以便 8 行到矩阵 1,2 行到矩阵 2

将形成第一个矩阵

r1
r2
r3
r4
r5
r6
r7
r8
r11
r12
r13
...
...

第二个矩阵将由以下内容组成

r9
r10
r19
r20
...
...

最佳答案

一种选择是使用 rep 创建逻辑索引,然后使用它来分割矩阵的行序列,将子集化基于列表中索引向量的code>矩阵

out <-lapply(split(seq_len(nrow(m1)), rep(rep(c(TRUE, FALSE), c(8, 2)), 
            length.out = nrow(m1))), function(i) m1[i, ] )

此外,正如 @user20650 在评论中提到的,?split.data.frame 也可以用于矩阵(基于文档)

The data frame method can also be used to split a matrix into a list of matrices, and the replacement form likewise, provided they are invoked explicitly.

out1 <- split.data.frame(m1, rep(rep(c(TRUE, FALSE), c(8, 2)), 
          length.out = nrow(m1)))

数据

set.seed(24)
m1 <- matrix(rnorm(100 * 1024), nrow = 100, ncol = 1024)

关于r - 基于行分割矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55561285/

相关文章:

algorithm - 我怎样才能证明这个边遍历算法有效呢?

c - 物体通过世界轴而不是局部轴OpenGL旋转

R 使用 ifelse() 条件改变多列

r - 导出 ppt 时图像未显示在 Flextable 行中

r - 如何在ggplot中使用R的原生管道和占位符

python - 没有 C 扩展的 Python 中的快速二维数组(矩阵)

c# - 自定义解析字符串

python - 将数据帧拆分为多个 5 秒数据帧并在 Python 中获取计数

python - 如何将 numpy 数组拆分为重叠的图 block ?

r - 用 R 估计多维空间中的密度