---
title: "Entregable 1 - Estadística"
subtitle: "Grau de Matemàtiques, Curs 2020-21"
author: "Vilanova Martínez, Adrià"
output: html_document
---

```{r}
library(tables)
```

## Configuració
Aquí es pot configurar la pràctica depenent del que es pregunti:

```{r}
# Columna per la qual es pregunta a l'apartat a):
colA = "IM"
# Tractament dels exercicis 1 i 2 de l'apartat a):
tractamentA = "M-Jove"
# Columna per la qual es pregunta a l'apartat b):
colB = "H"
# Tractament que s'usa a l'apartat b):
tractamentB = "M-Jove"
# Mu a les preguntes 8, 9 i 10
mu8 = 170.9
# Probabilitat de les preguntes 8, 9 i 10
prob8 = 0.95
# Sigma^2 a les preguntes 11, 12 i 13
sigmaQuad11 = 66.3
# Probabilitat de les preguntes 11, 12 i 13
prob11 = 0.95
# Categoria d'Aspecte preguntada a l'apartat c):
aspC = "F"
# Columna per la qual es pregunta a l'apartat c):
colC = "Vidre"
# Resposta a la columna anterior de l'apartat c):
respC = "No"

dd = read.csv2("data.csv")
```

## Tractament previ
```{r}
# Conversió de dades
dd$MO = factor(dd$MO, labels=c("No", "Sí"))
dd$Envas = factor(dd$Envas, labels=c("No", "Sí"))
dd$Vidre = factor(dd$Vidre, labels=c("No", "Sí"))
dd$Sexe = factor(dd$Sexe)
dd$Aspecte = factor(dd$Aspecte)
dd$IM = dd$D2/dd$D4
dd$BMI = dd$Pes/(dd$H/100)^2
dd$CBMI = cut(dd$BMI, c(0, 19, 27, 100), labels=c("1-Baix", "2-Mig", "3-Alt"))
dd$CEdat = cut(dd$Edat, c(-1, 25, 200), labels=c("1-Jove", "2-Gran"))

# Definim els data frames per cada tractament (combinació)
fj = dd[dd$Sexe == 'F' & dd$CEdat == "1-Jove",]
fg = dd[dd$Sexe == 'F' & dd$CEdat == "2-Gran",]
mj = dd[dd$Sexe == 'M' & dd$CEdat == "1-Jove",]
mg = dd[dd$Sexe == 'M' & dd$CEdat == "2-Gran",]
tractaments = list(fj, fg, mj, mg)
names(tractaments) = c("F-Jove", "F-Gran", "M-Jove", "M-Gran")
```

## Apartat a)
```{r}
# Creem data frame amb informació d'estadístics de colA per cada
# tractament
colAPerTractament = data.frame(
  "Tractament" = names(tractaments),
  "Mean" = c(mean(fj[[colA]]), mean(fg[[colA]]), mean(mj[[colA]]), mean(mg[[colA]])),
  "Var" = c(var(fj[[colA]]), var(fg[[colA]]), var(mj[[colA]]), var(mg[[colA]]))
)
colAPerTractament

# TODO(avm99963): Fix
# with(dd, tabular(Sexe~colA*CEdat*(mean + var)))
```

Variables usades a l'apartat:

- `tractamentA = `r tractamentA``
- `colA = `r colA``

### Pregunta 1
La mitjana de ``r colA`` en el tractament ``r tractamentA`` és:

```{r}
mean(tractaments[[tractamentA]][[colA]])
```

### Pregunta 2
La variància de ``r colA`` en el tractament ``r tractamentA`` és:

```{r}
var(tractaments[[tractamentA]][[colA]])
```

### Pregunta 3
El tractament en què ``r colA`` ha donat més alt és:

```{r}
colAPerTractament[which.max(colAPerTractament$Mean), "Tractament"]
```

### Pregunta 4
El tractament en què ``r colA`` ha sortit amb més dispersió és:

```{r}
colAPerTractament[which.max(colAPerTractament$Var), "Tractament"]
```

### Pregunta 5
El sexe en què la diferència de ``r colA`` entre Joves i Grans ha sortit més alta és:

```{r}
# Diferència de la colA entre joves i grans:
colADiff1 = data.frame(
  Sexe = c("F", "M"),
  Diff = c(
    abs(mean(fj[[colA]]) - mean(fg[[colA]])),
    abs(mean(mj[[colA]]) - mean(mg[[colA]]))
  )
)

colADiff1
colADiff1[which.max(colADiff1$Diff), "Sexe"]
```

### Pregunta 6
El grup d'edat en què la diferència de ``r colA`` entre sexes ha sortit més alta és:

```{r}
# Diferència de la colA entre sexes:
colADiff2 = data.frame(
  Edat = c("1-Jove", "2-Gran"),
  Diff = c(
    abs(mean(fj[[colA]]) - mean(mj[[colA]])),
    abs(mean(fg[[colA]]) - mean(mg[[colA]]))
  )
)

colADiff2
colADiff2[which.max(colADiff1$Diff), "Edat"]
```

## Apartat b)

Variables usades a l'apartat:

- `colB = `r colB``
- `tractamentB = `r tractamentB``

### Pregunta 7
Mitjana de ``r colB`` per les persones del segment ``r tractamentB``:

```{r}
m7 = mean(tractaments[[tractamentB]][[colB]])
m7
```

### Pregunta 8
Suposant que $\mu = \mathbb{E}[`r colB` | \text{`r tractamentB`}] = `r mu8`$, quins serien els resultats normals (dues cues, probabilitat = 0.95) de la mitjana de ``r colB`` del segment ``r tractamentB``? Doneu-ne els extrems de l'interval (valors crítics):

```{r}
nb = nrow(tractaments[[tractamentB]])
sd8 = sd(tractaments[[tractamentB]][[colB]])
probcua8 = (1 - prob8)/2
extesq = mu8 + qt(probcua8, df=nb-1)*sd8/sqrt(nb)
extdre = mu8 + qt(1 - probcua8, df=nb-1)*sd8/sqrt(nb)
```

Els resultats normals són $[`r extesq`, `r extdre`]$.

### Pregunta 9
Continuant el dos punts anteriors (7 i 8), quina és la probabilitat que la mitjana $\text{`r colB`} | \text{`r tractamentB`}$ surti tant o més estranya del que ha sortit?

```{r}
p9 = 2*(1 - pt(abs(m7 - mu8)*sqrt(nb)/sd8, df=nb-1))
```

La probabilitat és `r p9`.

### Pregunta 10
Calculeu la variància de ``r colB`` per les persones del segment ``r tractamentB``:

```{r}
var10 = var(tractaments[[tractamentB]][[colB]])
var10
```

### Pregunta 11
Suposant que $\sigma^2 = V(`r colB` | \text{`r tractamentB`}) = `r sigmaQuad11`$, quins serien els resultats normals (dues cues, probabilitat = ``r prob11``) de la variància de ``r colB`` del segment ``r tractamentB``? Doneu-ne els valors crítics.

```{r}
mean11 = mean(tractaments[[tractamentB]][[colB]])
probcua11 = (1 - prob11)/2
extesq2 = qchisq(probcua11, df=nb-1)*sigmaQuad11/(nb - 1)
extdre2 = qchisq(1 - probcua11, df=nb-1)*sigmaQuad11/(nb - 1)
```

Els resultats normals són $[`r extesq2`, `r extdre2`]$.

### Pregunta 12
Continuant els dos punts anteriors (10 i 11), quina és la probabilitat que la variància $S^2$ de ``r tractamentB`` surti tant o més estranya del que ha sortit?

```{r}
c12 = (nb - 1)/sigmaQuad11
delta12 = abs(var10 - sigmaQuad11)
p12 = pchisq(c12*(sigmaQuad11 - delta12), df=nb-1) +
      pchisq(c12*(sigmaQuad11 + delta12), df=nb-1, lower.tail = FALSE)
```

La probabilitat és `r p12`.

## Apartat c)

Variables usades a l'apartat:

- `aspC = `r aspC``
- `colC = `r colC``
- `respC = `r respC``

<!-- TODO(avm99963): Give direct results instead of tables -->

### Pregunta 13
De les persones que han respost l'opció ``r aspC`` d'Aspecte, quina proporció (tant per u) ha dit: ``r respC`` a ``r colC``?

```{r}
dd13 = dd[dd$Aspecte == aspC,]
pt13 = prop.table(table(dd13[[colC]]))
pt13

pt13[["No"]]
```

### Pregunta 14
En quina opció d'Aspecte, les proporcions de "Sí" i de "No" a ``r colC`` són més diferents?

```{r}
pt14 = prop.table(table(dd$Aspecte, dd[[colC]]), margin=1)
pt14

diff14 = data.frame(
  Aspecte = c("E", "F", "M", "T"),
  Diff = c(
    abs(pt14["E", "No"] - pt14["E", "Sí"]),
    abs(pt14["F", "No"] - pt14["F", "Sí"]),
    abs(pt14["M", "No"] - pt14["M", "Sí"]),
    abs(pt14["T", "No"] - pt14["T", "Sí"])
  )
)
diff14

diff14[which.max(diff14$Diff), "Aspecte"]
```

### Pregunta 15
En quina opció d'Aspecte, les proporcions de "Sí" i de "No" a ``r colC`` s'assemblen més a les proporcions de "Sí" i "No" de totes les persones juntes?

```{r}
pt15 = prop.table(table(dd[[colC]]))
pt15

diff15 = data.frame(
  Aspecte = c("E", "F", "M", "T"),
  Diff = c(
    abs(pt14["E", "No"] - pt15[["No"]]),
    abs(pt14["F", "No"] - pt15[["No"]]),
    abs(pt14["M", "No"] - pt15[["No"]]),
    abs(pt14["T", "No"] - pt15[["No"]])
  )
)
diff15

diff15[which.min(diff15$Diff), "Aspecte"]
```