【发布时间】:2020-01-15 01:49:45
【问题描述】:
在这里的许多帖子中,人们使用类似的操作
X==x
其中 X 是一个矩阵,x 是 R 中的一个向量。输出是一个 TRUE 和 FALSE 值的矩阵,其维度与 X 相同。TRUE 和 FALSE 在该矩阵中是如何排列的?
【问题讨论】:
标签: r matrix vector boolean-expression
在这里的许多帖子中,人们使用类似的操作
X==x
其中 X 是一个矩阵,x 是 R 中的一个向量。输出是一个 TRUE 和 FALSE 值的矩阵,其维度与 X 相同。TRUE 和 FALSE 在该矩阵中是如何排列的?
【问题讨论】:
标签: r matrix vector boolean-expression
矩阵是具有维度属性的向量,因此可以将其与其他向量进行比较。对于矩阵运算,矩阵被视为具有按列排列的值。我们可以在下面看到
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