【发布时间】:2018-08-29 15:11:49
【问题描述】:
给定一个维度为n x n 的矩阵A,我的目标是获取所有子矩阵A[1:mid, (mid+1):n] 并将它们转换为向量列表。这里mid 从1 运行到n-1。
例如,如果A = matrix(1:16, 4, 4),则结果将为res = list(as.vector(A[1:1,2:4]), as.vector(A[1:2,3:4]), as.vector(A[1:3,4:4]))。 for 循环可以实现这一点,但当n 很大时,它需要很多时间。
【问题讨论】:
-
n=nrow(A);lapply(1:(n-1),function(mid) as.vector(A[1:mid, (mid+1):n] ))? -
如果 lapply 还不够,也许你应该尝试使用 Rcpp