Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. library(pracma) #for fzero
  2.  
  3. N_loops <- 100000
  4.  
  5. N_trials <- 25
  6.  
  7. xz <- numeric()
  8. # set.seed(1)
  9.  
  10. for (k in 3:30){
  11.  
  12. store <- numeric()
  13.  
  14. for (i in 1:N_loops){
  15.  
  16. y <- runif(n = k)
  17.  
  18. best_idx <- which(y==max(y),arr.ind=TRUE)
  19.  
  20. do_keep <- FALSE
  21. my_keep <- 0
  22. for (j in 1:k){
  23.  
  24. #draw one
  25. yi <- y[j]
  26.  
  27. #find in rank
  28. all_ranks <- rank(y[1:j])
  29. this_rank <- tail(all_ranks,1)
  30.  
  31. #compare with acceptance value
  32. if (j/exp(1) <1){
  33. can_keep = FALSE
  34. } else {
  35. can_keep = TRUE
  36. }
  37.  
  38.  
  39. #do you keep
  40. if (can_keep ==TRUE & do_keep == FALSE){
  41. if (this_rank >3){
  42. do_keep <- TRUE
  43. my_keep <- yi
  44. }
  45. }
  46.  
  47. }
  48. store[i] <- my_keep
  49.  
  50. }
  51.  
  52. store <<- store
  53.  
  54. myfit <- function(phi){
  55. if (phi > 1){
  56. phi <- 1
  57. } else if (phi < 0){
  58. phi <- 0
  59. }
  60.  
  61. err <- quantile(x = store,probs = phi)-0.5
  62. return(err)
  63. }
  64.  
  65. temp <- fzero(myfit,0.1)
  66. xz[k] <- unlist(temp)
  67. print(xz[k])
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement