我在写一个函数生成100个矩阵。一旦我有了这个,我需要循环遍历每个矩阵上的第一个超对角线,并提取值。这些值应该进入每个超对角线的dataframe-1列中。让我举例说明:
第一个矩阵(应该提取标记为X的位置)
[,1] [,2] [,3] [,4]
[1,] 1 X .2 .1
[2,] .7 .8 X .5
[3,] .6 .9 .4 X
[4,] .5 .1 .1 .2因此,我需要循环遍历这些矩阵中的100个,得到标记为X(第一个超对角线)的每个矩阵的所有位置,然后我需要将每个第一个超对角线放在这样的数据帧中:
输出数据
matrix1 matrix2 matrix3
[1,2] .5 .2 .1
[2,3] .5 .1 .2
[3,4] .3 .7 .8在这种情况下,我以后将访问的存储100个矩阵的最佳方法是创建输出数据?物品?由矩阵组成的数据集?
此外,除了我发布的影响我的数据结构选择的因素之外,还有其他因素吗?
发布于 2013-03-28 13:31:48
用我的手机写的,但你可以试试这个:
as.data.frame(lapply(matrixList, function(M) diag(M[, -1]) ))或者,如果它们都是10x10,则可以将其替换为上面的“函数(M)”
M[(1:9)*11] https://stackoverflow.com/questions/15683097
复制相似问题