【发布时间】:2016-09-04 12:12:06
【问题描述】:
我有 10 个 100x100 矩阵存储在一个列表 (raw_data) 中。我想逐行转换列向量中的每个矩阵,并将所有列绑定在一个数据框中。
基本上,对于每个矩阵 A
A <- matrix(c(1:6), nrow = 2, ncol = 3)
A
[[1, 2, 3],
[4, 5, 6]]
和B
B <- matrix(c(7:12), nrow = 2, ncol = 3)
B
[[7, 8, 9],
[10, 11, 12]]
我想获得一个数据框:
A, B
1, 7
2, 8
3, 9
4, 10
5, 11
6, 12
这是我目前正在使用的解决方案,
fun <- function(x) data.frame(as.vector(t(x), mode = "numeric")) # Tidyr
var_data <- lapply(raw_data[variables], fun) # Tidyr
var_df <- do.call(cbind, var_data) # Tidyr
names(var_df) <- variables
但是它效率不高,我想改用 tidyr 之类的东西。有其他选择吗?
编辑: 列表 raw_data 如下: raw_data = list(A,B)
【问题讨论】:
-
您的矩阵与您的“图片”不匹配