我需要一些帮助来解释我的ks。测试输出。我有28个参与者每人掷三个骰子。向量g表示每人掷出的骰子总数。
g <-c(16, 16, 18, 12, 12, 18, 18, 14, 9, 12, 15, 14, 13, 14, 10, 9, 12, 12, 11, 17, 17, 12, 8, 17, 13, 18, 15, 6)
我想比较g和实际的分布函数。我使用以下代码生成"true"分布函数:
library("gtools")
library("dice")
v<-seq(1:15)
for (i in 3:18) {
p<-getEventProb(nrolls = 1, ndicePerRoll = 3, nsidesPerDie = 6, eventList= i, orderMatters = FALSE)
v[i]<-p
}
v<-v[-c(1,2)]
以下ks。测试得出的D值为1,不可能是正确的。
ks.test(g, cumsum(v), alternative = "less")
你能告诉我哪里出错了吗?非常感谢你的回答! 问题是你正在比较两个非常不同的东西:掷出总数的分布(范围从3-18)和概率分布(范围从0-1):
> g
[1] 16 16 18 12 12 18 18 14 9 12 15 14 13 14 10 9 12 12 11 17 17 12 8 17 13 18 15 6
> v
[1] 0.00462963 0.01388889 0.02777778 0.04629630 0.06944444 0.09722222 0.11574074 0.12500000 0.12500000 0.11574074
[11] 0.09722222 0.06944444 0.04629630 0.02777778 0.01388889 0.00462963
对于KS来说,这显然是两种完全不同的东西。可能最简单的事情是确定经验分布(参与者总数)中3:18的每个总数的频率,并将其与预期的可能分布进行比较。