我已经创建了一系列多模态分布来测试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
答案 0 :(得分:0)
如果你在列表中加入所有变量,你可以在这里使用sapply。
dipstatistic <- sapply(list(x1,x2,x3,x4), function(x) {
dip.test(x , simulate.p.value = FALSE, B = 2000)$p.value
})