在这个简短的教程中,你将学习如何在R中创建一个矩阵。我们将使用matrix() 函数,以及其他两个函数来达到这个目的。具体来说,我们将深入了解这个函数的细节,因为这将使我们能够为我们创建的矩阵中的列和行命名。也就是说,我们将看看R中matrix() 函数的不同参数。在下一节中,你将看到本教程的大纲。
R创建矩阵
大纲
如前所述,本篇文章将通过实例介绍R语言中矩阵的创建。然而,在第一节中,我们将看一下matrix() 函数(我们将用来创建矩阵的函数)的不同参数。在第二部分,我们将回答 "什么是R中的矩阵?"和 "如何在R中创建矩阵?"的问题。
在这两个问题(和答案)之后,我们将继续讲第一个例子,如何在R中创建一个矩阵。在这里,我们将在R中创建一个矩阵时使用matrix() 函数。在第二个例子中,我们将看看如何使用rbind() 函数将几个向量组合成一个矩阵。之后,我们将使用cbind() 来完成同样的工作(但结果不同),然后是rbind() 函数。在这两个例子中,我们将看到如何从R语言中的向量创建一个矩阵。第5个例子将告诉你必须创建一个空矩阵,最后一个例子将告诉你如何命名行和列。在第6个,也是最后一个例子中,你将学习如何在R中创建一个零的矩阵。
什么是R语言中的矩阵?
在R语言中,矩阵是具有相同数据类型(如数字、字符或逻辑)的元素的集合。)此外,这些元素被排列成固定数量的行和列(例如,3行和3列,10行和2列)。这种类型的数据是二维的。
如何在R中创建一个矩阵?
在R中可以使用matrix()函数来创建一个矩阵。例如,下面的代码将产生一个3乘3的矩阵:
mtx <- matrix(3:11, nrow = 3, ncol = 3)
此外,还可以结合向量来创建一个矩阵。
在下一节中,你将了解到Matrix()函数的概况。
Matrix()函数的语法
下面是矩阵函数的一般语法。
matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE,
dimnames = NULL)
Code language: PHP (php)
正如你所看到的,有5个参数可以使用:
- data - 这个参数是可选的,它将包含例如数据的一个向量(见上一节或下面的例子)。
- nrow - 这个参数用来获取你想要的行数(见接下来的例子)。
- ncol - 这个参数和nrow一样,是用来获取你所创建的矩阵的列数的。
- dimnames - 如果你想给列和行命名,可以使用这个参数(见本帖最后一个例子)
在下一节中,我们将在R中创建我们的第一个矩阵。
如何在R语言中创建一个矩阵--例子1
下面是如何创建一个矩阵的第一个例子。
mtx <- matrix(seq(1,9),
nrow = 3,
ncol = 3)
Code language: HTML, XML (xml)
正如你所看到的,在上面的代码块中,我们使用seq()函数在R中创建一个序列(即一个矢量)。此外,我们使用nrow 和ncol 参数来告诉matrix()函数,我们想创建一个三乘三的矩阵。下面是这个名为mtx 的矩阵的样子。
在下一个例子中,我们将看看如何创建一个矩阵并将byrow 参数设置为TRUE 。
例2:在R中通过行来创建一个矩阵
下面是我们如何在R中创建一个矩阵,从一个数字序列(即一个向量)中,按行获取数字。
mtx <- matrix(seq(1,9),
nrow = 3,
ncol = 3,
byrow = TRUE)
Code language: R (r)
请注意,我们可以通过在R中使用t() 函数对矩阵进行转置来翻转顺序(即输入t(mtx) )。这将导致一个与第一个例子中的矩阵一模一样。这里有一篇关于R语言转置的文章,可以了解更多信息。
在下一个例子中,我们将看看如何使用cbind() ,将三个向量合并成一个矩阵。
例3:使用cbind()函数从R中的向量创建一个矩阵
下面是如何使用cbind() 函数在R中产生一个矩阵。
mtx <- cbind(seq(1,3), seq(4, 6),
seq(7, 9))
注意,当我们碰巧已经有以向量形式存储的数据时,这种方法可能更可行。下面是创建的矩阵。
用cbind()在R中创建矩阵
正如你在上面的图片中看到的,我们得到的结果与第一个例子中的完全一样。在下一个例子中,在回到使用matrix() 函数之前,我们将看一下
例四:使用rbind()函数从R中的向量创建一个矩阵
下面是如何使用rbind() 函数从R中的向量创建一个矩阵。
mtx <- rbind(seq(1,3), seq(4, 6),
seq(7, 9))
和cbind() 创建矩阵的方法一样,当我们有向量的数据时,首先用这种方法创建矩阵可能更有用。下面是创建的矩阵。
用rbind()从R中的向量创建一个矩阵
同样,这种方法创建的矩阵与例2中的相同。在下一个例子中,我们将看看如何在R中创建一个空矩阵。
例5:如何在R语言中创建一个空的矩阵
下面是我们如何在R中创建一个空矩阵。
empty_matrix <- matrix(nrow = 4, ncol = 4)
Code language: HTML, XML (xml)
如你所见,这次我们跳过了第一个参数(即_数据_)。然而,我们确实创建了一个4乘4的空矩阵,下面是结果。
空的矩阵
现在可以用数据(即计算)来填充这个空矩阵。在下一个例子中,我们将看看在创建矩阵时如何命名行和列。
例6:在R中创建矩阵时如何命名行和列
现在,为了在创建矩阵时命名行和列,我们使用dimnames 参数。
mtx <- matrix(seq(1,9),
nrow = 3,
ncol = 3,
dimnames = list(c("1", "2" ,"3"),
c("Vector", "List", "Matrix")))
Code language: PHP (php)
在上面的代码块中,我们给行的命名非常简单:1、2、3。为了好玩,我们将列命名为 "向量"、"列表 "和 "矩阵"。
在下一个,也是最后一个例子中,你将学习如何在R中生成一个零的矩阵。
例7:如何在R语言中创建一个零点矩阵
下面是我们如何在R语言中创建一个零点矩阵的方法。
mtx_zeros <- matrix(rep(0, 9),
ncol = 3,
nrow = 3)
Code language: R (r)
在上面的代码块中,我们使用 R中的rep()函数将数字0重复9次。这使我们能够生成一个由零填充的矩阵。下面是结果。
零的矩阵
总结
在这篇文章中,你已经学会了如何在R中创建矩阵。更具体地说,你已经通过6个例子学会了。首先,我们快速浏览了matrix() 函数和它的语法。其次,我们回答了一些问题。此外,你已经通过例子学习了如何制作矩阵。首先,我们刚刚用一串数字和nrow 、ncol 参数创建了一个3×3的矩阵。第二,我们使用byrow 参数得到了一个稍微不同的矩阵。在第三和第四个例子中,我们分别使用了cbind() 和rbind() 函数。随后,我们学习了如何在R中创建一个空矩阵,以及在创建矩阵时如何命名列和行。我希望你能学到一些东西。如果你做到了,请在你的社交媒体账户上分享这篇文章,并在下面留下评论。