如果 R 中满足单个值的条件,则获取矩阵作为输出。
r programmingserver side programmingprogramming更新于 2025/4/9 13:37:17
如果我们要检查条件,并且基于该条件的输出需要是矩阵,那么我们可以在 R 中使用 if else 函数。
例如,如果我们有一个值,比如 V = 5,并且我们想在 V 等于 5 时获取矩阵 M1,在 V 不等于 5 时获取矩阵 M2,那么我们可以使用以下命令 −
if (V == 5) M1 else M2
示例
以下代码片段创建了一个示例矩阵 −
M1<-matrix(rpois(80,10),ncol=4) M1
创建以下矩阵 −
[,1] [,2] [,3] [,4] [1,] 5 6 11 7 [2,] 8 13 7 11 [3,] 9 7 11 13 [4,] 11 14 9 12 [5,] 8 14 9 9 [6,] 9 7 11 7 [7,] 12 9 16 10 [8,] 4 11 9 7 [9,] 14 15 11 6 [10,] 12 5 3 8 [11,] 10 8 9 10 [12,] 11 7 11 10 [13,] 17 12 6 7 [14,] 15 7 7 13 [15,] 16 15 5 17 [16,] 7 7 9 9 [17,] 8 14 5 6 [18,] 14 8 8 7 [19,] 9 8 8 14 [20,] 13 10 12 10
若要在 R 中获取矩阵作为输出,如果满足单个值的条件,则在上述创建的矩阵上,将以下代码添加到上述代码片段 −
M1<-matrix(rpois(80,10),ncol=4) M2<-matrix(rpois(80,1),ncol=4) M2
创建以下矩阵 −
[,1] [,2] [,3] [,4] [1,] 2 0 2 4 [2,] 0 1 1 2 [3,] 0 0 0 0 [4,] 0 3 1 1 [5,] 0 1 1 0 [6,] 0 1 2 1 [7,] 0 1 0 0 [8,] 2 0 2 1 [9,] 0 1 0 0 [10,] 0 2 1 1 [11,] 1 0 1 2 [12,] 0 1 0 1 [13,] 0 2 0 0 [14,] 1 0 2 0 [15,] 0 0 0 1 [16,] 1 1 1 0 [17,] 0 1 2 1 [18,] 1 0 1 1 [19,] 0 2 1 0 [20,] 2 2 1 2
为了在上述创建的数据框中获取矩阵作为输出条件值是否等于 5,请将以下代码添加到上述代码片段中 −
M1<-matrix(rpois(80,10),ncol=4) M2<-matrix(rpois(80,1),ncol=4) Conditional_Value<-2 if (Conditional_Value == 5) M1 else M2
创建以下矩阵 −
[,1] [,2] [,3] [,4] [1,] 2 0 2 4 [2,] 0 1 1 2 [3,] 0 0 0 0 [4,] 0 3 1 1 [5,] 0 1 1 0 [6,] 0 1 2 1 [7,] 0 1 0 0 [8,] 2 0 2 1 [9,] 0 1 0 0 [10,] 0 2 1 1 [11,] 1 0 1 2 [12,] 0 1 0 1 [13,] 0 2 0 0 [14,] 1 0 2 0 [15,] 0 0 0 1 [16,] 1 1 1 0 [17,] 0 1 2 1 [18,] 1 0 1 1 [19,] 0 2 1 0 [20,] 2 2 1 2