Advertisement
Ritajen

Untitled

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