diff --git a/entregables/ent4/ent4.Rmd b/entregables/ent4/ent4.Rmd
new file mode 100644
index 0000000..66d4e92
--- /dev/null
+++ b/entregables/ent4/ent4.Rmd
@@ -0,0 +1,364 @@
+---
+title: "Entregable 4 - Estadística"
+subtitle: "Grau de Matemàtiques, Curs 2020-21"
+author: "Vilanova Martínez, Adrià"
+output: html_document
+---
+
+```{r message=FALSE}
+# Libraries
+library(R.utils)
+
+# Decimal separator (we have to fill in the results with commas :( )
+options(OutDec=",")
+```
+
+## Configuració
+Aquí es pot configurar la pràctica depenent del que es pregunti:
+
+```{r}
+# APARTAT 1
+# Variable preguntes 1, 2 (ex: Edad, AnEvol, ...)
+var12 = 'AnEvol'
+# Variable preguntes 3, 4 (ex: Sexo, NivEstud, Diag, EstCiv, ...)
+var34 = 'NivEstud'
+
+# APARTATS 2, 3 i 4
+# Variable per les preguntes a partir de la 5 sense sufix (ex: VelocProc,
+# AtenVig, MemorTrab, AprenVerb, AprenVis, RazonRes, ...)
+var = 'RazonRes'
+
+# Nivell de significació (és el mateix per tothom)
+alpha = 0.05
+
+dd = read.csv2("data.csv")
+```
+
+Altres dades:
+
+```
+# == PAULA ==
+# APARTAT 1
+# Variable preguntes 1, 2 (ex: Edad, AnEvol, ...)
+var12 = 'AnEvol'
+# Variable preguntes 3, 4 (ex: Sexo, NivEstud, Diag, EstCiv, ...)
+var34 = 'EstCiv'
+
+# APARTATS 2, 3 i 4
+# Variable per les preguntes a partir de la 5 sense sufix (ex: VelocProc,
+# AtenVig, MemorTrab, AprenVerb, AprenVis, RazonRes, ...)
+var = 'MemorTrab'
+
+# Nivell de significació (és el mateix per tothom)
+alpha = 0.05
+
+dd = read.csv2("data_paula.csv")
+```
+
+```
+# == PEDRO ==
+# APARTAT 1
+# Variable preguntes 1, 2 (ex: Edad, AnEvol, ...)
+var12 = 'AnEvol'
+# Variable preguntes 3, 4 (ex: Sexo, NivEstud, Diag, EstCiv, ...)
+var34 = 'EstCiv'
+
+# APARTATS 2, 3 i 4
+# Variable per les preguntes a partir de la 5 sense sufix (ex: VelocProc,
+# AtenVig, MemorTrab, AprenVerb, AprenVis, RazonRes, ...)
+var = 'AtenVig'
+
+# Nivell de significació (és el mateix per tothom)
+alpha = 0.05
+
+dd = read.csv2("data_pedro.csv")
+```
+
+## Introducció
+
+```{r}
+dd$VelocProc_D = dd$VelocProc_P - dd$VelocProc_B
+dd$AtenVig_D = dd$AtenVig_P - dd$AtenVig_B
+dd$MemorTrab_D = dd$MemorTrab_P - dd$MemorTrab_B
+dd$AprenVerb_D = dd$AprenVerb_P - dd$AprenVerb_B
+dd$AprenVis_D = dd$AprenVis_P - dd$AprenVis_B
+dd$RazonRes_D = dd$RazonRes_P - dd$RazonRes_B
+
+head(dd, n=3)
+
+gc = dd[dd$Grupo == 'GC',]
+ge = dd[dd$Grupo == 'GE',]
+gc_n = nrow(gc)
+ge_n = nrow(ge)
+
+var_b = paste(var, '_B', sep='')
+var_p = paste(var, '_P', sep='')
+var_d = paste(var, '_D', sep='')
+```
+
+
+## Apartat 1
+
+### Pregunta 1
+Estadístic de la prova per comparar <ch>`r var12`</ch> en els dos grups:
+
+```{r}
+p1_2_var_test = var.test(gc[[var12]], ge[[var12]], ratio=1,
+                         alternative='two.sided', conf.level=1 - alpha)
+p1_2_var_test
+
+p1_2_same_var = (p1_2_var_test$p.value >= alpha)
+if (p1_2_same_var) {
+  printf("Suposarem que la variància de %s en GC i GE és la mateixa.", var12)
+} else {
+  printf("Suposarem que la variància de %s en GC i GE NO és la mateixa.", var12)
+}
+
+p1_2_t_test = t.test(gc[[var12]], ge[[var12]], alternative='two.sided',
+                     paired=FALSE, var.equal=p1_2_same_var, conf.level=1 - alpha)
+p1_2_t_test
+
+p1_est = p1_2_t_test$statistic
+p1_est
+```
+
+### Pregunta 2
+P-valor de la prova per comparar <ch>`r var12`</ch> en els dos grups:
+```{r}
+p2_pvalue = p1_2_t_test$p.value
+p2_pvalue
+```
+
+### Pregunta 3
+Estadístic de la prova per comparar <ch>`r var34`</ch> en els dos grups:
+
+```{r}
+p3_4_table = table(dd$Grupo, dd[[var34]])
+p3_4_table
+
+p3_4_chisq_test = chisq.test(p3_4_table, correct=FALSE)
+p3_4_chisq_test
+
+p3_est = p3_4_chisq_test$statistic
+p3_est
+```
+
+### Pregunta 4
+P-valor de la prova per comparar <ch>`r var34`</ch> en els dos grups:
+```{r}
+
+p4_pvalue = p3_4_chisq_test$p.value
+p4_pvalue
+```
+
+## Apartat 2
+
+### Pregunta 5
+Estadístic de la prova per comparar el T-Score de <ch>`r var`</ch> Basal dels dos grups:
+
+```{r}
+p56_var = paste(var, '_B', sep='')
+
+p56_var_test = var.test(gc[[p56_var]], ge[[p56_var]], ratio=1,
+                        alternative='two.sided', conf.level=1 - alpha)
+p56_var_test
+
+p56_same_var = (p56_var_test$p.value >= alpha)
+if (p56_same_var) {
+  printf("Suposarem que la variància de %s en GC i GE és la mateixa.", p56_var)
+} else {
+  printf("Suposarem que la variància de %s en GC i GE NO és la mateixa.", p56_var)
+}
+
+p56_t_test = t.test(gc[[p56_var]], ge[[p56_var]], alternative='two.sided',
+                    paired=FALSE, var.equal=p56_same_var, conf.level=1 - alpha)
+p56_t_test
+
+p5_est = p56_t_test$statistic
+p5_est
+```
+
+### Pregunta 6
+P-valor de la prova per comparar el T-Score de <ch>`r var`</ch> Basal dels dos grups:
+
+```{r}
+p6_pvalue = p56_t_test$p.value
+p6_pvalue
+```
+
+### Pregunta 7
+Estadístic de la prova per comparar el T-Score de <ch>`r var`</ch> Post-Intervenció dels dos grups:
+
+```{r}
+p78_var = paste(var, '_P', sep='')
+
+p78_var_test = var.test(gc[[p78_var]], ge[[p78_var]], ratio=1,
+                        alternative='two.sided', conf.level=1 - alpha)
+p78_var_test
+
+p78_same_var = (p78_var_test$p.value >= alpha)
+if (p78_same_var) {
+  printf("Suposarem que la variància de %s en GC i GE és la mateixa.", p78_var)
+} else {
+  printf("Suposarem que la variància de %s en GC i GE NO és la mateixa.", p78_var)
+}
+
+p78_t_test = t.test(gc[[p78_var]], ge[[p78_var]], alternative='two.sided',
+                    paired=FALSE, var.equal=p78_same_var, conf.level=1 - alpha)
+p78_t_test
+
+p7_est = p78_t_test$statistic
+p7_est
+```
+
+### Pregunta 8
+P-valor de la prova per comparar el T-Score de <ch>`r var`</ch> Post-Intervenció dels dos grups:
+
+```{r}
+p8_pvalue = p78_t_test$p.value
+p8_pvalue
+```
+
+## Apartat 3
+
+L'interval de confiança pel test t-Student per observacions aparellades és:
+$$IC_{1 - \alpha} (\mu) = \bar{D} \pm t_{n-1, 1-\alpha/2} \frac{S_D}{\sqrt{n}}$$
+
+### Pregunta 9
+Límit inferior de l'interval de confiança del `r 100*(1 - alpha)`% per a la diferència del T-Score de <ch>`r var`</ch> en el Grup Control.
+
+```{r}
+p9_low = mean(gc[[var_d]]) - qt(1 - alpha/2, df=gc_n - 1)*sd(gc[[var_d]])/sqrt(gc_n)
+p9_low
+```
+
+### Pregunta 10
+Límit superior de l'interval de confiança del `r 100*(1 - alpha)`% per a la diferència del T-Score de <ch>`r var`</ch> en el Grup Control.
+
+```{r}
+p10_upp = mean(gc[[var_d]]) + qt(1 - alpha/2, df=gc_n - 1)*sd(gc[[var_d]])/sqrt(gc_n)
+p10_upp
+```
+
+### Pregunta 11
+Límit inferior de l'interval de confiança del `r 100*(1 - alpha)`% per a la diferència del T-Score de <ch>`r var`</ch> en el Grup Experimental.
+
+```{r}
+p11_low = mean(ge[[var_d]]) - qt(1 - alpha/2, df=ge_n - 1)*sd(ge[[var_d]])/sqrt(ge_n)
+p11_low
+```
+
+### Pregunta 12
+Límit superior de l'interval de confiança del `r 100*(1 - alpha)`% per a la diferència del T-Score de <ch>`r var`</ch> en el Grup Experimental.
+
+```{r}
+p12_upp = mean(ge[[var_d]]) + qt(1 - alpha/2, df=ge_n - 1)*sd(ge[[var_d]])/sqrt(ge_n)
+p12_upp
+```
+
+## Apartat 4
+
+### Pregunta 13
+Estadístic de la prova per comparar el T-Score de <ch>`r var`</ch> Basal vs. Post-Intervenció en el grup Experimental:
+
+```{r}
+p13_14_t_test = t.test(ge[[var_p]], ge[[var_b]], alternative='two.sided',
+                       paired=TRUE, conf.level=1 - alpha)
+p13_14_t_test
+
+p13_est = p13_14_t_test$statistic
+p13_est
+```
+
+
+### Pregunta 14
+P-valor de la prova per comparar el T-Score de <ch>`r var`</ch> Basal vs. Post-Intervenció en el grup Experimental:
+
+```{r}
+p14_pvalue = p13_14_t_test$p.value
+p14_pvalue
+```
+
+### Pregunta 15
+Estadístic de la prova per comparar el T-Score de <ch>`r var`</ch> Basal vs. Post-Intervenció en el grup Control:
+
+```{r}
+p15_16_t_test = t.test(gc[[var_p]], gc[[var_b]], alternative='two.sided',
+                       paired=TRUE, conf.level=1 - alpha)
+p15_16_t_test
+
+p15_est = p15_16_t_test$statistic
+p15_est
+```
+
+### Pregunta 16
+P-valor de la prova per comparar el T-Score de <ch>`r var`</ch> Basal vs. Post-Intervenció en el grup Control:
+
+```{r}
+p16_pvalue = p15_16_t_test$p.value
+p16_pvalue
+```
+
+## Apartat 5
+
+### Pregunta 17
+Estadístic de la prova per comparar la diferència del T-Score de <ch>`r var`</ch> (Post-Intervenció - Basal) en els dos grups:
+
+```{r}
+p17_18_var_test = var.test(gc[[var_d]], ge[[var_d]], ratio=1,
+                           alternative='two.sided', conf.level=1 - alpha)
+p17_18_var_test
+
+p17_18_same_var = (p17_18_var_test$p.value >= alpha)
+if (p17_18_same_var) {
+  printf("Suposarem que la variància de la diferència P-B de %s en GC i GE és la mateixa.", var12)
+} else {
+  printf("Suposarem que la variància de la diferència P-B de %s en GC i GE NO és la mateixa.", var12)
+}
+
+p17_18_t_test = t.test(gc[[var_d]], ge[[var_d]], alternative='two.sided',
+                       paired=FALSE, var.equal=p17_18_same_var, conf.level=1 - alpha)
+p17_18_t_test
+
+p17_est = p17_18_t_test$statistic
+p17_est
+```
+
+### Pregunta 18
+P-valor de la prova per comparar la diferència del T-Score de <ch>`r var`</ch> (Post-Intervenció - Basal) en els dos grups:
+
+```{r}
+p18_pvalue = p17_18_t_test$p.value
+p18_pvalue
+```
+
+
+## Resum
+1. `r p1_est`
+2. `r p2_pvalue`
+3. `r p3_est`
+4. `r p4_pvalue`
+5. `r p5_est`
+6. `r p6_pvalue`
+7. `r p7_est`
+8. `r p8_pvalue`
+9. `r p9_low`
+10. `r p10_upp`
+11. `r p11_low`
+12. `r p12_upp`
+13. `r p13_est`
+14. `r p14_pvalue`
+15. `r p15_est`
+16. `r p16_pvalue`
+17. `r p17_est`
+18. `r p18_pvalue`
+
+<!-- Custom styles -->
+<style>
+/* ch element (|ch| stands for check) */
+ch {
+  background: #ffe4ff;
+  font-weight: bold;
+  color: red;
+}
+</style>
\ No newline at end of file
