查找列的方差是数据分析中的常见任务,但是通常以宽格式而不是长格式提供数据,因此,案例是垂直表示的,变量是水平对齐的,并且该数据可以矩阵或任何其他形式提供。因此,可以使用apply函数轻松找到方差。
M1<-matrix(1:25,ncol=5) M1
输出结果
[,1] [,2] [,3] [,4] [,5] [1,] 1 6 11 16 21 [2,] 2 7 12 17 22 [3,] 3 8 13 18 23 [4,] 4 9 14 19 24 [5,] 5 10 15 20 25
apply(M1,1,var)
输出结果
[1] 62.5 62.5 62.5 62.5 62.5
M2<-matrix(1:100,nrow=10) M2
输出结果
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 1 11 21 31 41 51 61 71 81 91 [2,] 2 12 22 32 42 52 62 72 82 92 [3,] 3 13 23 33 43 53 63 73 83 93 [4,] 4 14 24 34 44 54 64 74 84 94 [5,] 5 15 25 35 45 55 65 75 85 95 [6,] 6 16 26 36 46 56 66 76 86 96 [7,] 7 17 27 37 47 57 67 77 87 97 [8,] 8 18 28 38 48 58 68 78 88 98 [9,] 9 19 29 39 49 59 69 79 89 99 [10,] 10 20 30 40 50 60 70 80 90 100
apply(M2,1,var)
输出结果
[1] 916.6667 916.6667 916.6667 916.6667 916.6667 916.6667 916.6667 916.6667 [9] 916.6667 916.6667
M3<-matrix(1:60,nrow=20) M3
输出结果
[,1] [,2] [,3] [1,] 1 21 41 [2,] 2 22 42 [3,] 3 23 43 [4,] 4 24 44 [5,] 5 25 45 [6,] 6 26 46 [7,] 7 27 47 [8,] 8 28 48 [9,] 9 29 49 [10,] 10 30 50 [11,] 11 31 51 [12,] 12 32 52 [13,] 13 33 53 [14,] 14 34 54 [15,] 15 35 55 [16,] 16 36 56 [17,] 17 37 57 [18,] 18 38 58 [19,] 19 39 59 [20,] 20 40 60
apply(M3,1,var)
输出结果
[1] 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 400 [20] 400
M4<-matrix(rnorm(30,5,1),nrow=15) M4
输出结果
[,1] [,2] [1,] 5.517894 6.105346 [2,] 4.008269 3.640526 [3,] 5.484878 6.779180 [4,] 4.534817 6.723722 [5,] 5.602067 4.032113 [6,] 5.884524 4.910336 [7,] 3.234350 5.824891 [8,] 4.188615 4.874050 [9,] 3.367234 5.062664 [10,] 6.430093 3.369706 [11,] 4.364802 5.902848 [12,] 5.536012 7.037217 [13,] 5.096840 4.269251 [14,] 6.154817 4.320163 [15,] 5.070610 5.150351
apply(M4,1,var)
输出结果
[1] 0.021906088 0.711543659 0.632177226 0.822552459 0.273495182 1.132347512 [7] 0.058730197 1.369282431 1.130733174 0.625609262 2.226411932 0.081628957 [13] 0.237108400 0.001073659 0.011819879
M5<-matrix(runif(40,1,2),nrow=20) M5
输出结果
[,1] [,2] [1,] 1.797724 1.045920 [2,] 1.663738 1.404009 [3,] 1.751550 1.920017 [4,] 1.250277 1.445597 [5,] 1.344217 1.975511 [6,] 1.186875 1.877203 [7,] 1.232352 1.912921 [8,] 1.848107 1.016703 [9,] 1.997422 1.888561 [10,] 1.370770 1.548419 [11,] 1.564406 1.925559 [12,] 1.316188 1.024001 [13,] 1.373600 1.642644 [14,] 1.880770 1.861855 [15,] 1.230204 1.628706 [16,] 1.339799 1.782240 [17,] 1.128182 1.186216 [18,] 1.862291 1.140511 [19,] 1.541293 1.454260 [20,] 1.332327 1.398676
apply(M5,1,var)
输出结果
[1] 3.995889e-05 2.476911e-01 9.689490e-02 3.826634e-02 6.342112e-06 [6] 2.507245e-02 2.410225e-01 7.566494e-02 2.419975e-02 2.205656e-02 [11] 3.307264e-03 1.020207e-01 2.852077e-01 1.436173e-01 4.729889e-03 [16] 4.647355e-02 1.425541e-01 4.943002e-03 4.128207e-02 7.227659e-03