blob: d10d599a23df2e7bbae8601c8a50c8f5b602d3f8 [file] [log] [blame]
avm9996350871ca2021-02-22 19:18:49 +01001# Classe 18/02/2021
2# Estadística, FME, presencial, curs 2020-21, 2n semestre
3
4library(car)
5library(RcmdrMisc)
6
7source("feb16.R")
8
9# "El data frame és una generalització de la matriu."
10# Matriu: tots els elements han de ser del mateix tipus.
11# Data frame: no té per què, cada columna pot ser de diferent tipus.
12
13# Pregunta: podem tenir un vector però que admeti diversos elements de tipus
14# diferents?
15# SÍ! Es diu "llista".
16aaa = table(dd$MO)
17aaa
18
19bbb = table(dd$PC, dd$Sexe)
20bbb
21
22ccc = matrix((1:24), nrow=6, ncol=4)
23ccc
24
25ddd = c(3>2, 3>10, 2==4)
26ddd
27
28prova = list(a=aaa, b=bbb, ccc, ddd, dd$Edat)
29prova
30
31# str serveix per mostrrar l'estructura (str ~= structure):
32str(prova)
33
34# Per comprovar si un objecte és d'un tipus concret:
35is.matrix(aaa)
36is.integer(ddd)
37is.logical(ddd)
38
39# També es poden convertir els objectes. Ex: mirar com fer-ho (la instrucció és
40# semblant a as.matrix)
41
42# Per no haver de ficar |dd| tota l'estona, podem usar |with|
43with(dd, plot(H, Pes))
44with(dd, cor(H, Pes))
45
46## == BLOC 3 - ANÀLISI DESCRIPTIVA BIVARIANT ==
47# Apartat 1.a)
48scatterplot(Pes~H, data=dd)
49scatterplot(Pes~H, data=dd, smooth=F, box=F)
50scatterplot(BMI~Edat, data=dd, smooth=F, box=F)
51cor(dd[,c("Pes", "H", "BMI", "Edat")])
52
53# Apartat 1.b)
54SQ = function(ab) {
55 sum((dd$Pes - ab[1] - ab[2]*dd$H)^2)
56}
57
58s1 = nlm(SQ, c(1, 0), hessian=T)
59s1
60det(s1$hessian)
61
62s2 = optim(c(2, 3), SQ, hessian=T)
63s2
64
65s1$estimate
66s2$par
67scatterplot(Pes~H, data=dd, smooth=F, box=F)
68abline(s1$estimate, col="orange")
69abline(s2$par, col="red")
70
71# Apartat 2
72by(dd$H, dd$Sexe, summary)
73by(dd$Pes, dd$Sexe, summary)
74by(dd$D2, dd$Sexe, summary)
75scatterplot(Pes~H|Sexe, data=dd, smooth=F, box=F)
76scatterplot(BMI~Edat|Sexe, data=dd, smooth=F, box=F)
77scatterplot(D2~H|Sexe, data=dd, smooth=F, box=F)
78with(dd, Barplot(MO, by=Sexe, style="divided", legend.pos="above", xlab="MO", ylab="Frequencia"))
79with(dd, Barplot(Sexe, by=MO, style="divided", legend.pos="above", xlab="MO", ylab="Frequencia"))
80with(dd, Barplot(Sexe, by=MO, style="parallel", legend.pos="above", xlab="MO", ylab="Frequencia"))
81with(dd, Barplot(Sexe, by=MO, style="parallel", legend.pos="above", xlab="MO", ylab="Frequencia", scale="percent"))
82plot(table(dd$MO, dd$Sexe))
83plot(table(dd$MO, dd$Sexe), ylab="Sexe", main="Sexe")