首页 > 解决方案 > 类从“矩阵”突然变为“整数”

问题描述

显然,当以某种方式索引时,一些矩阵保持矩阵,其他以相同方式索引 成为数组。例子:

> test = matrix(1:10, nrow = 2)
> class(test)
[1] "matrix"
> class(test[,1:2])
[1] "matrix"
> test = matrix(1:10, nrow = 1)
> class(test)
[1] "matrix"
> class(test[,1:2])
[1] "integer"

我想知道:

  1. 为什么这是一个功能而不是一个错误?
  2. 有没有一种优雅的方法可以让它保持一个矩阵?(我的意思是,当然,我可以存储在nrow(test)某个地方然后使用matrix(test, nrow = somewhere)),但我希望有一个简洁的单行线来处理原则上应该自动工作的东西。

PS 为什么我觉得这是个问题?因为如果我然后用t()(丢失矩阵结构的向量)转置向量,它会给我一个行向量,我想要一个列向量,因为它在理论上应该是。此外,rowMeans()不再适用于该向量。

标签: rmatrix

解决方案


推荐阅读