【问题标题】:What does it mean to equate a matrix with a vector in R将矩阵与R中的向量等同是什么意思
【发布时间】:2020-01-15 01:49:45
【问题描述】:

在这里的许多帖子中,人们使用类似的操作

X==x

其中 X 是一个矩阵,x 是 R 中的一个向量。输出是一个 TRUE 和 FALSE 值的矩阵,其维度与 X 相同。TRUE 和 FALSE 在该矩阵中是如何排列的?

【问题讨论】:

    标签: r matrix vector boolean-expression


    【解决方案1】:

    矩阵是具有维度属性的向量,因此可以将其与其他向量进行比较。对于矩阵运算,矩阵被视为具有按列排列的值。我们可以在下面看到

    X = matrix(1:9, 3, 3)
    
    X
    #      [,1] [,2] [,3]
    # [1,]    1    4    7
    # [2,]    2    5    8
    # [3,]    3    6    9
    
    as.vector(X)
    # [1] 1 2 3 4 5 6 7 8 9
    

    我们可以这样看到 dim 属性:

    attributes(X)
    # $dim
    # [1] 3 3
    

    如果我们删除 dim 属性,我们只剩下一个向量

    attr(X, 'dim') = NULL
    X
    [1] 1 2 3 4 5 6 7 8 9
    

    【讨论】:

    • 好的,但是两个向量如何比较呢?我的意思是采取x= c(4:6), y=c(1:9)。然后x==y 显示FALSE FALSE FALSE TRUE TRUE TRUE FALSE FALSE FALSE。为什么?
    • 那是一个完全不同的问题。原因是较短的向量被“回收”到较长的向量的长度。所以就像比较c(4:6, 4:6, 4:6) == 1:9
    • 这些问题不是不相关的,我已经包含在我要问的问题中 TRUE 和 FALSE 如何在输出中分布。
    猜你喜欢
    • 1970-01-01
    • 2018-12-29
    • 2012-08-17
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 2011-01-22
    相关资源
    最近更新 更多