R 关于更大/更小限制的if声明
我想编程一个if语句,它将矩阵限制在(-1)到1的区间内 输入:R 关于更大/更小限制的if声明,r,if-statement,matrix,R,If Statement,Matrix,我想编程一个if语句,它将矩阵限制在(-1)到1的区间内 输入: alpha=matrix(c(-2,0.5,3,0.2,0.8,0.5,0.2,0.8,0.1),3,3) 所以结果是 alpha>1 [,1] [,2] [,3] [1,] FALSE FALSE FALSE [2,] FALSE FALSE FALSE [3,] TRUE FALSE FALSE alpha<(-1) [,1] [,2] [,3] [1,] TRUE FALSE FA
alpha=matrix(c(-2,0.5,3,0.2,0.8,0.5,0.2,0.8,0.1),3,3)
所以结果是
alpha>1
[,1] [,2] [,3]
[1,] FALSE FALSE FALSE
[2,] FALSE FALSE FALSE
[3,] TRUE FALSE FALSE
alpha<(-1)
[,1] [,2] [,3]
[1,] TRUE FALSE FALSE
[2,] FALSE FALSE FALSE
[3,] FALSE FALSE FALSE
如何对(if)条件进行编程?在赋值操作的左侧使用逻辑索引:
> alpha [ alpha < -1 ] <- -.99
> alpha [ alpha > 1 ] <- .99
> alpha
[,1] [,2] [,3]
[1,] -0.99 0.2 0.2
[2,] 0.50 0.8 0.8
[3,] 0.99 0.5 0.1
>alpha[alpha<-1]alpha[alpha>1]alpha
[,1] [,2] [,3]
[1,] -0.99 0.2 0.2
[2,] 0.50 0.8 0.8
[3,] 0.99 0.5 0.1
R
if
不是数据操作的好功能。学习使用赋值操作左侧的逻辑索引:
> alpha [ alpha < -1 ] <- -.99
> alpha [ alpha > 1 ] <- .99
> alpha
[,1] [,2] [,3]
[1,] -0.99 0.2 0.2
[2,] 0.50 0.8 0.8
[3,] 0.99 0.5 0.1
>alpha[alpha<-1]alpha[alpha>1]alpha
[,1] [,2] [,3]
[1,] -0.99 0.2 0.2
[2,] 0.50 0.8 0.8
[3,] 0.99 0.5 0.1
Rif
不是数据操作的好函数。请学习使用[
> alpha [ alpha < -1 ] <- -.99
> alpha [ alpha > 1 ] <- .99
> alpha
[,1] [,2] [,3]
[1,] -0.99 0.2 0.2
[2,] 0.50 0.8 0.8
[3,] 0.99 0.5 0.1