---
title: "Praca domowa - testy chi-kwadrat"
author: "Bartosz Maćkiewicz"
output: html_document
---

```{r, include=FALSE}
knitr::opts_chunk$set(collapse = TRUE, echo=FALSE, warnings = FALSE)
```

# Zadanie 1

Wykonano badania dotyczące populacji ryb występujących w pewnej okolicy. Notowano liczbę papugoryb (53), graników (22) oraz pokolców (49). Wcześniejsze badania wykazały, że populacje te występowały w stosunku 5:3:4. Czy obecny stan różni się istotnie od wcześniej zaobserwowanego? 

Zadanie wykonujemy na dwa sposoby - samodzielnie licząc i korzystając z wbudowanej funkcji. Zadanie to wymaga zajrzenia do dokumentacji funkcji `chisq.test`. Napisz statystyczne podsumowanie wyników badania.

```{r}
# Tutaj miejsce na Twój kod
```

*Tu miejsce na Twoją odpowiedź*

# Zadanie 2

W doświadczeniu polegającym na krzyżowaniu dwóch gatunków ryb, z których jeden charakteryzuje się dobrym smakiem, ale niedużą wagą, natomiast drugi dużą wagą, ale nieco gorszym smakiem uzyskano wyniki:

            Smaczne   Niesmaczne     
-------     ------    ----------   
**Duże**     315       101        
**Małe**     108       32       

Według teoretycznych rozważań genetyków, prawdopodobieństwo wystąpienia wymienionych rodzajów powinno wynosić 9:3:3:1. Na poziomie istotnosci 5% zweryfikuj hipotezę, że eksperyment potwierdził rozważania teoretyczne. Tak jak poprzednio wykonaj zadanie na dwa sposoby. Napisz statystyczne podsumowanie wyników badania.

```{r}
# Tutaj miejsce na Twój kod
```
   
*Tu miejsce na Twoją odpowiedź*

# Zadanie 3

Na podstawie poniższych danych chcemy odpowiedzieć na pytanie, czy występowanie problemów z metabolizmem jest związane z płcią.

                Problem wystąpił  Problem nie wystąpił     
-------         ------            ----------   
**Mężczyźni**   22                33        
**Kobiety**     31                20       

1. Używając najodpowiedniejszego testu, na poziomie istotności $\alpha = 0.05$ oceń, czy zależność występuje. Rozwiąż ten problem na dwa sposoby - używając funkcji wbudowanej w R przeprowadzającej ten test oraz odpowiedniego rozkładu teoretycznego. Napisz statystyczne podsumowanie wyników badania.

```{r}
# Tutaj miejsce na Twój kod
```

*Tu miejsce na Twoją odpowiedź*

2. Jak możesz zauwazyć istnieje różnica między wynikami zwracanymi przez wbudowaną funkcję i tymi, które uzyskałeś za pomocą własnych obliczeń. 

Związane jest to z faktem, że do tabel 2x2 funkcja wbudowana w R automatycznie stosuje poprawkę Yatesa na ciągłość. Korzystając z dostępnych Ci źródeł napisz, dlaczego poprawka ta jest używana i zaimplementuj ją sam. Napisz również polecenie, który wyłączy wprowadzanie poprawki w funkcji `chisq.test`.

```{r}
# Tutaj miejsce na Twój kod
```


3. Wykonaj wykres ilustrujący uzyskane w eksperymencie wyniki. Możesz użyć do tego funkcji rysujących wykresy z pakietu `vcd`, ale można również samemu poszukać odpowiednich funkcji i bibliotek w internecie.

```{r}
# Tutaj miejsce na Twój kod
```

# Zadanie 4

W pakiecie `pwr` znajdują się bardzo przydatne funkcje do pracy z mocą testu. Dzisiaj zajmiemy sie funkcją `pwr.chisq.test`, służącą do obliczania mocy testu $\chi^2$. 

Aby obliczyć moc testu $\chi^2i$ musimy znać wielkość efektu (*effect size*). Oblicza się ją w następujący sposób:

$$
\phi  = \frac{ad-bc}{\sqrt{efgh}}
$$

zakładając, że nasza tabela kontyngencji ma następującą postać:

               X+               X-    Total     
-------        ---              ---   ------
**Y+**         a                b     e   
**Y-**         c                d     f  
Total          g                h     n

Inna metoda obliczania to:

$$
\phi = \sqrt{\frac{\chi^2}{n}}
$$
Spróbujmy więc obliczyć moc naszego testu przy założeniu, że prawdziwa siła efektu wynosi 0.2 a liczebność naszej próby 100.

```{r, echo = TRUE}
library(pwr)
pwr.chisq.test(w=0.2, N = 100, df = 1)
pchisq(qchisq(0.95, 1), df = 1, ncp = (0.2**2) * 100, lower.tail = FALSE)
```

Trudno uzmysłowić sobie co miałaby reprezentować liczba 0.2. Możemy skorzystać z którejś z tabelek dostępnych w internecie, na przykład:

http://imaging.mrc-cbu.cam.ac.uk/statswiki/FAQ/effectSize

(należy pamiętać, że to jest sensowna interpretacja $\phi$ tylko dla tabel 2x2!)

Spróbujmy przeprowadzić eksperyment. Załóżmy że prawdziwe prawdopodobieństwa bycia w poszczególnych kategoriach w tabeli 2x2 wynoszą:

               X+               X-       
-------        ---              --- 
**Y+**         0.6              0.2      
**Y-**         0.1              0.1    

Łatwo zauważyć, że zmienne te nie są od siebie niezależne.

```{r}
m <- matrix(c(0.6,0.1,0.2,0.1), 2,2)
m
print('Phi')
ES.w2(m)
```

Wykonajmy eksperyment, w którym losujemy 10 000 razy próbę o liczebności 100 z takiego rozkładu. Zobaczmy jak czesto uda nam się odrzucić hipotezę zerową. (nie przejmujemy się warningami)

```{r, warning= FALSE}
sim <- replicate(10000,{
          sampl = sample.int(4, 100, replace = TRUE, prob = m)
          m_s = matrix(table(sampl),2,2)
          (chisq.test(m_s, correct = FALSE)$p.value)
})

print('Moc')
moc <- length(sim[sim <= 0.05])/length(sim)
moc

print('Beta-błąd')
1-moc
```

Moc testu statystycznego czyli $1-\beta$ możemy obliczyć przy pomocy funkcji `pwr.chisq.test`, która daje nam wynik porównywalny z przeprowadzoną wcześniej symulacją.

```{r}
pwr.chisq.test(w=ES.w2(m), N = 100, df = 1)
pchisq(qchisq(0.95, 1), df = 1, ncp = (ES.w2(m)**2) * 100, lower.tail = FALSE)
```

Jak licznej potrzebujemy próby, by replikując eksperyment z zadania 3 moc naszego testu była większa niż 90% (tzn. $\beta < 0.1$) przy założeniu, że prawdziwa wielkosć efektu jest taka, jaką odkryli badacze? Zadanie to wymaga zajrzenia do dokumentacji `pwr.chisq.test` i pomyślenia. Proszę zwrócić uwagę, że potrzebują Państwo najpierw obliczyć wartości $\phi$ dla tego eksperymentu i właśnie tej liczby użyć w `pwr.chisq.test`. 

```{r}
# Tutaj miejsce na Twój kod
```


# Zadanie 5

Dlaczego w testach $\chi^2$ obszar odrzucenia jest *zawsze* zlokalizowany w górnej części rozkładu?

**Tutaj miejsce na Twoją odpowiedź**