1

単峰性の Hartigan ディップ テストの有効性をテストするために、一連の多峰性分布を作成しました。これらの分布にはそれぞれ 2000 個の観測値があり、1 つ以上の rnorm 関数を使用して作成されています。

このコードの目的を以下に概説します。

  1. 「統計」変数に格納される各分布のディップ統計を計算します

  2. p値を「dipstatistic」変数に抽出し、後で使用するために保存します

  3. すべての分布が後で評価されるようにこの計算を行った後、この変数を参照してください

ここでの問題は、ループの外で生成された変数を示すことにあると思います。この問題を修正する方法について誰かアドバイスはありますか?

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
4

1 に答える 1

0

すべての変数をリストに結合する場合は、ここで sapply を使用できます。

dipstatistic <- sapply(list(x1,x2,x3,x4), function(x) {
    dip.test(x , simulate.p.value = FALSE, B = 2000)$p.value
})
于 2014-11-13T03:53:32.917 に答える