我创建了一系列多峰分布来测试 Hartigan dip 测试对单峰的有效性。这些分布每个都有 2000 个观察值,并使用一个或多个 rnorm 函数创建。
此代码的目的概述如下。
计算要存储在“统计”变量中的每个分布的倾角统计
将 p 值提取到“dipstatistic”变量中并存储起来以备后用
在每个分布都经过此计算后引用此变量,以便在以后进行评估
我相信我在这里遇到的问题是指示在循环之外生成的变量。有人对如何纠正这个问题有任何建议吗?
x1 <- rnorm(2000,4,.5)
x2 <- c(rnorm(1000,0,1),rnorm(1000,4,1))
x3 <- c(rnorm(667,0,1),rnorm(667,4,1),rnorm(666,8,1))
x4 <- c(rnorm(500,0,1),rnorm(500,4,1),rnorm(500,8,1),rnorm(500,12,1))
dip.test(x1, simulate.p.value = FALSE, B = 2000)
dip.test(x2, simulate.p.value = FALSE, B = 2000)
dip.test(x3, simulate.p.value = FALSE, B = 2000)
dip.test(x4, simulate.p.value = FALSE, B = 2000)
y=4
dipstatistic <- rep(0,y)
ID <- 1:y
for (i in 1:y) {
statistic <- dip.test("need to find way to identify variables" , simulate.p.value = FALSE, B = 2000)
dipstatistic[i] <- statistic$p.value
}
dipstatistic