R语言 改变矩阵的行和列值 – sweep()函数
在这篇文章中,我们将学习在R语言中改变矩阵的行和列的值。
R语言 – sweep()函数
R语言中的 sweep() 函数用于对数据矩阵中的行或列应用 “+或-“操作。它用于从数据框架中扫除数值。
语法: sweep(x, MARGIN, STATS, FUN)
参数
- x: 通常是一个矩阵。
- MARGIN: MARGIN=1表示行;MARGIN=2表示列。
- STATS: 应该被添加或减去的值
- FUN: 要做的操作(例如:+或-)。
例1:扫频矩阵
# R program to illustrate
# sweep matrix
# Create example matrix
data <- matrix(0, nrow = 6, ncol = 4)
# Apply sweep in R
data_ex1 <- sweep(x = data, MARGIN = 1,
STATS = 5, FUN = "+")
# Print example 1
print(data_ex1)
输出
[,1] [,2] [,3] [,4]
[1,] 5 5 5 5
[2,] 5 5 5 5
[3,] 5 5 5 5
[4,] 5 5 5 5
[5,] 5 5 5 5
[6,] 5 5 5 5
在上面的代码中,矩阵的值是0,然后被sweep()函数扫过,矩阵的新值变为5。
例子2:使用sweep()与统计信息
# R program to illustrate
# sweep function with stats
# Create example matrix
data <- matrix(0, nrow = 6, ncol = 4)
# Sweep with Complex STATS
data_ex2 <- sweep(x = data, MARGIN = 1,
STATS = c(1, 2, 3, 4, 5, 6),
FUN = "+")
# Print example 2
print(data_ex2)
输出
[,1] [,2] [,3] [,4]
[1,] 1 1 1 1
[2,] 2 2 2 2
[3,] 3 3 3 3
[4,] 4 4 4 4
[5,] 5 5 5 5
[6,] 6 6 6 6
在上面的例子中,我们使用了sweep()函数和统计数字。