runs.test()仅适用于偶数的n1和n2

runs.test()仅适用于偶数的n1和n2,r,statistics,rstudio,R,Statistics,Rstudio,我有一个包含“0”和“1”的向量列表(dados_obs)。正面和反面 我必须测试它的随机性。所以我做了一个巨大的模拟,得到p值,并与我的向量列表0和1进行比较,以测试它们是虚构的还是实际上是随机的。它工作得很好 我发现它可以运行。test可以帮我运行,但我有个问题。只有当我的0和1的数量以n1=n2=50、n=100的方式平均分配时,它才起作用 runs.test(dados_obs[[16]]) 给我 Runs Test data: dados_obs[[16]] statistic

我有一个包含“0”和“1”的向量列表(dados_obs)。正面和反面

我必须测试它的随机性。所以我做了一个巨大的模拟,得到p值,并与我的向量列表0和1进行比较,以测试它们是虚构的还是实际上是随机的。它工作得很好

我发现它可以运行。test可以帮我运行,但我有个问题。只有当我的0和1的数量以n1=n2=50、n=100的方式平均分配时,它才起作用

runs.test(dados_obs[[16]])
给我

Runs Test

data:  dados_obs[[16]]
statistic = 0.60305, runs = 54, n1 = 50, n2 = 50, n = 100, p-value = 0.5465
alternative hypothesis: nonrandomness
但是

给我

    Runs Test

data:  dados_obs[[17]]
statistic = NaN, runs = 1, n1 = 0, n2 = 49, n = 49, p-value = NA
alternative hypothesis: nonrandomness

有没有办法克服这个限制?当n1与n2不同时(头和尾和不同)?

运行
测试。来自
的测试看起来自2014年以来没有更新过。也许可以试试snpar中的那一个?(管道也需要
magrittr

例如:

> sample(c(0,1),20,replace=TRUE) %>% snpar::runs.test()

    Approximate runs rest

data:  .
Runs = 13, p-value = 0.3581
alternative hypothesis: two.sided

> sample(c(0,1),100,replace=TRUE) %>% snpar::runs.test()

    Approximate runs rest

data:  .
Runs = 43, p-value = 0.1146
alternative hypothesis: two.sided

randtests
运行的
测试
看起来自2014年以来没有更新过。也许可以试试snpar中的那一个?(管道也需要
magrittr

例如:

> sample(c(0,1),20,replace=TRUE) %>% snpar::runs.test()

    Approximate runs rest

data:  .
Runs = 13, p-value = 0.3581
alternative hypothesis: two.sided

> sample(c(0,1),100,replace=TRUE) %>% snpar::runs.test()

    Approximate runs rest

data:  .
Runs = 43, p-value = 0.1146
alternative hypothesis: two.sided

事实上,我和你有同样的问题。然后我在语法中添加了我使用的切点(使用
randtests
package)。代码示例:

runs.test(dados_obs[[17]], threshold = mean(dados_obs[[17]]))

切点可以是平均值、模式、中值等。我们用它来指定n1和n2。

事实上,我和你有同样的问题。然后我在语法中添加了我使用的切点(使用
randtests
package)。代码示例:

runs.test(dados_obs[[17]], threshold = mean(dados_obs[[17]]))

切点可以是平均值、模式、中值等。我们使用它来指定n1和n2。

问题在于您的数据。它说n1没有有效的观察结果n1=0I怀疑这一点,但当n1=n2=50时,测试运行正常。为什么它在不同的情况下不起作用?如果我做str(护墙板),它会给我:num[1:100]对于所有这些,总结(护墙板[17]]会给什么?Min:0.00 | 1st。区:0.00 |中位数:1.00 |平均数:0.51 |第三。Qu:1.00 | Max:1.00重点是,runs.test()仅在正面和反面的数量为50时起作用。问题在于数据。它说n1没有有效的观察结果n1=0I怀疑这一点,但当n1=n2=50时,测试运行正常。为什么它在不同的情况下不起作用?如果我做str(护墙板),它会给我:num[1:100]对于所有这些,总结(护墙板[17]]会给什么?Min:0.00 | 1st。区:0.00 |中位数:1.00 |平均数:0.51 |第三。Qu:1.00 | Max:1.00重点是,运行。test()仅在头部和尾部的数量为50时有效。太好了!很高兴它帮助了你完成任务。太好了!很高兴它帮了你完成任务。