如何在 R 中执行一个样本 Kolmogorov-Smirnov 检验?
单样本Kolmogorov-Smirnov检验用于检查数据集是否遵循一定的分布。
例如,如果我们有一个名为X的向量,并且我们想知道X中的值是否遵循正态分布,那么我们可以使用下面给出的命令-
ks.test(X,"pnorm")
查看以下示例以了解其工作原理。
示例1
以下代码段创建了一个示例数据框-
x1<-rnorm(80) x1
创建了以下数据框
[1] -0.5930649979 -0.7050971899 1.5036776495 2.0351473077 0.7385834175 [6] -0.7881248810 -1.4895638061 -1.1605302628 0.9423750498 -0.2009388310 [11] -0.3252013256 -1.4571333512 1.6642185880 -0.6511740441 -0.0076780745 [16] -0.3338502137 -1.0210635809 0.5149113041 -0.6655072430 0.7074352553 [21] -0.8507390736 -1.1406754392 -1.6111072295 1.6772812999 -2.3250173518 [26] -1.4653643311 1.3272904267 -1.8467972822 -0.1593700549 -1.6613273664 [31] 0.2613722540 0.4838800094 -0.5998095101 0.6591245833 -0.5974476415 [36] -0.4589820738 0.2008275688 -1.5262213823 -1.3834131382 -1.4572893292 [41] 0.5105892883 -1.3039612523 1.2814998856 0.9949435321 -0.2800486480 [46] -0.7354803734 1.7473145867 -1.6495713278 0.7750021918 -0.4070139831 [51] -0.9916802542 -1.1538558797 -1.3349762222 0.0002099075 1.0405995439 [56] -0.5756922744 0.8666200332 1.0866830149 0.8970111284 -1.3593719314 [61] 1.1197713017 1.2070772837 1.5081925784 -0.4842669069 0.6687523922 [66] 0.7007919811 -1.1365104248 -0.1864085155 0.2051847966 -1.6965972860 [71] 0.9870287064 -0.1955897595 1.3922165002 -0.1773204636 1.5491799191 [76] -0.7294171557 -0.3850467096 -0.3062196137 0.7902249357 0.5163688587
对于单样本Kolmogorov-Smirnov测试,将以下代码添加到上述代码段中-
x1<-rnorm(80) data: x1 D = 0.12581, p-value = 0.1458 alternative hypothesis: two-sided ks.test(x1,"pnorm")
示例2
以下代码段创建了一个示例数据框-
x2<-rpois(200,2) x2
创建了以下数据框
[1] 0 3 2 1 1 1 1 3 1 1 0 2 1 3 1 5 2 1 4 2 3 1 3 1 2 3 3 1 1 3 1 2 2 2 0 2 4 [38] 2 0 3 2 1 3 3 3 1 3 1 2 3 5 2 3 2 4 3 0 1 2 3 2 2 2 3 1 1 2 9 1 1 2 3 0 4 [75] 2 3 4 0 4 2 2 3 7 2 4 0 1 1 2 3 3 5 3 2 2 2 3 1 0 2 3 2 1 1 5 0 2 3 2 1 2 [112] 3 0 1 1 2 2 4 2 1 0 5 2 1 0 2 3 4 1 1 2 0 2 4 0 3 3 3 1 0 6 4 4 2 0 1 2 6 [149] 4 2 1 1 3 5 1 2 4 0 1 2 0 1 1 2 4 1 3 0 2 2 2 1 2 1 2 2 0 1 3 2 2 0 1 2 1 [186] 0 0 2 4 1 1 1 4 2 1 2 3 1 1 3
对于单样本Kolmogorov-Smirnov测试,将以下代码添加到上述代码段中-
x2<-rpois(200,2) data: x2 D = 0.72134, p-value < 2.2e-16 alternative hypothesis: two-sided ks.test(x2,"pnorm")
警告信息
在ks.test(x2,"pnorm")-Kolmogorov-Smirnov测试中不应存在关系。
示例3
以下代码段创建了一个示例数据框-
x3<-sample(1:9,200,replace=TRUE) x3
创建了以下数据框
[1] 8 1 9 8 1 2 1 7 6 8 9 1 4 3 1 5 2 8 1 7 2 5 1 2 2 6 9 6 1 8 7 6 9 9 1 7 8 [38] 7 3 3 9 6 9 7 4 3 8 9 3 9 8 8 3 1 4 2 7 3 6 4 9 5 7 5 9 3 2 6 5 1 6 6 8 3 [75] 9 5 9 9 6 2 4 9 7 8 5 7 2 3 9 8 5 8 4 2 9 3 9 7 8 1 1 2 3 2 8 7 5 4 3 3 6 [112] 9 6 8 1 4 2 7 1 5 5 6 4 4 7 3 5 3 4 1 2 7 4 3 5 5 5 7 6 2 6 5 7 3 8 8 3 4 [149] 6 7 4 3 3 8 8 6 7 5 1 6 4 2 4 1 1 9 6 6 9 7 2 5 4 3 8 2 3 7 5 6 3 9 4 3 2 [186] 6 4 2 1 3 1 4 7 3 4 1 5 6 6 2
对于单样本Kolmogorov-Smirnov测试,将以下代码添加到上述代码段中-
x3<-sample(1:9,200,replace=TRUE) D = 0.86725, p-value < 2.2e-16 alternative hypothesis: two-sided ks.test(x3,"pnorm")
警告信息
在ks.test(x3,"pnorm")-Kolmogorov-Smirnov测试中不应存在关系
示例4
以下代码段创建了一个示例数据框-
x4<-sample(1:100,200,replace=TRUE) x4
创建了以下数据框
[1] 36 99 14 23 66 96 8 74 89 88 96 12 8 43 55 94 91 56 6 54 89 74 10 62 60 [26] 79 43 88 95 93 29 43 27 97 22 28 32 98 95 78 74 38 33 22 92 84 32 64 21 37 [51] 70 83 60 50 97 98 84 13 21 66 61 63 25 73 28 60 48 70 87 53 99 37 47 70 58 [76] 6 93 50 18 81 55 47 89 83 52 32 81 45 18 65 97 78 50 74 61 25 85 83 73 26 [101] 20 74 62 42 90 66 21 10 14 54 83 49 93 99 36 86 35 23 33 63 30 85 16 44 76 [126] 71 11 92 94 40 3 9 8 3 58 20 96 34 26 25 82 92 16 76 69 19 79 42 35 86 [151] 92 81 4 67 18 30 92 32 79 86 41 60 35 5 25 83 19 77 91 24 54 74 99 25 71 [176] 26 45 27 15 1 99 96 69 31 52 33 84 62 88 86 19 53 92 44 83 94 12 14 41 33
ks.test(x4,"pnorm")
对于单样本Kolmogorov-Smirnov测试,将以下代码添加到上述代码段中-
x4<-sample(1:100,200,replace=TRUE) data: x4 D = 0.99365, p-value < 2.2e-16 alternative hypothesis: two-sided ks.test(x4,"pnorm")
警告信息
在ks.test(x4,"pnorm")中-
Kolmogorov-Smirnov检验不应存在关系。
例5
以下代码段创建了一个示例数据框-
x5<-round(rnorm(200),0) x5
创建了以下数据框
[1] -3 -1 -1 -1 -1 1 0 0 2 0 1 1 0 -1 -1 -1 0 0 0 1 0 -1 0 0 -1 [26] 0 -2 -1 0 1 1 0 1 -1 2 -2 1 1 0 0 -1 0 0 1 3 1 0 -2 -2 - 2 [51] -1 0 -1 0 0 0 1 0 1 1 -1 1 -1 0 -1 0 1 -1 -2 2 -2 1 0 1 0 [76] 0 0 0 1 -1 -1 0 3 1 0 -2 -2 0 1 0 1 0 0 0 1 0 -1 0 -1 - 1 [101] 1 -1 -1 -1 0 0 -2 2 1 -1 0 -2 -1 0 1 0 0 1 -1 -2 1 0 2 1 - 1 [126] 1 0 0 0 -1 -1 -1 1 -1 0 0 0 1 1 -1 1 0 0 0 1 -1 1 2 1 1 [151] 0 0 0 1 0 0 2 0 0 0 1 -2 0 0 -1 0 1 0 0 0 -3 0 0 1 0 [176] -1 1 -1 1 2 -2 0 0 0 -1 2 -1 -2 0 -1 1 2 2 -1 -1 0 0 -2 1 1
对于单样本Kolmogorov-Smirnov测试,将以下代码添加到上述代码段中-
x5<-round(rnorm(200),0) data: x5 D = 0.2, p-value = 2.251e-07 alternative hypothesis: two-sided ks.test(x5,"pnorm")
警告信息
在ks.test(x5,"pnorm")-Kolmogorov-Smirnov测试中不应存在关系