diff --git a/classes/feb16.R b/classes/feb16.R
new file mode 100644
index 0000000..ba06a98
--- /dev/null
+++ b/classes/feb16.R
@@ -0,0 +1,74 @@
+# Classe 16/02/2021
+# Estadística, FME, presencial, curs 2020-21, 2n semestre
+
+library(tables)
+library(RcmdrMisc)
+
+# Conversió de dades
+dd = read.csv2("Enquesta.csv")
+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
+
+
+# Apartats 1 i 2
+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"))
+head(dd)
+
+# Apartat 3
+summary(dd$Edat)
+mean(dd$Edat, trim=.1)
+boxplot(dd$Edat)
+
+boxplot(dd$Pes)
+boxplot(dd$H)
+boxplot(dd$D2)
+
+tsexe = table(dd$Sexe)
+tsexe
+barplot(tsexe)
+
+tmo = table(dd$MO)
+tmo
+barplot(tmo)
+
+tvidre = table(dd$Vidre)
+tvidre
+barplot(tvidre)
+
+tenvas = table(dd$Envas)
+tenvas
+barplot(tenvas)
+
+tpc = table(dd$PC)
+tpc
+barplot(tpc)
+
+taspecte = table(dd$Aspecte)
+taspecte
+barplot(taspecte)
+
+# Apartat 4
+boxplot(dd$BMI)
+abline(h=c(19, 27))
+
+# Apartat 5
+hist(dd$Pes, freq=F, ylim=c(0, 0.04), xlim=c(30, 130))
+curve(dnorm(x, mean=mean(dd$Pes), sd=sd(dd$Pes)), add=T)
+
+boxplot(dd$IM)
+
+# == BLOC 2 - ANÀLISI DESCRIPTIVA ==
+# Apartat 1
+# Tabular:
+#   ~: Separa files i columnes
+#   +: Concatena
+#   *: Nesting
+tabular(mean*(Sexe+1)~H*(CBMI+1), dd)
+tabular(var*Sexe~H*CBMI, dd)
+interaction.plot(dd$CBMI, dd$Sexe, dd$H)
+plotMeans(dd$H, dd$CBMI, dd$Sexe, error.bars="sd")
