将矩阵列表转换为向量的数据帧。

时间:2017-03-21 20:31:45

标签: r

我有一个包含行名和列名的矩阵列表。

matrix.list <-lapply(1:3, function(x) matrix(rnorm(6, 10, 1), nrow=3, ncol=3,dimnames = list(c('a','b','c'),c('a','b','c'))))

矩阵也有名字。

names(matrix.list) <- c('cool','pizza','taco')

我希望此列表成为每个矩阵的数据帧作为向量。保留行名或列名并不重要。此外,我希望数据框中每个向量的名称是矩阵列表中矩阵的名称。这是一种方法,需要输入列表中我想要进入数据框的每个矩阵的位置:

data <- data.frame(as.vector(matrix.list[[1]]), as.vector(matrix.list[[2]]), as.vector(matrix.list[[3]]))
colnames(data) <- names(matrix.list)

data
       cool     pizza      taco
1 10.039986 10.186506 11.765118
2 10.218540  9.881437 10.940238
3  9.991317  8.768257 11.056617
4  9.454922  9.726288  8.786040
5  9.799430  9.730105  8.495879
6  9.491335 11.836056  9.825230
7 10.039986 10.186506 11.765118
8 10.218540  9.881437 10.940238
9  9.991317  8.768257 11.056617

我该如何做得更好?

0 个答案:

没有答案