0

alpha=0.05 およびサンプル サイズ 10 の 10 回のシミュレーションで zscore>=qnorm(1-alpha/2) の場合に「拒否」を返す関数を作成するにはどうすればよいですか。次のコードを書きましたが、出力を修正します。「zscore」は検定統計量で、t は平均と標準偏差 6/n の正規分布です。sims は、実行するシミュレーションの数に対応します。この関数は、モンテカルロ評価を模倣する必要があります。

testsk=function(n,alph,sims){
    t=numeric(sims)
for (i in 1:sims) {
    x=rnorm(n)
t[i]=skewness(x)
zscore=t/(6/n)
return(zscore)
}
if(zscore>=qnorm(1-alph/2)){
print("REJECT")
}
}


testsk(10,0.05,10)

ありがとう!

4

3 に答える 3

1

何を達成しようとしているのかわかりませんが、これを行う1つの方法を次に示します

testsk <- function(n, alph, sims){
  for (i in 1:sims){
  x <- rnorm(n)
  zscore <- skewness(x)/(6/n)
  cat(paste0("Simulation #", i,":"), ifelse(zscore >= qnorm(1 - alph/2), "REJECT", "Don't REJECT"), "\n")
  }
}

n <- 10
alph <- .05
sims <- 10
testsk(n, alph, sims)

#Simulation #1: Don't REJECT 
#Simulation #2: REJECT 
#Simulation #3: Don't REJECT 
#Simulation #4: Don't REJECT 
#Simulation #5: Don't REJECT 
#Simulation #6: Don't REJECT 
#Simulation #7: Don't REJECT 
#Simulation #8: Don't REJECT 
#Simulation #9: Don't REJECT 
#Simulation #10: Don't REJECT 
于 2014-04-01T22:37:11.940 に答える
0

を誤ってループしていsimsます。何をしようとしているのか説明できますか?

testsk <- function(n,alph,sims) {
  t <- numeric(sims)
  for (i in seq_along(sims)) {
    x <- rnorm(n)
    t[i] <- skewness(x)
  }
  zscore <- t/(6/n)
  if (any(zscore>=qnorm(1-alph/2))) {
    print("REJECT")
  }
  return(zscore)
}

testsk(10,0.05,10)
于 2014-04-01T22:03:03.873 に答える