library(tables)
Aquí es pot configurar la pràctica depenent del que es pregunti:
# Columna per la qual es pregunta a l'apartat a):
colA = "IM"
# Tractament dels exercicis 1 i 2 de l'apartat a):
tractamentA = "M-Jove"
# Columna per la qual es pregunta a l'apartat b):
colB = "H"
# Tractament que s'usa a l'apartat b):
tractamentB = "M-Jove"
# Mu a les preguntes 8, 9 i 10
mu8 = 170.9
# Probabilitat de les preguntes 8, 9 i 10
prob8 = 0.95
# Sigma^2 a les preguntes 11, 12 i 13
sigmaQuad11 = 66.3
# Probabilitat de les preguntes 11, 12 i 13
prob11 = 0.95
# Categoria d'Aspecte preguntada a l'apartat c):
aspC = "F"
# Columna per la qual es pregunta a l'apartat c):
colC = "Vidre"
# Resposta a la columna anterior de l'apartat c):
respC = "No"
dd = read.csv2("data.csv")
# Conversió de dades
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
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"))
dd$CEdat = cut(dd$Edat, c(-1, 25, 200), labels=c("1-Jove", "2-Gran"))
# Definim els data frames per cada tractament (combinació)
fj = dd[dd$Sexe == 'F' & dd$CEdat == "1-Jove",]
fg = dd[dd$Sexe == 'F' & dd$CEdat == "2-Gran",]
mj = dd[dd$Sexe == 'M' & dd$CEdat == "1-Jove",]
mg = dd[dd$Sexe == 'M' & dd$CEdat == "2-Gran",]
tractaments = list(fj, fg, mj, mg)
names(tractaments) = c("F-Jove", "F-Gran", "M-Jove", "M-Gran")
# Creem data frame amb informació d'estadístics de colA per cada
# tractament
colAPerTractament = data.frame(
"Tractament" = names(tractaments),
"Mean" = c(mean(fj[[colA]]), mean(fg[[colA]]), mean(mj[[colA]]), mean(mg[[colA]])),
"Var" = c(var(fj[[colA]]), var(fg[[colA]]), var(mj[[colA]]), var(mg[[colA]]))
)
colAPerTractament
## Tractament Mean Var
## 1 F-Jove 0.9902259 0.001404865
## 2 F-Gran 0.9872899 0.001590146
## 3 M-Jove 0.9846923 0.002691958
## 4 M-Gran 0.9995183 0.002499460
# TODO(avm99963): Fix
# with(dd, tabular(Sexe~colA*CEdat*(mean + var)))
Variables usades a l’apartat:
tractamentA = M-Jove
colA = IM
La mitjana de IM
en el tractament M-Jove
és:
mean(tractaments[[tractamentA]][[colA]])
## [1] 0.9846923
La variància de IM
en el tractament M-Jove
és:
var(tractaments[[tractamentA]][[colA]])
## [1] 0.002691958
El tractament en què IM
ha donat més alt és:
colAPerTractament[which.max(colAPerTractament$Mean), "Tractament"]
## [1] "M-Gran"
El tractament en què IM
ha sortit amb més dispersió és:
colAPerTractament[which.max(colAPerTractament$Var), "Tractament"]
## [1] "M-Jove"
El sexe en què la diferència de IM
entre Joves i Grans ha sortit més alta és:
# Diferència de la colA entre joves i grans:
colADiff1 = data.frame(
Sexe = c("F", "M"),
Diff = c(
abs(mean(fj[[colA]]) - mean(fg[[colA]])),
abs(mean(mj[[colA]]) - mean(mg[[colA]]))
)
)
colADiff1
## Sexe Diff
## 1 F 0.002935974
## 2 M 0.014826013
colADiff1[which.max(colADiff1$Diff), "Sexe"]
## [1] "M"
El grup d’edat en què la diferència de IM
entre sexes ha sortit més alta és:
# Diferència de la colA entre sexes:
colADiff2 = data.frame(
Edat = c("1-Jove", "2-Gran"),
Diff = c(
abs(mean(fj[[colA]]) - mean(mj[[colA]])),
abs(mean(fg[[colA]]) - mean(mg[[colA]]))
)
)
colADiff2
## Edat Diff
## 1 1-Jove 0.005533556
## 2 2-Gran 0.012228431
colADiff2[which.max(colADiff1$Diff), "Edat"]
## [1] "2-Gran"
Variables usades a l’apartat:
colB = H
tractamentB = M-Jove
Mitjana de H
per les persones del segment M-Jove
:
m7 = mean(tractaments[[tractamentB]][[colB]])
m7
## [1] 176.5079
Suposant que \(\mu = \mathbb{E}[H | \text{M-Jove}] = 170.9\), quins serien els resultats normals (dues cues, probabilitat = 0.95) de la mitjana de H
del segment M-Jove
? Doneu-ne els extrems de l’interval (valors crítics):
nb = nrow(tractaments[[tractamentB]])
sd8 = sd(tractaments[[tractamentB]][[colB]])
probcua8 = (1 - prob8)/2
extesq = mu8 + qt(probcua8, df=nb-1)*sd8/sqrt(nb)
extdre = mu8 + qt(1 - probcua8, df=nb-1)*sd8/sqrt(nb)
Els resultats normals són \([169.4505146, 172.3494854]\).
Continuant el dos punts anteriors (7 i 8), quina és la probabilitat que la mitjana \(\text{H} | \text{M-Jove}\) surti tant o més estranya del que ha sortit?
p9 = 2*(1 - pt(abs(m7 - mu8)*sqrt(nb)/sd8, df=nb-1))
La probabilitat és 1.146474^{-10}.
Calculeu la variància de H
per les persones del segment M-Jove
:
var10 = var(tractaments[[tractamentB]][[colB]])
var10
## [1] 33.12494
Suposant que \(\sigma^2 = V(H | \text{M-Jove}) = 66.3\), quins serien els resultats normals (dues cues, probabilitat = 0.95
) de la variància de H
del segment M-Jove
? Doneu-ne els valors crítics.
mean11 = mean(tractaments[[tractamentB]][[colB]])
probcua11 = (1 - prob11)/2
extesq2 = qchisq(probcua11, df=nb-1)*sigmaQuad11/(nb - 1)
extdre2 = qchisq(1 - probcua11, df=nb-1)*sigmaQuad11/(nb - 1)
Els resultats normals són \([45.0476333, 91.5942315]\).
Continuant els dos punts anteriors (10 i 11), quina és la probabilitat que la variància \(S^2\) de M-Jove
surti tant o més estranya del que ha sortit?
c12 = (nb - 1)/sigmaQuad11
delta12 = abs(var10 - sigmaQuad11)
p12 = pchisq(c12*(sigmaQuad11 - delta12), df=nb-1) +
pchisq(c12*(sigmaQuad11 + delta12), df=nb-1, lower.tail = FALSE)
La probabilitat és 0.0068986.
Variables usades a l’apartat:
aspC = F
colC = Vidre
respC = No
De les persones que han respost l’opció F
d’Aspecte, quina proporció (tant per u) ha dit: No
a Vidre
?
dd13 = dd[dd$Aspecte == aspC,]
pt13 = prop.table(table(dd13[[colC]]))
pt13
##
## No Sí
## 0.1 0.9
pt13[["No"]]
## [1] 0.1
En quina opció d’Aspecte, les proporcions de “Sí” i de “No” a Vidre
són més diferents?
pt14 = prop.table(table(dd$Aspecte, dd[[colC]]), margin=1)
pt14
##
## No Sí
## E 0.2751678 0.7248322
## F 0.1000000 0.9000000
## M 0.3255814 0.6744186
## T 0.2352941 0.7647059
diff14 = data.frame(
Aspecte = c("E", "F", "M", "T"),
Diff = c(
abs(pt14["E", "No"] - pt14["E", "Sí"]),
abs(pt14["F", "No"] - pt14["F", "Sí"]),
abs(pt14["M", "No"] - pt14["M", "Sí"]),
abs(pt14["T", "No"] - pt14["T", "Sí"])
)
)
diff14
## Aspecte Diff
## 1 E 0.4496644
## 2 F 0.8000000
## 3 M 0.3488372
## 4 T 0.5294118
diff14[which.max(diff14$Diff), "Aspecte"]
## [1] "F"
En quina opció d’Aspecte, les proporcions de “Sí” i de “No” a Vidre
s’assemblen més a les proporcions de “Sí” i “No” de totes les persones juntes?
pt15 = prop.table(table(dd[[colC]]))
pt15
##
## No Sí
## 0.25 0.75
diff15 = data.frame(
Aspecte = c("E", "F", "M", "T"),
Diff = c(
abs(pt14["E", "No"] - pt15[["No"]]),
abs(pt14["F", "No"] - pt15[["No"]]),
abs(pt14["M", "No"] - pt15[["No"]]),
abs(pt14["T", "No"] - pt15[["No"]])
)
)
diff15
## Aspecte Diff
## 1 E 0.02516779
## 2 F 0.15000000
## 3 M 0.07558140
## 4 T 0.01470588
diff15[which.min(diff15$Diff), "Aspecte"]
## [1] "T"