【问题标题】:Matrix-shaped list矩阵形列表
【发布时间】:2015-03-18 19:21:25
【问题描述】:

有时,我编写了错误的 R 代码,该代码生成了一个对象,printed 像一个矩阵,但其中的元素是向量。它可能看起来像这样:

        [,1]           [,2]           [,3]
[1,]    character,2    character,2    character,2
[2,]    character,2    character,2    character,2
[3,]    character,2    character,2    character,2

我以前从未打算创建一个,但现在我正在做一个项目,这种数据结构可能会很有用。

这是什么?我怎么做一个?它的属性是什么?对于遍历行和列,其效率与嵌套列表、数组或矩阵列表相比如何?

【问题讨论】:

  • 这是一个列表矩阵。做一个,你可以做matrix(list(c("a", "b")))例如
  • @RichardScriven 所以它只是一个带有.Dim 属性的列表?这是我基于dput(matrix(list(c("a", "b")))) 的印象。这真的很酷,我想知道为什么没有人这样做。无论如何,您应该将其发布为答案。
  • 它实际上是一个对象矩阵,正如你所说的,它只是一个具有维度属性的列表。你可以在里面放任何你想要的东西,包括函数。它基本上像一个列表一样工作,只是您可以使用二维索引访问它。
  • 您还可以访问具有 2 个或更大长度向量的无维度列表中的项目。
  • @BondedDust 我知道,但这不是嵌套列表

标签: r list matrix data-structures


【解决方案1】:

制作一个相当简单:

mtx <- matrix( list(letters[1:2]), 4,4)
mtx
#----------
     [,1]        [,2]        [,3]        [,4]       
[1,] Character,2 Character,2 Character,2 Character,2
[2,] Character,2 Character,2 Character,2 Character,2
[3,] Character,2 Character,2 Character,2 Character,2
[4,] Character,2 Character,2 Character,2 Character,2

属性(以及检索它的函数)被命名为“dim”。我不希望它在访问效率方面有很大不同。 R 中的矩阵实际上只是折叠向量。

【讨论】:

    猜你喜欢
    • 2017-03-25
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    相关资源
    最近更新 更多