将填充的矩阵分配给未填充的矩阵

时间:2014-10-05 01:56:29

标签: r

我有一个data frame,我按如下方式构建:

m <- matrix("matrix", nrow = 2, ncol = 2)
dm <- data.frame(m)

我的理解是,这将使dm成为一个包含2列和2行的数据框,其中每个元素都是一个矩阵。我的问题是我有一个方法返回一个包含一堆数字的矩阵,但当我尝试将此矩阵分配给其中一个&#34;空&#34; dm中的矩阵:

dm [1,1]&lt; - GetPopulatedMatrix()

我收到以下错误:

replacement has 873 rows, data has 1

我认为这是因为我尝试分配的矩阵与GetPopulatedMatrix返回的矩阵的大小不同,但是我是&#39}。我不知道如何使用正确大小的4个矩阵(假设2x2 dm)初始化data frame。假设我将提前知道GetPopulatedMatrix返回的矩阵的确切尺寸。任何想法我如何初始化dm以便我以后能够为其元素分配一个填充矩阵?

我知道如何使用指定数量的列和行初始化matrix,当矩阵是data frame或其他集合的元素时,我只是不知道该怎么做

提前致谢!我是R的新手,所以我确定这是一个愚蠢的问题,但在我被迫沮丧地毁掉我的电脑之前,这是我的最后手段。

1 个答案:

答案 0 :(得分:1)

您对dm内容的第一个假设是错误的。矩阵m是一个2x2矩阵,每个单元格包含字符串“matrix”。 dm具有相同的内容,但是data.frame

每次拨打GetPopulatedMatrix()时都会返回一个矩阵,但您不知道这些矩阵的维度,我建议您将结果保存在列表中。

results <- list()
results[[1]] <- GetPopulatedMatrix()
results[[2]] <- GetPopulatedMatrix()