Add feb16 and feb18 classes

Change-Id: I62d222496338422169497af6e8c9ca04d873facd
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")