R创建矩阵

示例

在底层,矩阵是一种特殊的二维向量。像矢量一样,矩阵只能具有一个数据类。您可以使用matrix如下所示的功能创建矩阵。

matrix(data = 1:6, nrow = 2, ncol = 3)

##      [,1] [,2] [,3]

## [1,]    1    3    5

## [2,]    2    4    6

如您所见,这为我们提供了从1到6的所有数字的矩阵,其中包含两行三列。该data参数采用值的向量,nrow指定矩阵中的行数,并ncol指定列数。按照惯例,矩阵按列填充。可以使用byrow如下所示的参数更改默认行为:

matrix(data = 1:6, nrow = 2, ncol = 3, byrow = TRUE)

##      [,1] [,2] [,3]

## [1,]    1    2    3

## [2,]    4    5    6

矩阵不必是数字-任何矢量都可以转换为矩阵。例如:

matrix(data = c(TRUE, TRUE, TRUE, FALSE, FALSE, FALSE), nrow = 3, ncol = 2)

##      [,1]  [,2]

## [1,] TRUE FALSE

## [2,] TRUE FALSE

## [3,] TRUE FALSE

matrix(data = c("a", "b", "c", "d", "e", "f"), nrow = 3, ncol = 2)

##      [,1] [,2]

## [1,] "a"  "d" 

## [2,] "b"  "e" 

## [3,] "c"  "f"

像矢量一样,矩阵可以存储为变量,然后再调用。矩阵的行和列可以具有名称。你可以看一下这些使用功能rownames和colnames。如下所示,行和列最初没有名称,用表示NULL。但是,您可以为其分配值。

mat1 <- matrix(data = 1:6, nrow = 2, ncol = 3, byrow = TRUE)

rownames(mat1)

## NULL

colnames(mat1)

## NULL

rownames(mat1) <- c("Row 1", "Row 2")

colnames(mat1) <- c("Col 1", "Col 2", "Col 3")

mat1

##       Col 1 Col 2 Col 3

## Row 1     1     2     3

## Row 2     4     5     6

重要的是要注意,类似于向量,矩阵只能具有一种数据类型。如果您尝试指定具有多种数据类型的矩阵,则数据将被强制转换为高阶数据类。

的class,is和as功能可被用于检查和裹胁数据结构在它们在1类中使用的载体相同的方式。

class(mat1)

## [1] "matrix"

is.matrix(mat1)

## [1] TRUE

as.vector(mat1)

## [1] 1 4 2 5 3 6

           

以上是 R创建矩阵 的全部内容, 来源链接: utcz.com/z/334568.html

回到顶部