Advertisement
Guest User

projekt

a guest
Nov 13th, 2018
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 2.96 KB | None | 0 0
  1. #Długości prób
  2. Dlugosci <- c(8, 10, 20, 50)
  3. #Poziom istotności
  4. alpha <- 0.05
  5. #Liczba symulacji
  6. n <- 1000
  7. #Rozklady - tworze listy dla rozkladow
  8. Rozklady <- list(tStudenta = list(Nazwa = "rt", Arg = list(NULL, 2)),
  9.                  Jednostajny = list(Nazwa = "runif", Arg = list(NULL)),
  10.                  Wykladniczy = list(Nazwa = "rexp", Arg = list(NULL)))
  11. Rozklady
  12.  
  13. #Testy - tworzy liste wszystkich testow do rozkladu
  14. Testy <- list(SW = list(Nazwa = "shapiro.test", Argum = list(NULL)),
  15.               JB = list(Nazwa = "jarque.bera.test", Argum = list(NULL)),
  16.               KS = list(Nazwa = "ks.test", Argum = list(NULL, "pnorm", NULL, NULL)),
  17.               Chi2 = list(Nazwa = "pearson.test", Argum = list(NULL)),
  18.               AD = list(Nazwa = "ad.test", Argum = list(NULL)))
  19. Testy
  20.  
  21. #Tabela tworzaca wszystkie mozliwe kombinacje wartosci
  22. Tabela <- expand.grid(Dlugosci = Dlugosci,
  23.                       Rozklad = names(Rozklady),
  24.                       Test = names(Testy))
  25. View(Tabela)
  26.  
  27. Moce <- sapply(1:nrow(Tabela), function(p){
  28.   p=28
  29.   d = Tabela[p, 2]                #d --> Kazdy wiersz tabeli bedzie mial jakis rozklad (tSt, Jedn, Wykl)
  30.                                     #p <1,4> --> t-St
  31.                                     #p <5,8> --> Jedn
  32.                                     #p <9,12> --> Wykl
  33.  
  34.   Nazwa <- Rozklady[[d]]$Nazwa    #ustawiam nazwę rozkladu (w zalezności który to rozkład)
  35.                                     #d=1 --> rt
  36.                                     #d=2 --> runif
  37.                                     #d=3 --> rexp
  38.  
  39.   Arg <- Rozklady[[d]]$Arg        #ustawiam argumenty rozkladu (w zalezności który to rozkład)
  40.                                     #d=1 --> [[1]] NULL ; [[2]] [1]2
  41.                                     #d=2 --> [[1]] NULL
  42.                                     #d=3 --> [[1]] NULL
  43.  
  44.   Arg[[1]] <- Tabela[p, 1]        #w liste NULL ładuje liczby 8, 10, 20, 50
  45.                                     #p=1v5v9 --> 8
  46.                                     #p=2v6v10 --> 10
  47.                                     #p=3v7v11 --> 20
  48.                                     #p=4v8v12 --> 50
  49.  
  50.   e = Tabela[p, 3]                #e --> Kazdy wiersz tabeli ma jakis test (SW, JB, KS, Chi2, AD)
  51.                                     #e=1 --> SW
  52.                                     #e=2 --> JB
  53.                                     #e=3 --> KS
  54.                                     #e=4 --> Chi2  
  55.                                     #e=5 --> AD
  56.  
  57.   Testy2 <- Testy[[e]]$Nazwa      #ustawiam nazwe testu
  58.                                  
  59.   Arg2 <- Testy[[e]]$Argum        #ustawiam NULLowy argument
  60.  
  61.   Moc2 <- sapply(1:n, function(x){
  62.     Probka <- do.call(Nazwa, Arg)
  63.     #Arg2[[1]] <- Probka
  64.     #if (e=="KS"){
  65.       #Arg2[[3]] <- mean(Probka)
  66.       #Arg2[[4]] <- sd(Probka)
  67.     #}
  68.     eval(parse(text = paste0(Testy2)))
  69.     Testy2(Probka)
  70.     if (e=="KS"){
  71.       Testy2(Probka, "pnorm", mean(Probka), sd(Probka))
  72.     }
  73.   })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement