如何在data.frame中包含一列矩阵?

时间:2014-05-06 21:44:37

标签: r dataframe

我想存储许多回归模型的输出,包括每个模型的回归系数和信息矩阵。

为了存储结果,如果可以使用具有两列的数据帧将是方便的,一列用于回归系数,一列用于信息矩阵。我该如何创建这样的数据框?

res = data.frame(mu = I(matrix(0, m, n)), j = ???)

(在这种情况下,j似乎应该是一个数组。)

2 个答案:

答案 0 :(得分:1)

您可以在数据帧诞生时不要尝试。您可以稍后添加(如下所示)。我偶尔也做过同样的事情,到目前为止还没有R神试图摧毁我。也许不是最好的,但data.framelist,所以可以做到。有时虽然data.frame的可视表格格式可能比列表更好。

dat <- data.frame(coeff = 1:10)
dat$mats <- lapply(1:10, function(i) matrix(1:4, 2))

dat[1, 2]

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

答案 1 :(得分:0)

当您拥有矩形数据时,Data.frames效果最佳;特别是相同长度的原子矢量的集合。试图在其中推送其他数据并不是一个好主意。另外,将一行一行地添加到data.frame并不是一项有效的操作。 R中所有对象的常规容器是列表。我可以保存您列出的任何内容,您可以根据自己的喜好命名元素。不确定为什么你认为你可能需要一个data.frame。

相关问题