blob: d10d599a23df2e7bbae8601c8a50c8f5b602d3f8 [file] [log] [blame]
# 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")