diff --git a/warsztat 2016.10.24/praca_domowa_2016.10.24.Rmd b/warsztat 2016.10.24/praca_domowa_2016.10.24.Rmd index 832470f..ff02407 100644 --- a/warsztat 2016.10.24/praca_domowa_2016.10.24.Rmd +++ b/warsztat 2016.10.24/praca_domowa_2016.10.24.Rmd @@ -28,7 +28,7 @@ Powyższego polecenia możesz też użyć, żeby wczytać dane zamiast otwierani Korzystając z poznanych możliwości tworzenia rozkładów łącznych i warunkowych, przygotuj rozkłady pozwalające udzielić odpowiedzi na poniższe pytania, a następnie analizując rozkłady udziel odpowiedzi na te pytania. -Pierwsze z poniższych zadać zostało rozwiązane na zajęciach - załączam jego rozwiązanie jako przykład i podpowiedź. +Pierwsze z poniższych zadań zostało rozwiązane na zajęciach - załączam jego rozwiązanie jako przykład i podpowiedź. 1. Jaka jest kategoria welkości miejscowości zamieszkania, w ramach której badani najczęściej są bardzo zadowoleni z życia rodzinnego? - Aby odpowiedzieć na to pytanie należy przeanalizować rodzinę warunkowych rozkładów częstości zmiennej **V3** ze względu na zmienną **X**. @@ -45,7 +45,7 @@ round(pV3X, 3) colnames(pV3X)[which.max(pV3X[1, ])] ``` - 2. O ilu więcej/mniej jest w analizowanej grupie respondentów mieszkających na wsi, którzy zostali zbadani w latach 1992-1999, niż respondentów mieszkających w miastać o wielkości od 100 tys. do 500 tys. mieszkańców, którzy zostali zbadaniu w latach 2005-2010? + 2. O ilu więcej/mniej jest w analizowanej grupie respondentów mieszkających na wsi, którzy zostali zbadani w latach 1992-1999, niż respondentów mieszkających w miastach o wielkości od 100 tys. do 500 tys. mieszkańców, którzy zostali zbadaniu w latach 2005-2010? - Aby odpowiedzieć na to pytanie należy przeanalizować **TU WPISZ SWOJĄ ODPOWIEDŹ - OPIS ROZKŁADU**. - Respondentów mieszkających na wsi, którzy zostali zbadani w latach 1992-1999, jest w analizowanej grupie o **PODAJ LICZBĘ** **więcej/mniej**, niż respondentów mieszkających w miastać o wielkości od 100 tys. do 500 tys. mieszkańców, którzy zostali zbadaniu w latach 2005-2010. @@ -102,7 +102,7 @@ Przyjmijmy, że w kontekście zmiennych V1-V5 jako *zadowolonych* będziemy uzna ``` - 4. Badani z których **dwóch** klas wielkości miejscowości zamieszkania byli w 1992 roku najbardziej zadowleni ze swojego wykształcenia? A z jakich w 2010 roku? W ramach której z klas wielkości miejscowości zamieszkania najbardziej wzrosło w ramach analizowanej grupy zadowolenie ze swojego wykształcenia pomiędzy rokiemm 1992 a rokiem 2010? + 4. Badani z których **dwóch** klas wielkości miejscowości zamieszkania byli w 1992 roku najbardziej zadowleni ze swojego wykształcenia? A z jakich w 2010 roku? W ramach której z klas wielkości miejscowości zamieszkania najbardziej wzrosło w ramach analizowanej grupy zadowolenie ze swojego wykształcenia pomiędzy rokiem 1992 a rokiem 2010? - W 1992 r. największy odsetek zadowolonych z własnego wykształcenia dwudziestokilkulatków odnotowano w grupie mieszkańców **PODAJ ODPOWIEDŹ** (**PODAJ % ZADOWOLONYCH W TEJ GRUPIE**) i **PODAJ ODPOWIEDŹ** (**PODAJ % ZADOWOLONYCH W TEJ GRUPIE**). - W 2010 r. największy odsetek zadowolonych z własnego wykształcenia dwudziestokilkulatków odnotowano w grupie mieszkańców **PODAJ ODPOWIEDŹ** (**PODAJ % ZADOWOLONYCH W TEJ GRUPIE**) i **PODAJ ODPOWIEDŹ** (**PODAJ % ZADOWOLONYCH W TEJ GRUPIE**). - Największą zmianę zadowolenia ze swojego wykształcenia pomiędzy rokiem 1992 a rokiem 2010 odnotowano wśród mieszkańców **PODAJ ODPOWIEDŹ**, gdzie odsetek zadowolonych **wzrósł/spadł** o **PODAJ LICZBĘ** punktów procentowych. diff --git a/warsztat 2016.11.07/warsztat_2016.11.07.Rmd b/warsztat 2016.11.07/warsztat_2016.11.07.Rmd index be76e75..c62a633 100644 --- a/warsztat 2016.11.07/warsztat_2016.11.07.Rmd +++ b/warsztat 2016.11.07/warsztat_2016.11.07.Rmd @@ -1,7 +1,7 @@ --- -title: "Statystyka I z R
Warsztat 5. Parametry poziomu wartości i rozproszenia" +title: "Statystyka I z R
Warsztat 5. Parametry poziomu wartości" author: "Tomasz Żółtak" -date: "7 listpada 2016" +date: "7 listopada 2016" output: html_document: css: ../styles.css diff --git a/warsztat 2016.11.07/warsztat_2016.11.07.html b/warsztat 2016.11.07/warsztat_2016.11.07.html index bd35105..87fb3bb 100644 --- a/warsztat 2016.11.07/warsztat_2016.11.07.html +++ b/warsztat 2016.11.07/warsztat_2016.11.07.html @@ -12,7 +12,7 @@ -Statystyka I z R Warsztat 5. Parametry poziomu wartości i rozproszenia +Statystyka I z R Warsztat 5. Parametry poziomu wartości @@ -117,9 +117,9 @@ -

Statystyka I z R
Warsztat 5. Parametry poziomu wartości i rozproszenia

+

Statystyka I z R
Warsztat 5. Parametry poziomu wartości

Tomasz Żółtak

-

7 listpada 2016

+

7 listopada 2016

diff --git a/warsztat 2016.11.14/dane_2016.11.14.RData b/warsztat 2016.11.14/dane_2016.11.14.RData new file mode 100644 index 0000000..44666ec Binary files /dev/null and b/warsztat 2016.11.14/dane_2016.11.14.RData differ diff --git a/warsztat 2016.11.14/warsztat_2016.11.14.Rmd b/warsztat 2016.11.14/warsztat_2016.11.14.Rmd new file mode 100644 index 0000000..8ac4590 --- /dev/null +++ b/warsztat 2016.11.14/warsztat_2016.11.14.Rmd @@ -0,0 +1,173 @@ +--- +title: "Statystyka I z R
Warsztat 6. Parametry rozproszenia" +author: "Tomasz Żółtak" +date: "14 listopada 2016" +output: + html_document: + css: ../styles.css + toc: TRUE + toc_depth: 3 +--- + +Na dzisiejszych zajęciach poznamy funkcje pozwalające obliczyć typowo wykorzystywane parametry parametry rozproszenia zmiennych statystycznych. + +# Wczytanie danych + +Zacznijmy od wczytania danych, na których będziemy dalej pracować. Funkcja `load()` pozwala wczytać obiekty R zapisane w natywnym formacie R-a, czyli .RData (linijka wcześniej służy upewnieniu się, że bęziemy próbowali wczytać dane z odpowiedniego folderu). Funkcja `load()` zwraca nazwy wczytanych obiektów - w tym przypadku jest to 15 wektorów. Wektor o nazwie *variablesDescription* opisuje znaczenie pozostałych wektorów, które zawierają dane - zmienne z dodatkowej próby badawczej uczniów szkół pogimnazjalnych, zrealizowanej w ramach badania PISA 2009. + +```{r comment="", prompt=TRUE, collapse=TRUE} +try(setwd("warsztat 2016.11.14"), silent = TRUE) +nazwyObiektow = load("dane_2016.11.14.RData") +nazwyObiektow +variablesDescription +``` + +# Parametry rozproszenia + +## Rozstęp i odchylenie ćwiartkowe + +W R nie mamy funkcji pozwalającej bezpośrednio obliczyć rozstęp, niemniej zrobienie tego samemu jest oczywiście banalnie proste. Z kolei funkcja `IQR()`, służąca obliczeniu odchylenia ćwiartkowego robi to nieco inaczej, niż w typowych (stosowanych w Polsce) definicjach (nie dzieli różnicy wartości 3. i 1. kwartyla przez dwa). Niemniej obliczenie samemu odchylenia ćwiartkowego również nie nastręcza trudności (jeśli umiemy obliczyć kwartyle). + + +```{r comment="", prompt=TRUE, collapse=TRUE} +# rozstęp +max(scoreTMR, na.rm = TRUE) - min(scoreTMR, na.rm = TRUE) +# odchylenie ćwiartkowe +IQR(scoreTMR, na.rm = TRUE) / 2 +# równoważnie +q = quantile(scoreTMR, na.rm = TRUE) +q +(q[4] - q[2]) / 2 +``` + +--- + +## Wariancja i odchylenie standardowe + +Do obliczenia wariancji i odchylenia standardowego domyślnie wykorzystue się w R funkcje odpowiednio `var()` i `sd()`. W praktyce jest jednak z nimi pewien problem, bowiem **zwracają one wartości, które są nieobciążonymi przewidywaniami (odpowiednio wariancji i odchylenia standardowego), jeśli zadany im wektor traktować jako prostą próbę losową z populacji, dla której chcemy oszacować wartość danego parametru**. + +Od strony technicznej oznacza to, że w przypadku wariancji suma kwadratów różnic od średniej jest dzielona nie przez liczbę elmentów wektora, lecz przez liczbę elementów pomniejszoną o jeden. Jeśli wektor jest długi, robi to niewielką różnicę, jednak jeśli jest krótki, będzie ona bardzo wyraźna. + +```{r comment="", prompt=TRUE, collapse=TRUE} +x = 0:10 # niewielka liczba obserwacji +y = rep(x, 10) # spora liczba obserwacji +z = rep(x, 100) # duża liczba obserwacji +srednie = c(x = mean(x), y = mean(y), z = mean(z)) +# wariancja obliczona jako oszacowanie na podstawie prostej próby losowej +warOszac = c(x = var(x), y = var(y), z = var(z)) +# wariancja obliczona na całej populacji (jeden ze sposobów) +warPopul = c(x = mean(x^2) - mean(x)^2, y = mean(y^2) - mean(y)^2, + z = mean(z^2) - mean(z)^2) +# porównajmy +round(rbind(srednie, warOszac, warPopul), 1) +# to się w ogóle nie uda! +var(1) +``` + +Jeśli chcemy uzyskać *normalną* wariancję/odchylenie standardowe musimy więc obliczyć ją sobie sami, lub skorygować wynik działania funkcji `var()` lub `sd()`: + + 1. Wariancja policzona *na piechotę* ze wzoru definicyjnego: + +```{r comment="", prompt=TRUE, collapse=TRUE} +varTMR = mean((scoreTMR - mean(scoreTMR, na.rm = TRUE))^2, na.rm = TRUE) +sdTMR = varTMR^0.5 +varTMR +sdTMR +# dla porównania +var(scoreTMR, na.rm = TRUE) +sd(scoreTMR, na.rm = TRUE) +``` + + 2. Wariancja policzona *na piechotę* z alternatywnego wzoru, jako różnica średniej kwadratów wartości zmiennej i kwadratu średniej tej zmiennej: + +```{r comment="", prompt=TRUE, collapse=TRUE} +var2TMR = mean(scoreTMR^2, na.rm = TRUE) - mean(scoreTMR, na.rm = TRUE)^2 +sd2TMR = var2TMR^0.5 +var2TMR +sd2TMR +``` + + 3. Skorygowanie (przeliczenie) wyników działania funkcji `var()` lub `sd()`: + +```{r comment="", prompt=TRUE, collapse=TRUE} +poprawka = (length(scoreTMR) - 1) / length(scoreTMR) +poprawka +var(scoreTMR^2, na.rm = TRUE) * poprawka +sd(scoreTMR, na.rm = TRUE) * poprawka^0.5 +``` + +## Współczynnik zmienności + +Współczynniki zmienności są często bardziej użyteczną miarą zróżnicowania w przypadku zmiennych mierzonych na skalach ilorazowych, które przyjmują tylko wartości nieujemne, a więc mają zakres wartości ograniczony z jednej strony, ale otwarty z drugiej. Pozwalają bowiem uwzględnić, że w takim przypadku w ramach grupy o wysokiej średniej wartości zmiennej jest znacznie więcej *miejsca* na różnicowanie się wartości, niż w ramach grupy, w której średnia wartości tej zmiennej jest niska, a więc bliska granicy zakresu możliwych do przyjęcia wartości. + +Najszerzej wykorzystywany typ wskaźnika zmieności obliczamy dzieląc wartość odchylenia standardowego przez wartość średniej. + +Aby prześledzić opisane wyżej własności współczynika zmienności w stosunku do odchylenia standardowego, rozpatrzmy dwie zmienne: `x` i `y`, które mogą przyjmować tylko wartości nieujemne i są określone w 10-cio elementowej zbiorowości. Przyjmiemy przy tym arbitralnie, że średnia zmiennej `x` wynosi 1, a średnia zmiennej `y` wynosi 10. Następnie dobierzemy wartości tych zmiennych dla poszczególnych jednostek zbiorowości w ten sposób, aby zmaksymalizować wartość odchylenia standardowego (w ramach przyjętych założeń, że zmienne mają opisane wyżej średnie i nie mogą przyjmować wartości ujemnych). + +```{r comment="", prompt=TRUE, collapse=TRUE} +# dla 10-cio elementowej zbiorowości odch. std. zm. x i y maksymalizuje +# takie przypisanie wartości tych zmiennych: +x = c(rep(0, 9), 10) +y = c(rep(0, 9), 100) +# obejrzyjmy rozkłady (pionowa niebieska linia wskazuje średnią) +par(mfcol = c(1, 2)) +hist(x, xlim = c(0, 100), breaks = 0:100, col = 2) +abline(v = mean(x), lwd = 2, col = 4) +hist(y, xlim = c(0, 100), breaks = 0:100, col = 2) +abline(v = mean(y), lwd = 2, col = 4) +# obliczmy parametry rozkładów tych zmiennych +srednie = c(x = mean(x), y = mean(y)) +odchStd = c(x = mean(x^2) - mean(x)^2, y = mean(y^2) - mean(y)^2)^0.5 +round(rbind(srednie, odchStd), 1) +# jak widać, odchylenia standardowe dramatycznie się różnią +wspZm = odchStd / srednie +round(rbind(srednie, odchStd, wspZm), 1) +# ale współczynniki zmienności są już takie same +``` + +--- + +#### Zadanie + +Jaka zmienna/zmienne spośród wczytanych na początku zajęć spełnia warunki umożliwiające policzenie współczynnika zmienności? Odpowiedz na podstawie opisu zmiennych i wartości parametrów wartości (kod poniżej). + +```{r comment="", prompt=TRUE, collapse=TRUE} +variablesDescription +summary(cbind(age, scoreTMR, scoreKKS, scoreKNS, scorePISAMath, scorePISARead, + scorePISAScie, noPersHous, wealth, income, parEdu, hisei)) +``` + +Oblicz wartość współczynnika zmienności dla tej zmiennej (zmienych). + +```{r comment="", prompt=TRUE, collapse=TRUE} +# to jest miejsce na TWój kod +``` + +--- + +## Odchylenie przeciętne od mediany + +--- + +#### Zadanie + +Oblicz odchylenie przeciętne od mediany zmiennej `scoreTMR`, pamiętając że: + + * Odchylenie przeciętne od mediany to średnia modułóW różnic pomiędzy wartością zmiennej dla danej jednostki obserwacji a wartością mediany. + * Do obliczenia modułu liczby można wykorzystać funkcję `abs()`. + +```{r comment="", prompt=TRUE, collapse=TRUE} +# to jest miejsce na Twój kod +``` + +--- + +# Na następne zajęcia + +## Praca domowa + +Zostanie nadesłana mailem. + +## Do przeczytania na następne zajęcia + +Zostanie nadesłana mailem. diff --git a/warsztat 2016.11.14/warsztat_2016.11.14.html b/warsztat 2016.11.14/warsztat_2016.11.14.html new file mode 100644 index 0000000..f341f19 --- /dev/null +++ b/warsztat 2016.11.14/warsztat_2016.11.14.html @@ -0,0 +1,410 @@ + + + + + + + + + + + + + + +Statystyka I z R Warsztat 6. Parametry rozproszenia + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ +
+ +

Na dzisiejszych zajęciach poznamy funkcje pozwalające obliczyć typowo wykorzystywane parametry parametry rozproszenia zmiennych statystycznych.

+
+

Wczytanie danych

+

Zacznijmy od wczytania danych, na których będziemy dalej pracować. Funkcja load() pozwala wczytać obiekty R zapisane w natywnym formacie R-a, czyli .RData (linijka wcześniej służy upewnieniu się, że bęziemy próbowali wczytać dane z odpowiedniego folderu). Funkcja load() zwraca nazwy wczytanych obiektów - w tym przypadku jest to 15 wektorów. Wektor o nazwie variablesDescription opisuje znaczenie pozostałych wektorów, które zawierają dane - zmienne z dodatkowej próby badawczej uczniów szkół pogimnazjalnych, zrealizowanej w ramach badania PISA 2009.

+
> try(setwd("warsztat 2016.11.14"), silent = TRUE)
+> nazwyObiektow = load("dane_2016.11.14.RData")
+> nazwyObiektow
+ [1] "schoolType"           "sex"                  "age"                 
+ [4] "scoreTMR"             "scoreKKS"             "scoreKNS"            
+ [7] "scorePISAMath"        "scorePISARead"        "scorePISAScie"       
+[10] "noPersHous"           "wealth"               "income"              
+[13] "parEdu"               "hisei"                "variablesDescription"
+> variablesDescription
+                                            schoolType 
+                                 "School type (track)" 
+                                                   sex 
+                                      "Sex of student" 
+                                                   age 
+                         "How old student was in 2009" 
+                                              scoreTMR 
+   "Score on Raven's Progressive Matrices test [0-60]" 
+                                              scoreKKS 
+        "Score on Cultural Competences Scale [60-240]" 
+                                              scoreKNS 
+           "Score on Snyder's Adult Hope Scale [8-64]" 
+                                         scorePISAMath 
+"Score on PISA mathematics test (pseudoEAP estimator)" 
+                                         scorePISARead 
+    "Score on PISA reading test (pseudoEAP estimator)" 
+                                         scorePISAScie 
+    "Score on PISA science test (pseudoEAP estimator)" 
+                                            noPersHous 
+                    "Number of persons in a household" 
+                                                wealth 
+                "Highest parental occupational status" 
+                                                income 
+                 "Highest parental education in years" 
+                                                parEdu 
+                                              "Wealth" 
+                                                 hisei 
+                             "Houshold monthly income" 
+
+
+

Parametry rozproszenia

+
+

Rozstęp i odchylenie ćwiartkowe

+

W R nie mamy funkcji pozwalającej bezpośrednio obliczyć rozstęp, niemniej zrobienie tego samemu jest oczywiście banalnie proste. Z kolei funkcja IQR(), służąca obliczeniu odchylenia ćwiartkowego robi to nieco inaczej, niż w typowych (stosowanych w Polsce) definicjach (nie dzieli różnicy wartości 3. i 1. kwartyla przez dwa). Niemniej obliczenie samemu odchylenia ćwiartkowego również nie nastręcza trudności (jeśli umiemy obliczyć kwartyle).

+
> # rozstęp
+> max(scoreTMR, na.rm = TRUE) - min(scoreTMR, na.rm = TRUE)
+[1] 49
+> # odchylenie ćwiartkowe
+> IQR(scoreTMR, na.rm = TRUE) / 2
+[1] 4.5
+> # równoważnie
+> q = quantile(scoreTMR, na.rm = TRUE)
+> q
+  0%  25%  50%  75% 100% 
+  11   45   50   54   60 
+> (q[4] - q[2]) / 2
+75% 
+4.5 
+
+
+
+

Wariancja i odchylenie standardowe

+

Do obliczenia wariancji i odchylenia standardowego domyślnie wykorzystue się w R funkcje odpowiednio var() i sd(). W praktyce jest jednak z nimi pewien problem, bowiem zwracają one wartości, które są nieobciążonymi przewidywaniami (odpowiednio wariancji i odchylenia standardowego), jeśli zadany im wektor traktować jako prostą próbę losową z populacji, dla której chcemy oszacować wartość danego parametru.

+

Od strony technicznej oznacza to, że w przypadku wariancji suma kwadratów różnic od średniej jest dzielona nie przez liczbę elmentów wektora, lecz przez liczbę elementów pomniejszoną o jeden. Jeśli wektor jest długi, robi to niewielką różnicę, jednak jeśli jest krótki, będzie ona bardzo wyraźna.

+
> x = 0:10  # niewielka liczba obserwacji
+> y = rep(x, 10)  # spora liczba obserwacji
+> z = rep(x, 100)  # duża liczba obserwacji
+> srednie = c(x = mean(x), y = mean(y), z = mean(z))
+> # wariancja obliczona jako oszacowanie na podstawie prostej próby losowej
+> warOszac = c(x = var(x), y = var(y), z = var(z))
+> # wariancja obliczona na całej populacji (jeden ze sposobów)
+> warPopul = c(x = mean(x^2) - mean(x)^2, y = mean(y^2) - mean(y)^2,
++              z = mean(z^2) - mean(z)^2)
+> # porównajmy
+> round(rbind(srednie, warOszac, warPopul), 1)
+          x    y  z
+srednie   5  5.0  5
+warOszac 11 10.1 10
+warPopul 10 10.0 10
+> # to się w ogóle nie uda!
+> var(1)
+[1] NA
+

Jeśli chcemy uzyskać normalną wariancję/odchylenie standardowe musimy więc obliczyć ją sobie sami, lub skorygować wynik działania funkcji var() lub sd():

+
    +
  1. Wariancja policzona na piechotę ze wzoru definicyjnego:
  2. +
+
> varTMR = mean((scoreTMR - mean(scoreTMR, na.rm = TRUE))^2, na.rm = TRUE)
+> sdTMR = varTMR^0.5
+> varTMR
+[1] 54.03407
+> sdTMR
+[1] 7.350787
+> # dla porównania
+> var(scoreTMR, na.rm = TRUE)
+[1] 54.04975
+> sd(scoreTMR, na.rm = TRUE)
+[1] 7.351854
+
    +
  1. Wariancja policzona na piechotę z alternatywnego wzoru, jako różnica średniej kwadratów wartości zmiennej i kwadratu średniej tej zmiennej:
  2. +
+
> var2TMR = mean(scoreTMR^2, na.rm = TRUE) - mean(scoreTMR, na.rm = TRUE)^2
+> sd2TMR = var2TMR^0.5
+> var2TMR
+[1] 54.03407
+> sd2TMR
+[1] 7.350787
+
    +
  1. Skorygowanie (przeliczenie) wyników działania funkcji var() lub sd():
  2. +
+
> poprawka = (length(scoreTMR) - 1) / length(scoreTMR)
+> poprawka
+[1] 0.9997366
+> var(scoreTMR^2, na.rm = TRUE) * poprawka
+[1] 423791.9
+> sd(scoreTMR, na.rm = TRUE) * poprawka^0.5
+[1] 7.350885
+
+
+

Współczynnik zmienności

+

Współczynniki zmienności są często bardziej użyteczną miarą zróżnicowania w przypadku zmiennych mierzonych na skalach ilorazowych, które przyjmują tylko wartości nieujemne, a więc mają zakres wartości ograniczony z jednej strony, ale otwarty z drugiej. Pozwalają bowiem uwzględnić, że w takim przypadku w ramach grupy o wysokiej średniej wartości zmiennej jest znacznie więcej miejsca na różnicowanie się wartości, niż w ramach grupy, w której średnia wartości tej zmiennej jest niska, a więc bliska granicy zakresu możliwych do przyjęcia wartości.

+

Najszerzej wykorzystywany typ wskaźnika zmieności obliczamy dzieląc wartość odchylenia standardowego przez wartość średniej.

+

Aby prześledzić opisane wyżej własności współczynika zmienności w stosunku do odchylenia standardowego, rozpatrzmy dwie zmienne: x i y, które mogą przyjmować tylko wartości nieujemne i są określone w 10-cio elementowej zbiorowości. Przyjmiemy przy tym arbitralnie, że średnia zmiennej x wynosi 1, a średnia zmiennej y wynosi 10. Następnie dobierzemy wartości tych zmiennych dla poszczególnych jednostek zbiorowości w ten sposób, aby zmaksymalizować wartość odchylenia standardowego (w ramach przyjętych założeń, że zmienne mają opisane wyżej średnie i nie mogą przyjmować wartości ujemnych).

+
> # dla 10-cio elementowej zbiorowości odch. std. zm. x i y maksymalizuje
+> #   takie przypisanie wartości tych zmiennych:
+> x = c(rep(0, 9), 10)
+> y = c(rep(0, 9), 100)
+> # obejrzyjmy rozkłady (pionowa niebieska linia wskazuje średnią)
+> par(mfcol = c(1, 2))
+> hist(x, xlim = c(0, 100), breaks = 0:100, col = 2)
+> abline(v = mean(x), lwd = 2, col = 4)
+> hist(y, xlim = c(0, 100), breaks = 0:100, col = 2)
+> abline(v = mean(y), lwd = 2, col = 4)
+

+
> # obliczmy parametry rozkładów tych zmiennych
+> srednie = c(x = mean(x), y = mean(y))
+> odchStd = c(x = mean(x^2) - mean(x)^2, y = mean(y^2) - mean(y)^2)^0.5
+> round(rbind(srednie, odchStd), 1)
+        x  y
+srednie 1 10
+odchStd 3 30
+> # jak widać, odchylenia standardowe dramatycznie się różnią
+> wspZm = odchStd / srednie
+> round(rbind(srednie, odchStd, wspZm), 1)
+        x  y
+srednie 1 10
+odchStd 3 30
+wspZm   3  3
+> # ale współczynniki zmienności są już takie same
+
+
+

Zadanie

+

Jaka zmienna/zmienne spośród wczytanych na początku zajęć spełnia warunki umożliwiające policzenie współczynnika zmienności? Odpowiedz na podstawie opisu zmiennych i wartości parametrów wartości (kod poniżej).

+
> variablesDescription
+                                            schoolType 
+                                 "School type (track)" 
+                                                   sex 
+                                      "Sex of student" 
+                                                   age 
+                         "How old student was in 2009" 
+                                              scoreTMR 
+   "Score on Raven's Progressive Matrices test [0-60]" 
+                                              scoreKKS 
+        "Score on Cultural Competences Scale [60-240]" 
+                                              scoreKNS 
+           "Score on Snyder's Adult Hope Scale [8-64]" 
+                                         scorePISAMath 
+"Score on PISA mathematics test (pseudoEAP estimator)" 
+                                         scorePISARead 
+    "Score on PISA reading test (pseudoEAP estimator)" 
+                                         scorePISAScie 
+    "Score on PISA science test (pseudoEAP estimator)" 
+                                            noPersHous 
+                    "Number of persons in a household" 
+                                                wealth 
+                "Highest parental occupational status" 
+                                                income 
+                 "Highest parental education in years" 
+                                                parEdu 
+                                              "Wealth" 
+                                                 hisei 
+                             "Houshold monthly income" 
+> summary(cbind(age, scoreTMR, scoreKKS, scoreKNS, scorePISAMath, scorePISARead,
++               scorePISAScie, noPersHous, wealth, income, parEdu, hisei))
+      age           scoreTMR        scoreKKS        scoreKNS    
+ Min.   :15.79   Min.   :11.00   Min.   : 60.0   Min.   : 8.00  
+ 1st Qu.:17.17   1st Qu.:45.00   1st Qu.:162.0   1st Qu.:43.00  
+ Median :17.45   Median :50.00   Median :178.0   Median :48.00  
+ Mean   :17.47   Mean   :48.54   Mean   :178.3   Mean   :47.74  
+ 3rd Qu.:17.72   3rd Qu.:54.00   3rd Qu.:195.0   3rd Qu.:53.00  
+ Max.   :20.21   Max.   :60.00   Max.   :240.0   Max.   :64.00  
+ NA's   :322     NA's   :350     NA's   :325     NA's   :337    
+ scorePISAMath   scorePISARead   scorePISAScie     noPersHous    
+ Min.   :199.2   Min.   :231.7   Min.   :226.8   Min.   : 2.000  
+ 1st Qu.:457.2   1st Qu.:467.3   1st Qu.:473.9   1st Qu.: 4.000  
+ Median :528.2   Median :534.8   Median :538.6   Median : 4.000  
+ Mean   :523.5   Mean   :524.5   Mean   :531.0   Mean   : 4.536  
+ 3rd Qu.:588.2   3rd Qu.:589.0   3rd Qu.:596.2   3rd Qu.: 5.000  
+ Max.   :793.7   Max.   :749.1   Max.   :756.3   Max.   :14.000  
+                                                 NA's   :86      
+     wealth            income           parEdu          hisei      
+ Min.   :-2.8256   Min.   : 1.136   Min.   : 3.00   Min.   :16.00  
+ 1st Qu.:-0.7216   1st Qu.: 5.305   1st Qu.:11.00   1st Qu.:33.00  
+ Median :-0.2500   Median : 7.494   Median :11.00   Median :43.00  
+ Mean   :-0.1678   Mean   : 9.598   Mean   :12.34   Mean   :45.86  
+ 3rd Qu.: 0.2512   3rd Qu.:10.818   3rd Qu.:12.00   3rd Qu.:55.00  
+ Max.   : 2.7703   Max.   :68.456   Max.   :16.00   Max.   :90.00  
+ NA's   :9         NA's   :9        NA's   :43      NA's   :111    
+

Oblicz wartość współczynnika zmienności dla tej zmiennej (zmienych).

+
> # to jest miejsce na TWój kod
+
+
+
+
+

Odchylenie przeciętne od mediany

+
+
+

Zadanie

+

Oblicz odchylenie przeciętne od mediany zmiennej scoreTMR, pamiętając że:

+
    +
  • Odchylenie przeciętne od mediany to średnia modułóW różnic pomiędzy wartością zmiennej dla danej jednostki obserwacji a wartością mediany.
  • +
  • Do obliczenia modułu liczby można wykorzystać funkcję abs().
  • +
+
> # to jest miejsce na Twój kod
+
+
+
+
+
+

Na następne zajęcia

+
+

Praca domowa

+

Zostanie nadesłana mailem.

+
+
+

Do przeczytania na następne zajęcia

+

Zostanie nadesłana mailem.

+
+
+ + + + +
+ + + + + + + +