我一直在处理一些数据,并且想要在数据上使用randtests::runs.test
。我试过,但我似乎没有错误格式的数据。我可以通过以下方式复制错误。
如果我以这种方式创建矢量
x <- c(0,1,1,1,1,0,1,1,0,0,1,0,0,0,1,0)
sum(x)
runs.test(x, plot = TRUE)
该函数运行没有任何问题,包括创建好的情节。但是,如果我这样做它不起作用。注意我将int转换为数字,以确保R至少将数据识别为相同的格式。
xx <- rbinom(16, 1, prob=0.5)
xx<- as.numeric(xx)
sum(xx)
runs.test(x, plot = TRUE)
答案 0 :(得分:1)
我认为runs.test
在第一种情况下有效,因为0,n1的数量等于1,n2的数量,即n1 = n2 = 8。
如果您尝试多次运行此代码:
runs.test(rbinom(16, 1, 0.5))
您注意到当n1 = n2 = 8,n = 16时会返回统计信息:
data: rbinom(16, 1, 0.5)
statistic = 1.0351, runs = 11, n1 = 8, n2 = 8, n = 16, p-value = 0.3006
alternative hypothesis: nonrandomness
否则统计信息为NaN
:
data: rbinom(16, 1, 0.5)
statistic = NaN, runs = 1, n1 = 0, n2 = 6, n = 6, p-value = NA
alternative hypothesis: nonrandomness
因此,如果您的目标是生成0和1的向量,每个向量具有相同的计数,请尝试与rbinom
不同的内容,例如:
x <- sample(rep(0:1, each = 8))
否则,也许适用于不均匀分割的不同测试也是合适的。