如何制作一个包含n行和m列但填充了矩阵或其他对象的数组?

时间:2018-04-04 17:29:38

标签: r

我的问题几乎与此here完全相同。 但我需要结果数据结构来存储矩阵或其他数据类型。

使用以下代码:

> Data <- as.data.frame(matrix(0,nrow = 2, ncol = 5))
> Data
  V1 V2 V3 V4 V5
1 0  0  0  0  0
2 0  0  0  0  0

>Data[2,5] <- matrix(1,nrow = 100, ncol = 100)
Error replacement has 100 row, data has 1

> Data <- as.array(matrix(0,nrow = 2, ncol = 5))
> Data[2,5] <- matrix(1,nrow = 100, ncol = 100)
Error  number of items to replace is not a multiple of replacement length.

我尝试将初始矩阵强制转换为不同类型,但最终结果始终是错误。

我没有附加到任何特定的数据类型,但我需要一个数组或n行和m列,其中数组的每个项都可以是任何对象,我可以使用标准查找来访问此对象,例如{{1} }。

谢谢。

1 个答案:

答案 0 :(得分:3)

你需要的是一个阵列。

一个让你入门的小例子。

data <- array(list(), c(2,5)) # list() will be recycled n*m times
data[2,5] <- list(matrix(1,nrow = 100, ncol = 100))

要访问数组中的数据,您可以使用[[

等双括号data[[2, 5]]