par(ask=interactive()) #und einige Variablen initialisiert v<-c() #Hier wird die Student-Verteilung durch eine zu übergebene Stichprobe (mit zu übergebenen wahren Erwartungswert) approximiert: Wurzel(Größe der Stichprobe)*[Mittelwert der Stichprobe - Erwartungswert der Verteilung, welche die Stichprobe generiert]/Standardabweichung der Stichprobe TVerteilung<-function(x,EW,n)sqrt(n)*(mean(x)-EW)/sd(x) cvert<-function(anz) { tt<-c() for(i in 1:anz) { t<-sample(c(1,2),1,c(1/4,3/4),replace=T) if(t=="1"){rn<-rnorm(1,-2,1)}else{rn<-rnorm(1,2,1)} tt[i]<-rn } tt } Run<-function(n,m) { cat("Für welche Verteilung soll das Programm ausgeführt werden?\n a für Uniform(0,1) verteilte\n b für Exp(1)\n c für (1/4)norm(-2,1)+3/4norm(2,1)\n d für norm(0,1)? ") vert<-substr(readline(),1,1) if(vert=="a") { #Hier wird die Stichprobe gemäß der vorgegebenen Verteilung generiert for(i in 1:m){x<-runif(n); v[i]<-TVerteilung(x,0.5,n)} cat("Die Quantile der empirischen studentisierten uniformen Verteilung sind:\n",c(quantile(v,0.025),quantile(v,0.975)),"\n") } else if(vert=="b") { for(i in 1:m){x<-rexp(n); v[i]<-TVerteilung(x,1,n)} cat("Die Quantile der empirischen studentisierten exp(1) Verteilung sind:\n",c(quantile(v,0.025),quantile(v,0.975)),"\n") } else if(vert=="c") { for(i in 1:m){x <- rnorm(n)+4*rbinom(n,1,0.75)-2; v[i]<-TVerteilung(x,1,n)} # for(i in 1:m){x<-cvert(n); v[i]<-TVerteilung(x,1,n)} cat("Die Quantile der empirischen studentisierten 1/4norm(-2,1)+3/4rnorm(2,1) Verteilung sind:\n",c(quantile(v,0.025),quantile(v,0.975)),"\n") } else { for(i in 1:m){x<-rnorm(n); v[i]<-TVerteilung(x,0,n)} cat("Die Quantile der empirischen studentisierten norm(0,1) Verteilung sind:\n",c(quantile(v,0.025),quantile(v,0.975)),"\n") } cat("Die Quantile der Normalverteilung sind:",c(qnorm(0.025),qnorm(0.975)),"\n") cat("Die Quantile der T-Verteilung sind:",c(qt(0.025,n-1),qt(0.975,n-1)),"\n") cat("Der qqStudent-Plot über aktuelle Verteilung.\n") #Hier wird ein qqnorm Plot simuliert. Also ein QQPlot, der die Verteilung der soeben erstellten empirischen T-Verteilung der tatsächlichen gegenüberstellt plot(qt(ppoints(v),n-1),sort(v)); abline(0,1); title(main="Simulierte QQPlot der aktuellen Verteilung") cat("Der qqNorm-Plot.\n") qqnorm(v); abline(0,1) } Run(10,10000) Run(20,10000)