library(tables)

Configuració

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")

Tractament previ

# 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")

Apartat a)

# 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:

Pregunta 1

La mitjana de IM en el tractament M-Jove és:

mean(tractaments[[tractamentA]][[colA]])
## [1] 0.9846923

Pregunta 2

La variància de IM en el tractament M-Jove és:

var(tractaments[[tractamentA]][[colA]])
## [1] 0.002691958

Pregunta 3

El tractament en què IM ha donat més alt és:

colAPerTractament[which.max(colAPerTractament$Mean), "Tractament"]
## [1] "M-Gran"

Pregunta 4

El tractament en què IM ha sortit amb més dispersió és:

colAPerTractament[which.max(colAPerTractament$Var), "Tractament"]
## [1] "M-Jove"

Pregunta 5

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"

Pregunta 6

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"

Apartat b)

Variables usades a l’apartat:

Pregunta 7

Mitjana de H per les persones del segment M-Jove:

m7 = mean(tractaments[[tractamentB]][[colB]])
m7
## [1] 176.5079

Pregunta 8

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]\).

Pregunta 9

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}.

Pregunta 10

Calculeu la variància de H per les persones del segment M-Jove:

var10 = var(tractaments[[tractamentB]][[colB]])
var10
## [1] 33.12494

Pregunta 11

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]\).

Pregunta 12

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.

Apartat c)

Variables usades a l’apartat:

Pregunta 13

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

Pregunta 14

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"

Pregunta 15

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"