Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 关于更大/更小限制的if声明_R_If Statement_Matrix - Fatal编程技术网

R 关于更大/更小限制的if声明

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

我想编程一个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 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
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