如何根据R中的条件用另一个值替换矩阵中的值?
矩阵只有数字值,有时这些值输入不正确,或者我们可能要根据某些条件替换矩阵中的某些值。例如,如果矩阵中只有很少的5,那么我们可能希望将所有5替换为另一个大于5或小于5的数字。
示例
考虑下面的矩阵-
set.seed(123)M <-matrix(sample(1:50,25),nrow=5)
M
输出结果
[,1] [,2] [,3] [,4] [,5][1,] 31 43 27 29 36
[2,] 15 37 5 8 19
[3,] 14 48 40 41 4
[4,] 3 25 28 7 45
[5,] 42 26 9 10 17
根据不同条件替换值-
示例
M[M <5]<-10M
输出结果
[,1] [,2] [,3] [,4] [,5][1,] 31 43 27 29 36
[2,] 15 37 5 8 19
[3,] 14 48 40 41 10
[4,] 10 25 28 7 45
[5,] 42 26 9 10 17
示例
M[M=5] <-15M
输出结果
[,1] [,2] [,3] [,4] [,5][1,] 31 43 27 29 36
[2,] 15 37 5 8 19
[3,] 14 48 40 41 10
[4,] 10 25 28 7 45
[5,] 15 26 9 10 17
漂亮打印
M[M==5] <-15M
输出结果
[,1] [,2] [,3] [,4] [,5][1,] 31 43 27 29 36
[2,] 15 37 15 8 19
[3,] 14 48 40 41 10
[4,] 10 25 28 7 45
[5,] 15 26 9 10 17
示例
M[M<10&M>5]<-21M
输出结果
[,1] [,2] [,3] [,4] [,5][1,] 31 43 27 29 36
[2,] 15 37 15 21 19
[3,] 14 48 40 41 10
[4,] 10 25 28 21 45
[5,] 15 26 21 10 17
示例
M[M >30]<-25M
输出结果
[,1] [,2] [,3] [,4] [,5][1,] 25 25 27 29 25
[2,] 15 25 15 21 19
[3,] 14 25 25 25 10
[4,] 10 25 28 21 25
[5,] 15 26 21 10 17
示例
M[M==14] <-25M
输出结果
[,1] [,2] [,3] [,4] [,5][1,] 25 25 27 29 25
[2,] 15 25 15 21 19
[3,] 25 25 25 25 10
[4,] 10 25 28 21 25
[5,] 15 26 21 10 17
示例
M[M==17] <-15M
输出结果
[,1] [,2] [,3] [,4] [,5][1,] 25 25 27 29 25
[2,] 15 25 15 21 19
[3,] 25 25 25 25 10
[4,] 10 25 28 21 25
[5,] 15 26 21 10 15
示例
M[M>25&M <30]<-25M
输出结果
[,1] [,2] [,3] [,4] [,5][1,] 25 25 25 25 25
[2,] 15 25 15 21 19
[3,] 25 25 25 25 10
[4,] 10 25 25 21 25
[5,] 15 25 21 10 15
以上是 如何根据R中的条件用另一个值替换矩阵中的值? 的全部内容, 来源链接: utcz.com/z/361186.html