📜  从 R 中的向量创建矩阵

📅  最后修改于: 2022-05-13 01:55:05.582000             🧑  作者: Mango

从 R 中的向量创建矩阵

在 R 编程语言中,向量是由同质元素组成的基本对象。向量的数据类型可以是整数、双精度、字符、逻辑、复杂或原始。可以使用c()函数创建向量。
句法:

x <- c(val1, val2, .....)

R中的向量与C语言中的数组相同,用于保存相同类型的多个数据值。向量也可用于创建矩阵。

矩阵可以在向量的帮助下通过使用 R 编程语言中的预定义函数来创建。这些函数将向量作为参数以及矩阵维度的其他几个参数等。

用于矩阵创建的函数:

  • 矩阵()函数
  • cbind()函数
  • rbind()函数

matrix()函数

可用数据存在于单个/多个向量中,然后matrix()函数可用于通过在函数中传递以下参数来创建矩阵。

句法:

matrix(data, nrow, ncol, byrow, dimnames)

在哪里,

示例 1:

# defining data in the vector
x <- c(5:16)
  
# defining row names and column names
rown <- c("row_1", "row_2", "row_3")
coln <- c("col_1", "col_2", "col_3", "col_4")
  
# creating matrix
m <- matrix(x, nrow = 3, byrow = TRUE, 
            dimnames = list(rown, coln))
  
# print matrix
print(m)
  
# print class of m
class(m)

输出:

col_1 col_2 col_3 col_4
row_1     5     6     7     8
row_2     9    10    11    12
row_3    13    14    15    16
[1] "matrix"

如果要使用多个向量中存在的数据创建矩阵,则创建多个向量的向量并将其作为参数传递给matrix()函数。

示例 2:

# defining multiple vectors
x <- c(1:5)
y <- c(11:15)
z <- c(21:25)
  
# creating matrix
m <- matrix(c(x, y, z), ncol = 3)
  
# print matrix
print(m)
  
# print class of m
class(m)

输出:

[, 1] [, 2] [, 3]
[1, ]    1   11   21
[2, ]    2   12   22
[3, ]    3   13   23
[4, ]    4   14   24
[5, ]    5   15   25
[1] "matrix"

cbind()函数

R编程中的cbind()函数用于按列组合向量、数据帧或矩阵,数据集的行数应该相等,否则输出将难以理解。
句法:

cbind(v1, v2, v3, ....., deparse.level)

在哪里,

例子:

# defining multiple vectors
x <- c(1:5)
y <- c(11:15)
z <- c(21:25)
  
# creating matrix
m <- cbind(x, y, z)
  
# print matrix
print(m)
  
# print class of m
class(m)

输出:

x  y  z
[1, ] 1 11 21
[2, ] 2 12 22
[3, ] 3 13 23
[4, ] 4 14 24
[5, ] 5 15 25
[1] "matrix"

rbind()函数

R 编程中的rbind()函数用于按行组合向量、数据帧或矩阵,并且数据集的列数应该相等,否则输出将微不足道。
句法:

rbind(v1, v2, v3, ....., deparse.level)

在哪里,

例子:

# defining multiple vectors
x <- c(1:5)
y <- c(11:15)
z <- c(21:25)
  
# creating matrix
n <- rbind(x, y, z)
  
# print matrix
print(n)
  
# print class of m
class(n)

输出:

[, 1] [, 2] [, 3] [, 4] [, 5]
x    1    2    3    4    5
y   11   12   13   14   15
z   21   22   23   24   25
[1] "matrix"