首页 > 解决方案 > 将元素添加到具有矩阵作为条目 R 的列表中

问题描述

当我输出“mat”时,它按预期工作,mat 给出了整个矩阵列表,mat[1]、mat[2] 和 mat[3] 给出了第一个第二个和第三个元素,即所有条目相等的 4x4 矩阵分别为 1、2 和 3。

但是,当我尝试添加新元素或更改现有元素时,会出现错误,而不是向列表中添加 4x4 矩阵,它只是添加了一个常规数字。

如何将新矩阵添加到列表中?我也愿意使用 list() 的替代方法。我对 R 比较陌生,我一直使用 x = c(),但这似乎也不适用于矩阵。提前致谢。

输入:

mat = list( matrix (c(1), nrow = 4, ncol = 4, byrow = TRUE),
            matrix (c(2), nrow = 4, ncol = 4, byrow = TRUE),
            matrix (c(3), nrow = 4, ncol = 4, byrow = TRUE) )

mat

mat[2]

mat[1] = matrix(c(0), nrow = 4, ncol = 4, byrow = TRUE)

mat[4] = matrix(c(4), nrow = 4, ncol = 4, byrow = TRUE)

mat

输出:

> mat = list( matrix (c(1), nrow = 4, ncol = 4, byrow = TRUE),
+             matrix (c(2), nrow = 4, ncol = 4, byrow = TRUE),
+             matrix (c(3), nrow = 4, ncol = 4, byrow = TRUE) )
> mat
[[1]]
     [,1] [,2] [,3] [,4]
[1,]    1    1    1    1
[2,]    1    1    1    1
[3,]    1    1    1    1
[4,]    1    1    1    1

[[2]]
     [,1] [,2] [,3] [,4]
[1,]    2    2    2    2
[2,]    2    2    2    2
[3,]    2    2    2    2
[4,]    2    2    2    2

[[3]]
     [,1] [,2] [,3] [,4]
[1,]    3    3    3    3
[2,]    3    3    3    3
[3,]    3    3    3    3
[4,]    3    3    3    3

> mat[2]
[[1]]
     [,1] [,2] [,3] [,4]
[1,]    2    2    2    2
[2,]    2    2    2    2
[3,]    2    2    2    2
[4,]    2    2    2    2

> mat[1] = matrix(c(0), nrow = 4, ncol = 4, byrow = TRUE)
Warning message:
In mat[1] = matrix(c(0), nrow = 4, ncol = 4, byrow = TRUE) :
  number of items to replace is not a multiple of replacement length
> mat[4] = matrix(c(4), nrow = 4, ncol = 4, byrow = TRUE)
Warning message:
In mat[4] = matrix(c(4), nrow = 4, ncol = 4, byrow = TRUE) :
  number of items to replace is not a multiple of replacement length
> mat
[[1]]
[1] 0

[[2]]
     [,1] [,2] [,3] [,4]
[1,]    2    2    2    2
[2,]    2    2    2    2
[3,]    2    2    2    2
[4,]    2    2    2    2

[[3]]
     [,1] [,2] [,3] [,4]
[1,]    3    3    3    3
[2,]    3    3    3    3
[3,]    3    3    3    3
[4,]    3    3    3    3

[[4]]
[1] 4

标签: rlistmatrix

解决方案


推荐阅读