×

R 教程

R语言 概述R语言 环境设置R语言 基本语法R语言 数据类型R语言 变量R语言 运算符R语言 决策R语言 包R语言 循环R语言 数据重塑R语言 函数R语言 字符串R语言 向量R语言 列表R语言 矩阵R语言 数组R语言 因子R语言 数据帧

R语言 图表

R语言 条形图R语言 箱线图R语言 直方图R语言 折线图R语言 散点图R语言 饼状图

R语言 数据接口

R语言 CSV文件R语言 Excel文件R语言 二进制文件R语言 XML文件R语言 JSON文件R语言 Web数据R语言 数据库

R语言 统计示例

R语言 平均值,中位数和模式R语言 线性回归R语言 多重回归R语言 逻辑回归R语言 标准分布R语言 二项分布R语言 泊松回归R语言 协方差分析R语言 时间序列分析R语言 非线性最小二乘R语言 决策树R语言 随机森林算法R语言 生存分析R语言 卡方检验

R语言 相关资源

R语言 外部资源R语言 相关讨论R语言 面试题

R语言 矩阵


矩阵是其中元素以二维矩形布局布置的R对象。 它们包含相同原子类型的元素。 虽然我们可以创建一个只包含字符或只包含逻辑值的矩阵,但它们没有太多用处。 我们使用包含数字元素的矩阵用于数学计算。

使用matrix()函数创建一个矩阵。

语法

在R语言中创建矩阵的基本语法是 -

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

以下是所使用的参数的说明 -

  • 数据是成为矩阵的数据元素的输入向量。

  • nrow是要创建的行数。

  • ncol是要创建的列数。

  • byrow是一个逻辑线索。 如果为TRUE,则输入向量元素按行排列。

  • dimname是分配给行和列的名称。

创建一个以数字向量作为输入的矩阵

# Elements are arranged sequentially by row.
M <- matrix(c(3:14), nrow = 4, byrow = TRUE)
print(M)

# Elements are arranged sequentially by column.
N <- matrix(c(3:14), nrow = 4, byrow = FALSE)
print(N)

# Define the column and row names.
rownames = c("row1", "row2", "row3", "row4")
colnames = c("col1", "col2", "col3")

P <- matrix(c(3:14), nrow = 4, byrow = TRUE, dimnames = list(rownames, colnames))
print(P)

当我们执行上面的代码,它产生以下结果 -

     [,1] [,2] [,3]
[1,]    3    4    5
[2,]    6    7    8
[3,]    9   10   11
[4,]   12   13   14
     [,1] [,2] [,3]
[1,]    3    7   11
[2,]    4    8   12
[3,]    5    9   13
[4,]    6   10   14
     col1 col2 col3
row1    3    4    5
row2    6    7    8
row3    9   10   11
row4   12   13   14

访问矩阵的元素

可以通过使用元素的列和行索引来访问矩阵的元素。 我们考虑上面的矩阵P找到下面的具体元素。

# Define the column and row names.
rownames = c("row1", "row2", "row3", "row4")
colnames = c("col1", "col2", "col3")

# Create the matrix.
P <- matrix(c(3:14), nrow = 4, byrow = TRUE, dimnames = list(rownames, colnames))

# Access the element at 3rd column and 1st row.
print(P[1,3])

# Access the element at 2nd column and 4th row.
print(P[4,2])

# Access only the  2nd row.
print(P[2,])

# Access only the 3rd column.
print(P[,3])

当我们执行上面的代码,它产生以下结果 -

[1] 5
[1] 13
col1 col2 col3 
   6    7    8 
row1 row2 row3 row4 
   5    8   11   14 

矩阵计算

使用R运算符对矩阵执行各种数学运算。 操作的结果也是一个矩阵。
对于操作中涉及的矩阵,维度(行数和列数)应该相同。

矩阵加法和减法

# Create two 2x3 matrices.
matrix1 <- matrix(c(3, 9, -1, 4, 2, 6), nrow = 2)
print(matrix1)

matrix2 <- matrix(c(5, 2, 0, 9, 3, 4), nrow = 2)
print(matrix2)

# Add the matrices.
result <- matrix1 + matrix2
cat("Result of addition","
")
print(result)

# Subtract the matrices
result <- matrix1 - matrix2
cat("Result of subtraction","
")
print(result)

当我们执行上面的代码,它产生以下结果 -

     [,1] [,2] [,3]
[1,]    3   -1    2
[2,]    9    4    6
     [,1] [,2] [,3]
[1,]    5    0    3
[2,]    2    9    4
Result of addition 
     [,1] [,2] [,3]
[1,]    8   -1    5
[2,]   11   13   10
Result of subtraction 
     [,1] [,2] [,3]
[1,]   -2   -1   -1
[2,]    7   -5    2

矩阵乘法和除法

# Create two 2x3 matrices.
matrix1 <- matrix(c(3, 9, -1, 4, 2, 6), nrow = 2)
print(matrix1)

matrix2 <- matrix(c(5, 2, 0, 9, 3, 4), nrow = 2)
print(matrix2)

# Multiply the matrices.
result <- matrix1 * matrix2
cat("Result of multiplication","
")
print(result)

# Divide the matrices
result <- matrix1 / matrix2
cat("Result of division","
")
print(result)

当我们执行上面的代码,它产生以下结果 -

     [,1] [,2] [,3]
[1,]    3   -1    2
[2,]    9    4    6
     [,1] [,2] [,3]
[1,]    5    0    3
[2,]    2    9    4
Result of multiplication 
     [,1] [,2] [,3]
[1,]   15    0    6
[2,]   18   36   24
Result of division 
     [,1]      [,2]      [,3]
[1,]  0.6      -Inf 0.6666667
[2,]  4.5 0.4444444 1.5000000

分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)