【问题标题】:Convert matrix of lists (each of length 1) to normal matrix, retaining dimensions将列表矩阵(每个长度为 1)转换为普通矩阵,保留维度
【发布时间】:2016-02-12 15:36:15
【问题描述】:

所以我似乎得到了一些错误的数据,我想将数据提取到更可用的状态,因为计算需要另一天才能运行。目前我有一个列表矩阵,其中每个列表仅包含 1 个数字。是否可以将列表中的每个值删除到具有相同维度的矩阵中?这是输出的样子。

filler = 0
for(j in  1:2){
    for(i in 1:10){
        filler[i] <- as.list(i)
    }
    if(j == 1){
        final <- filler
    }else{
        final <- cbind(final,filler)
    }
}
final <- data.matrix(final)

这是输出的样子

> final[1,1]
$final
[1] 1

> final
      final filler
[1,] 1     1     
[2,] 2     2     
[3,] 3     3     
[4,] 4     4     
[5,] 5     5     
[6,] 6     6     
[7,] 7     7     
[8,] 8     8     
[9,] 9     9     
[10,] 10    10  

【问题讨论】:

  • 这个? matrix(unlist(final), nrow = nrow(final), dimnames = dimnames(final))

标签: r list matrix


【解决方案1】:

列表矩阵(每个长度为 1)final 可以使用以下方法转换为普通矩阵

matrix(unlist(final), nrow = nrow(final), dimnames = dimnames(final))

unlist 返回一个数字向量,然后使用原始矩阵的行数和dimnames 将其转换为新矩阵。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-07
    • 2018-03-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多