【发布时间】:2021-11-02 19:41:37
【问题描述】:
以下论点
x <- c(1,3,4,24,1,2,2,2,1,3,3,1,1,0,8)
A <- matrix(x,nrow = 5)
n <- ncol(A)
t(A)
meancol <- colMeans(A)
meancol
t(t(meancol))
我写信是想问为什么t(A),我只需要输入t()就可以得到我想要的,但是对于meancol,我需要输入t(t())才能得到结果。
【问题讨论】:
以下论点
x <- c(1,3,4,24,1,2,2,2,1,3,3,1,1,0,8)
A <- matrix(x,nrow = 5)
n <- ncol(A)
t(A)
meancol <- colMeans(A)
meancol
t(t(meancol))
我写信是想问为什么t(A),我只需要输入t()就可以得到我想要的,但是对于meancol,我需要输入t(t())才能得到结果。
【问题讨论】:
注意meancol <- colMeans(A) 的输出不是矩阵,然后函数 transpose 将其解释为向量。
从函数t()的Details我们有:
详细信息 这是一个可以为其编写方法的通用函数。 此处的描述适用于默认和“data.frame”方法。
数据框首先被强制转换为矩阵:参见 as.matrix。当 x 是 向量,它被视为一列,即结果是一个1行矩阵。
向量被读取为 1 列矩阵,因此结果为 1 行矩阵。
【讨论】:
t(t(meancol)) 返回的列向量。
meancol 是一个向量,只是被t() 解释为一列,因此t(meancol) 是一行。 t(t(meancol) 然后是一列