W jaki sposób, bez użycia instrukcji ifelse()
ani innych pętli, mając zdefiniowany wektor x <- 1:10
wypisać liczby podzielne przez 3?
Napisz funkcję cross.prod(x,y)
, która będzie wykonywała iloczyn wektorowy dwoch wektorów.
Napisz funkcję winsor(x,k)
, która będzie wykonywała średnią winsorowską k-tego stopnia, czyli średnią arytmetyczną przetransformowanego wektora x
, w którym k
największych i k
najmniejszych wartości zastępujemy (k-1)
największą (lub najmniejszą) liczbą. Przykładowo średnia winsorowska 3-go stopnia z wektora x <- 1:10
będzie średnią arytmetyczną z wektora c(4,4,4,4,5,6,7,7,7,7)
.
Napisz funkcję replace.na(x)
, która zastąpi każdą brakująca wartość w wektorze średnią arytmetyczną sąsiadujących elementów, np. jeśli x <- c(5,NA,6,8,NA,10)
to funkcja replace.na(x)
zwróci wektor (5,5.5,6,8,9,10)
.
Narysuj wykresy funkcji \(\sin(x)\), \(\sin(2x)\) oraz \(\sin(x-\frac{\pi}{2})\) dla \(x \in \langle -2\pi;2\pi \rangle\).
Wczytaj do pamięci zbiór danych ChickWeight
. Dane te zawierają zależność wagi od wieku dla 50 kur, karmionych według 4 różnych diet. Dla każdej diety oblicz średnią zależność wagi od wieku (przy pomocy binowania) i umieść na wykresie razem ze słupkami niepewności (niepewność jest równa odychyleniu standardowemu pomiarów w binie podzielonemu przez liczbę pomiarów). Każdą z czterech serii danych oznacz innym kolorem i do każdej serii dodaj dopasowanie liniowe. Umieść na wykresie legendę (funkcja legend()
).
Wczytaj do pamięci zbiór danych anscombe
i zapoznaj sie z nim. W tym zbiorze zawarte są cztery zestawy danych, które mają takie same klasyczne właściwości statystyczne (średnia, wariancja, korelacja, regresja liniowa) pomimo, że sa całkiem różne. Dla każdego z czterech zestawów punktów (x,y) wykonaj regresję liniową i wypisz współczynniki dopasowania. Następnie wykonaj cztery wykresy na których bedą widoczne punkty oraz dopasowana prosta. Postaraj się wykonać wszystko z użyciem pętli lapply
, sapply
i for
lub tylko w pętli for
. Do stworzenia pustej listy służy konstruktor list()
, np. coef.list <- list()
.
## [,1] [,2] [,3] [,4]
## (Intercept) 3.0000909 3.000909 3.0024545 3.0017273
## anscombe[, i] 0.5000909 0.500000 0.4997273 0.4999091
Wylosuj \(N\) punktów z trzech różnych dwuwymiarowych, symetrycznych rozkładów normalnych o różnych średnich i odchyleniach standardowych (na wykresie poniżej \(N=1000,\; \mu_1=-3,\; \mu_2=0,\; \mu_3=3,\; \sigma_1=1,\; \sigma_2=1.5,\; \sigma_3=0.5\)). Umieść wszystkie punkty na jednym wykresie, przy czym punkty z różnych rozkładów powinny być oznaczone różnymi symbolami. Ponadto, pokoloruj punkty w zależności od ich odległości od punktu \((0,0)\).
Napisać funkcję, która dla danej próby losowej z rozkładu normalnego \(\mathcal{N}(\mu,\sigma^2)\) z nieznaną średnią \(\mu\) i znaną wariancją \(\sigma^2\), weryfikuje hipotezę dotyczącą średniej (Model I). Niech funkcja ta zwraca wartość statystyki testowej, p-wartość oszacowaną z dokładnością do 0.001 i dopuszcza rozważanie trzech hipotez alternatywnych. Obliczenie p-wartości polega na znalezieniu najmniejszej wartości poziomu istotności przy której odrzucamy \(H_0\).
Napisać funkcję, która dla danej próby losowej z rozkładu normalnego \(\mathcal{N}(\mu,\sigma^2)\) z nieznanymi \(\mu\) i \(\sigma^2\), weryfikuje hipotezę dotyczącą wariancji (patrz zadanie punktowane z Laboratorium 5). Niech funkcja ta zwraca wartość statystyki testowej, p-wartość oszacowaną z dokładnością do 0.001 i dopuszcza rozważanie trzech hipotez alternatywnych. Obliczenie p-wartości polega na znalezieniu najmniejszej wartości poziomu istotności przy której odrzucamy \(H_0\).
Pełnomocnik rządu d/s równego traktowania kobiet i mężczyzn podejrzewa, że udział mężczyzn wśród pracowników przedszkoli jest niższy niż minimum przewidziane w ustawie, wynoszące 35%.
Czy na poziomie istotności 0.05 można uznać to stwierdzenie za uzasadnione, jeśli wśród losowo zbadanych 400 pracowników przedszkoli było 128 mężczyzn?
Czy odpowiedź uzyskana w pkt. (a) zmieniłaby się, gdyby pełnomocnik pobrał reprezentatywną próbkę 10 pracowników przedszkoli i 3 z nich okazałoby się mężczyznami?
Ornitolog badający określony gatunek, pobrał próbę losową 10 dorosłych ptatów i zmierzył ich wagę, otrzymując następujące wyniki (w kg): 5.21, 5.15, 5.20, 5.48, 5.19, 5.25, 5.09, 5.17, 4.94, 5.11. Można uznać, że waga ptaków badanego gatunku ma rozład normalny.
Czy na poziomie istotności 0.05 można stwierdzić, że średnia waga ptaków badanego gatunku jest mniejsza niż 5.20 kg?
Z jakim prawdopodobieństwem test, przeprowadzony w pkt. (a), przyjmie na pozimoie istotności 0.05 hipoteze, że średnia waga ptaków badanego gatunku jest mniejsza niż 5.20 kg, w sytuacji, gdy w rzeczywistości ta średnia waga wynosi 5.15 kg?
Ile by musiała wynosić średnia waga ptaków tego gatunku by test z pkt. (a) z prawdopodobieństwem 0.8, na poziomie istotności 0.05, przyjmował hipoteze, że średnia waga jest mniejsza niż 5.20 kg?
Załóżmy, że rzeczywista średnia waga ptaków jest równa 5.15 kg. Wyznaczyć minimalna liczność próby, która zagwarantuje, że test na poziomie istotności 0.05, z prawdopodobieństwem nie mniejszym niż 0.8, bedzie przyjmował hipoteze, że średnia waga jest mniejsza niż 5.20 kg.
Czy na poziomie istotności 0.05 można stwierdzić, że odchylenie standardowe wagi ptaków badanego gatunku wynosi 0.20 kg?
Zbadano grupę krwi 100 osób. Grupę 0 miało 36 osób, A - 42 osoby, B - 14 osób i grupę AB - 8 osób. Zweryfikować hipotezę, że prawdopodobieństwo wystąpienia grup krwi 0, A, B, AB w populacji są równe odpowiednio 0.4, 0.4, 0.1, 0.1. Przyjąć poziom istotności 0.05.
## Warning in chisq.test(x, p): Chi-squared approximation may be incorrect
## [1] "P-wartość wynosi 0.261464129949111"
Losową próbę studentów spytano o ich ulubiony przedmiot na studiach. Otrzymano następujące odpowiedzi:
Przedmiot | Fizyka | Mechanika | Statystyka | WF |
---|---|---|---|---|
Liczba studentów, którzy najbardziej lubią ten przedmiot | 380 | 380 | 500 | 340 |
Na poziomie istotności 0.05 sprawdzić hipotezę, że rozkład preferencji jest równomierny.
## [1] "P-wartość wynosi 7.48837694879547e-08"
Wygenerować po \(N=1000\) liczb z następujących rozkładów:
Dla każdej wygenerowanej próbki sporządzić wykres skrzynkowy i wykresy te wyświetlić w jednym oknie (w pakiecie ggplot2
do zrobienia wykresu skrzynkowego służy funkcja geom_boxplot()
).
Dla każdej wygenerowanej próbki sporządzić histogram częstości i nanieść na niego jądrowy estymator gęstości. Przeanalizować kształty tych wykresów.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Dla każdej wygenerowanej próbki przeprowadzić na poziomie istotności 0.05 test normalności Shapiro-Wilka.
Powyższe analizy powtórzyć z \(N=100\) i \(N=10\).
Wczytaj dane z pliku http://www.if.pw.edu.pl/~paluch/MSR/data/zad6.txt zawierającego 200 liczb losowych z rozkładu wykładniczego. Przy pomocy funkcji fitdistr
z biblioteki MASS
znajdź najlepiej pasującą wartość parametru \(\lambda\), a następnie zweryfikuj hipotezę o tym, że dane pochodzą z rozkładu wykładniczego o wyestymowanym parametrze \(\lambda\). W pakiecie ggplot2
wykonaj histogram gęstości prawdopodobieństwa i umieść na nim teoretyczną gęstość prawdopodobieństwa.
## [1] "Dopasowana wartość parametru wynosi 0.244420945550138"
## [1] "P-wartość wynosi 0.86998405623739"
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
Plik http://www.if.pw.edu.pl/~paluch/MSR/data/titanic_train.csv zawiera 891 rekordów dotyczących pasażerów statku Titanic. Dane pochodzą z serwisu Kaggle i tam zamieszczone jest szczegółowe omówienie wszystkich kolumn (https://www.kaggle.com/c/titanic/data). Zadanie polega na wykonaniu regresji logistycznej w oparciu o te dane, przy czym należy sprawdzić, które predyktory (zmienne wyjaśniające) mają statystycznie istotny wpływ na zmienną odpowiedzi (przeżycie katastrofy). Stworzony model można przetestować przy użyciu zbioru http://www.if.pw.edu.pl/~paluch/MSR/data/titanic_test.csv. Zbiór testowy nie zawiera kolumny Survived
, a zatem nie można samodzielnie oszacować skuteczności. Dla dociekliwych możliwe jest sprawdzenie skuteczności poprzez rejestrację w serwisie Kaggle i wysłanie tam predykcji w formacie takim samym jak w pliku http://www.if.pw.edu.pl/~paluch/MSR/data/titanic_gender_submission.csv. Innym sposobem na przetestowanie skuteczności regresji logistycznej jest samodzielny podział zbioru titanic_train.csv
na grupę uczącą (np. 600 rekordów) i testową (pozostałe 291 rekordów).