1 ROZGRZEWKA # znane testy istotności 1D w programie R #test studenta t.test(x, y = NULL, alternative = c("two.sided", "less", "greater"), mu = 0, paired = FALSE, var.equal = FALSE, conf.level = 0.95,...) x<-rgamma(50,shape=2,scale=1) t.test(x,alternative="greater",conf.level=0.9) komentarz:. x <- 1:10 y <- c(7:20, 200) boxplot(x,y, horizontal=t) t.test(x, y) komentarz:. t.test(1:10,y=c(7:20)) wilcox.test(x,y) komentarz:.. # test Kołmogorowa Smirnowa ks.test( rnorm(100), 1+rnorm(100) ) ks.test( rnorm(100), rnorm(100) ) # test Shapiro Wilka shapiro.test(rnorm(10))$p.value shapiro.test(runif(10))$p.value x<-rnorm(100) qqnorm(x) qqline(x,col="red", lwd=3,cex=2) y <- rnorm(100)^2 qqnorm(y, main="kwadrat zmiennej N(0,1)") qqline(y,col="red", lwd=3) ZADANIE: W jaki sposób w programie R można przeprowadzić test zgodności 2? Sample Quantiles -3-2 -1 0 1 2 Sample Quantiles 0 1 2 3 4 5 6 7 Normal Q-Q Plot -2-1 0 1 2 Theoretical Quantiles kwadrat zmiennej N(0,1) -2-1 0 1 2 Theoretical Quantiles PRZYKŁAD 16 OPERACJE NA MACIERZY DANYCH CD W systemie MOODLE mamy zbiór danych DGP_1 dotyczący liczby popełnionych przestępstw i wykroczeń w podregionach Polski w latach 2006-2007 z uwzględnieniem kategorii przestępstwa tzn. KR kryminalne, G gospodarcze, Z przeciwko zdrowiu, WO przeciw wolności, RO przeciw rodzinie, MIE mieniu, DRO drogowe, oraz ich wykrywalności WY, faktycznej liczby ludności - LL, stopy bezrobocia - BEZR, przeciętnego wynagrodzenia brutto WYN. 1. Załadować plik do programu R 2. Liczby przestępstw i wykroczeń podzielić przez liczby ludności w regionach 3. Usunąć z macierzy danych zmienną LL2006
2 DGP_1$KR2007=DGP_1$KR2007/DGP_1$LL2006 #liczba przestępstw/ liczba ludności# DGP_1$GO2007=DGP_1$GO2007/DGP_1$LL2006 DGP_1$Z2006=DGP_1$Z2006/DGP_1$LL2006 DGP_1$WO2006=DGP_1$WO2006/DGP_1$LL2006 DGP_1$RO2006=DGP_1$RO2006/DGP_1$LL2006 DGP_1$MIE2006=DGP_1$MIE2006/DGP_1$LL2006 DGP_1$DRO2006=DGP_1$DRO2006/DGP_1$LL2006 DGP_2=DGP_1[,-10] #usuwamy kolumnę nr 10 DGP_3=data.frame(DGP_2,row.names=DGP_2[,1]) #ramka danych z nazwami przypadków DGP_3=DGP_3[,-1] names(dgp_3)=c("","","","","","","","trace","","") #zmieniamy nazwy przypadków# UŻYTECZNE METODY WIZUALIZACJI MACIERZY ROZRZUTU library(psych) #pakiet warto sobie doinstalować ellipses(dgp_3,smooth=false) ellipses(dgp_3[,1:7],smooth=false,r=1) multi.hist(dgp_3[,-8],dcol=c("red","blue"),dlty=c("solid","solid"),lwd=2,bcol="green") COR.M<-cor(DGP_3) #liczymy macierz korelacji cor.plot(cor.m,labels=c("","","","","","","","trace","","")) 0.002 0.0010 0.010 0.002 0.008 0.0010 0.010 0.030 0.61 0.06 0.59 0.48 0.14-0.08 0.15 0.17 0.00 0.31-0.12 0.67 0.50 0.44-0.03 0.45 0.52-0.06 0.05 0.14-0.54 2e-08 6e-08 0.0006 0.0016 0.0004 0.0014 0.002 0.008 2e-08 0.0006 0.0004 0.002..
3 0e+00 1e-08 4e-08 7e-08 0 200 0.002 0.006 0.010 0 1500 0.0004 0.0010 0.0016 0 800 0 1000 0 40 80 0.0005 0.0015 0.0004 0.0010 0.0016 0.005 0.020 0.035 0 150 0.002 0.006 0.010 0.00 0.06 0 5 10 20 30 0.0000 2000 3000.. Correlation plot TRACE TRACE 1 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1
4 PRZYKŁAD 17 #ESTYMACJA JĄDROWA ESTYMACJA JADROWA 1D 0.0000 0.0010 1500 2000 2500 3000 3500 4000 0.00 0.06 0 10 20 30 GUS2006$ GUS2006$ 0 20 40 60 0.00 0.01 0.02 0.03 0.04 0.05 0.00 0.03 20 40 60 80 GUS2006$CRI GUS2006$TRACE ESTYMACJA JĄDROWA 2D h = ( 0.000178, 3.55 ) h = ( 0.00269, 1.91 ) GUS2006. GUS2006. 0.0006 0.0010 0.0014 GUS2006. 0.010 0.020 0.030 GUS2006. h = ( 0.00085, 2.65 ) h = ( 5.14, 2.6 ) GUS2006. GUS2006. 0.002 0.004 0.006 0.008 GUS2006. 40 50 60 70 80 GUS2006.TRACE
5 #piszemy własną funkcję przeznaczoną do estymacji jądrowej gęstości prawdopodobieństwa proba<-rnorm(100) kernel.x<-function(x,proba){ n<-length(proba) pasmo<-sd(proba)*(n^(-1/5)) wart<-c() for (i in 1: length(proba)) wart[i]<-dnorm((x-proba[i])/pasmo) wyn<-sum(wart) dziel<-1/(pasmo*length(proba)) wyn*dziel } #sprawdzamy działanie naszej funkcji y<-seq(-5,5,length=100) gest<-c() for (i in 1: length(y)){ gest[i]<-kernel.x(y[i],proba)} plot(y,gest,type="l") lines(y,dnorm(y),col="red") PRZYKŁAD 18 #porównanie średniej i mediany z próby library(lattice) x<-rnorm(1000,10,10) densityplot(x,lwd=2,cex.lab=1.6) Z<-matrix(nrow=1000,ncol=10) for (i in 1:1000) Z[i,]<-rnorm(10,10,10) means<-apply(z,1,mean) medians<-apply(z,1,median) densityplot(means,lwd=2,cex.lab=1.6,col=2) boxplot(means,medians,cex.axis=2) zadanie 18.1: Porównaj w analogiczny sposób środek rozstępu oraz 10% przyciętą średnią. ZADANIE DLA AMBITNYCH STUDENTÓW NR 2 Co to jest diagram Voronoi, jak się go konstruuje, w jaki sposób można go utworzyć w programie R. Czy dostrzegasz możliwość zastosowania diagramów Voronoi w ekonomii? Wskazówka: sprawdź pakiet dodatkowy R {tripack}