Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mu <- 7; sigma <- 2; no.rep <- 1000
- final=function(n, no.two=1000){ #function(n, no.two=1000),其中no.two是一個語法?或是自己設定的?
- 如果是自己設定的,為什麼我改成function(n, no.rep)就無法執行?
- l95 <- rep(NA,no.rep)
- r95 <- rep(NA,no.rep)
- l99 <- rep(NA,no.rep)
- r99 <- rep(NA,no.rep)
- for(i in 1:no.rep){ #重複1000次
- print(i)
- set.seed(i)
- x <- rnorm(n,mu,sigma)
- l95[i] <- mean(x)-qnorm(0.975)*sqrt(sigma^2/n)
- r95[i] <- mean(x)+qnorm(0.975)*sqrt(sigma^2/n)
- l99[i] <- mean(x)-qnorm(0.995)*sqrt(sigma^2/n)
- r99[i] <- mean(x)+qnorm(0.995)*sqrt(sigma^2/n)
- }
- return(c(mean((l95<=mu) & (mu<=r95)), # 檢查覆蓋率(coverage)
- mean((l99<=mu) & (mu<=r99))))
- }
- i=1
- result=matrix(NA,21,2) # matrix(na,21,2) 最後只有20個結果為何要設定21?
- for (n in seq(from=5,to=100,by=5)){
- result[,i]=final(n)
- i=i+1
- }
- #結果顯示"Error in result[, i] = final(n) : 被替換的項目不是替換值長度的倍數",我在想是不是因為for迴圈裡面的n不正確?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement