r - c命令默认在R中创建行向量还是列向量

标签 r

在R中,当我使用如下命令时:

b <-c(7,10)
b


默认情况下会创建行向量(1行,2列)还是列向量(1行,2列)?

从显示的输出中我看不出来。
我是R初学者(显而易见:)

最佳答案

都不行向量默认情况下没有维度属性,仅具有长度。

如果查看有关矩阵算术的文档help("%*%"),则会看到:


如果两个矩阵相符,则将它们相乘。如果一个参数是一个
向量,它将被提升为行或列矩阵
这两个论点是一致的。如果两个都是相同长度的向量,
它将返回内部乘积(作为矩阵)。


因此,R将以使矩阵乘积有意义的任何方式解释向量。

一些例子说明:

> b <- c(7,10)
> b
[1]  7 10
> dim(b) <- c(1,2)
> b
     [,1] [,2]
[1,]    7   10
> dim(b) <- c(2,1)
> b
     [,1]
[1,]    7
[2,]   10
> class(b)
[1] "matrix"
> dim(b) <- NULL
> b
[1]  7 10
> class(b)
[1] "numeric"


矩阵只是具有维度属性的向量。因此,添加显式维使其成为矩阵,而R会在上下文中以任何可行的方式做到这一点。

还有一个在矩阵乘法中的行为示例:

> m <- matrix(1:2,1,2)
> m
     [,1] [,2]
[1,]    1    2
> m %*% b
     [,1]
[1,]   27
> m <- matrix(1:2,2,1)
> m %*% b
     [,1] [,2]
[1,]    7   10
[2,]   14   20

关于r - c命令默认在R中创建行向量还是列向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31277806/

相关文章:

r - 响应式(Reactive)值(value)和响应式(Reactive)表达有什么区别?

r - ggplot2 中每个方面的不同轴限制

r - 使用预测精度函数

用 R 转置的结果应用

r - 计算矩阵的特征值多少钱?

r - 如何从一个图中的多列创建点图?

r - dplyr - 像 rowmeans() 一样使用 mutate()

c++ - 在 Windows 上使用与 Rtools 和 Rcpp 包含的版本不同的 gcc 版本

r - 将多个组合矩阵合并在一起

在 Shiny 中使用迷你图渲染数据表