繁体   English   中英

矩阵作为 R 中数据帧的元素

[英]Matrix as element of a dataframe in R

我有一个遍历元素列表的 lapply 函数。 对于每个元素,结果是一个矩阵。 基于元素列表和矩阵列表,我想返回表单的数据框列表

element1, matrix1
element2, matrix2
...
...
elementn, matrixn

例子:

e <- list(1,2)
r <- lapply(e, function(x) matrix(ncol = x, nrow = x))

我想得到一个包含这些元素的列表

(1, matrix(1x1))
(2, matrix(2x2))

您可以在lapply函数中构造数据框,使用I(list(...))可以将矩阵包装为数据框中的一个元素:

r <- lapply(e, function(x) data.frame(element = x, mat = I(list(matrix(ncol = x, nrow = x)))))

这给出了数据框的列表:

r
# [[1]]
#   element mat
# 1       1  NA

# [[2]]
#   element          mat
# 1       2 NA, NA, ....

您可以将结果与do.call(rbind, ...)一起使用:

do.call(rbind, r)
#   element          mat
# 1       1           NA
# 2       2 NA, NA, ....

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM