在run.test使用的二进制数传染媒介

时间:2017-03-22 22:29:23

标签: r vector format

我一直在处理一些数据,并且想要在数据上使用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)

1 个答案:

答案 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))

否则,也许适用于不均匀分割的不同测试也是合适的。