Práctica 6

Análisis de Tablas de Contingencia en Splus

Ejemplo 1 (Venables & Ripley sección 7.3)

Se presentan los resultados de un estudio sobre preferencias por una marca de detergente donde los encuentados son clasificados de acuerdo a la temperatura y a la dureza del agua y si han usado o no previamente la marca M.

Datos

Usa M?

No

Si

Temp

Baja

Alta

Baja

Alta

Pref.

X

M

X

M

X

M

X

M

Dureza

Dura

68

42

42

30

37

52

24

43

Media

66

50

33

23

47

55

23

47

Suave

63

53

29

27

57

49

19

29

 

 

 

  1. Introducir los datos usando la función expand.grid

>detg_cbind(expand.grid(Marca=c("X","M"),Temp=c("Baja","Alta"),

+M.uso=c("N","S"),Dureza=c("Dura","Media","Suave")),frec=c(68,42,42,30,

+37,52,24,43,66,50,33,23,47,55,23,47,63,53,29,27,57,49,19,29))

>names(detg)

>detg

 

2) Ajustar un modelo con interacciones hasta de tercer orden usando la función glm

>detg.m0_glm(frec~M.uso*Temp*Dureza+Marca,family=poisson)

>detg.m0

>summary(detg.m0)

>anova(detg.m0,test="Chisq")

 

  1. Hacer una selección automática de los factores que influyen en el modelo usando la función step
  2.  

    >detg.step_step(detg.m0,list(lower=formula(detg.m0),upper=~.^3),scale=1,trace=T)

    >detg.step$anova

  3. Resolver el problema anterior como un análisis binomial-logit

 

>deterg_cbind(detg[Marca=="X",-4],M=detg[Marca=="M","frec"])

>deterg

>detach()

>attach(deterg)

>detg.lg_glm(cbind(M,frec)~M.uso*Temp,family=binomial)

>detg.lg_glm(cbind(M,frec)~M.uso*Temp,family=binomial)

>summary(detg.lg)

 

 

Ejercicio: En base a los resultados anteriores concluya sobre el efecto de los usuarios previos de la marca de jabón M, de la temperatura y de la dureza del agua sobre la preferencia de las personas por la marca de jabón M.

 

Ejemplo 2 (Dobson, Ejemplo 9.1)

Se dan los datos para un estudio de 400 personas que presentan un tipo de cancer de piel (Hutchinson, Superficial, Nodular o Indeterminado) y el sitio del cuerpo humano donde aparece el tumor (Cabeza, Tronco o Extremidades).

  1. Lectura de los datos, ajuste de un modelo log-lineal y cálculo de la estadística chi-cuadrado

>mela_cbind(expand.grid(Sitio=c("C","T","E"),Tipo=c("H","S","N","I")),

+Frec=c(22,2,10,16,54,115,19,33,73,11,17,28))

>attach(mela)

>mela.m0_glm(Frec~Sitio+Tipo,family=poisson)

>anova(mela.m0,test="Chisq")

>summary(mela.m0)

>difoe_Frec-mela.m0$fitted.values

>difoe_difoe*difoe/mela.m0$fitted.values

>X2_sum(difoe)