【问题标题】:convert every n rows in a matrix into a vector将矩阵中的每 n 行转换为向量
【发布时间】:2020-07-14 20:06:12
【问题描述】:

我正在尝试将 264*264 相似度矩阵转换为 44 行 df,这样矩阵中的每 6 行将被连接

可能是以下版本:

as.vector(t(矩阵)

【问题讨论】:

  • 您的意思是每 6 步创建一个新的矩阵吗?
  • 我认为这是@akrun 提供的确切解决方案。谢谢!

标签: r matrix reshape


【解决方案1】:

我们可以将split 变成list

lst1 <- lapply(split(seq_len(nrow(m1)),
       as.integer(gl(nrow(m1), 6, nrow(m1)))), function(i) c(m1[i,]))

然后rbind 到一个新矩阵

m2 <- do.call(rbind, lst1)
dim(m2)
[1]   44 1584

数据

set.seed(24)
m1 <- matrix(rnorm(264 * 264), nrow = 264)

【讨论】:

  • 太棒了!谢谢你!正是我正在寻找的解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-10
  • 2014-12-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多