diff --git a/classes/feb18.R b/classes/feb18.R
new file mode 100644
index 0000000..d10d599
--- /dev/null
+++ b/classes/feb18.R
@@ -0,0 +1,83 @@
+# Classe 18/02/2021
+# Estadística, FME, presencial, curs 2020-21, 2n semestre
+
+library(car)
+library(RcmdrMisc)
+
+source("feb16.R")
+
+# "El data frame és una generalització de la matriu."
+# Matriu: tots els elements han de ser del mateix tipus.
+# Data frame: no té per què, cada columna pot ser de diferent tipus.
+
+# Pregunta: podem tenir un vector però que admeti diversos elements de tipus
+# diferents?
+# SÍ! Es diu "llista".
+aaa = table(dd$MO)
+aaa
+
+bbb = table(dd$PC, dd$Sexe)
+bbb
+
+ccc = matrix((1:24), nrow=6, ncol=4)
+ccc
+
+ddd = c(3>2, 3>10, 2==4)
+ddd
+
+prova = list(a=aaa, b=bbb, ccc, ddd, dd$Edat)
+prova
+
+# str serveix per mostrrar l'estructura (str ~= structure):
+str(prova)
+
+# Per comprovar si un objecte és d'un tipus concret:
+is.matrix(aaa)
+is.integer(ddd)
+is.logical(ddd)
+
+# També es poden convertir els objectes. Ex: mirar com fer-ho (la instrucció és
+# semblant a as.matrix)
+
+# Per no haver de ficar |dd| tota l'estona, podem usar |with|
+with(dd, plot(H, Pes))
+with(dd, cor(H, Pes))
+
+## == BLOC 3 - ANÀLISI DESCRIPTIVA BIVARIANT ==
+# Apartat 1.a)
+scatterplot(Pes~H, data=dd)
+scatterplot(Pes~H, data=dd, smooth=F, box=F)
+scatterplot(BMI~Edat, data=dd, smooth=F, box=F)
+cor(dd[,c("Pes", "H", "BMI", "Edat")])
+
+# Apartat 1.b)
+SQ = function(ab) {
+  sum((dd$Pes - ab[1] - ab[2]*dd$H)^2)
+}
+
+s1 = nlm(SQ, c(1, 0), hessian=T)
+s1
+det(s1$hessian)
+
+s2 = optim(c(2, 3), SQ, hessian=T)
+s2
+
+s1$estimate
+s2$par
+scatterplot(Pes~H, data=dd, smooth=F, box=F)
+abline(s1$estimate, col="orange")
+abline(s2$par, col="red")
+
+# Apartat 2
+by(dd$H, dd$Sexe, summary)
+by(dd$Pes, dd$Sexe, summary)
+by(dd$D2, dd$Sexe, summary)
+scatterplot(Pes~H|Sexe, data=dd, smooth=F, box=F)
+scatterplot(BMI~Edat|Sexe, data=dd, smooth=F, box=F)
+scatterplot(D2~H|Sexe, data=dd, smooth=F, box=F)
+with(dd, Barplot(MO, by=Sexe, style="divided", legend.pos="above", xlab="MO", ylab="Frequencia"))
+with(dd, Barplot(Sexe, by=MO, style="divided", legend.pos="above", xlab="MO", ylab="Frequencia"))
+with(dd, Barplot(Sexe, by=MO, style="parallel", legend.pos="above", xlab="MO", ylab="Frequencia"))
+with(dd, Barplot(Sexe, by=MO, style="parallel", legend.pos="above", xlab="MO", ylab="Frequencia", scale="percent"))
+plot(table(dd$MO, dd$Sexe))
+plot(table(dd$MO, dd$Sexe), ylab="Sexe", main="Sexe")
