我有一个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的新手,所以我确定这是一个愚蠢的问题,但在我被迫沮丧地毁掉我的电脑之前,这是我的最后手段。
答案 0 :(得分:1)
您对dm
内容的第一个假设是错误的。矩阵m
是一个2x2矩阵,每个单元格包含字符串“matrix”。 dm
具有相同的内容,但是data.frame
。
每次拨打GetPopulatedMatrix()
时都会返回一个矩阵,但您不知道这些矩阵的维度,我建议您将结果保存在列表中。
results <- list()
results[[1]] <- GetPopulatedMatrix()
results[[2]] <- GetPopulatedMatrix()