[Intro]
todo el tiempo, excepto si tienes alternativas claras)Paquetes > Instalar paquete(s)...
OK
)Rcmdr
(OK
)instalar "R Commander" mac
)No
Paquetes > Cargar paquete...
Rcmdr
(OK
)Recodificar variables...
: útil para reordenar niveles, o pasar de muchas categorías a pocas (en variable categórica)
7,8,9 = "high"
"Sí" = 1
"missing" = NA
(los datos faltantes en R se escriben realmente como NA
)Calcular una nueva variable...
: a partir de otras variables ya presentes, mediante operaciones. En la casilla Expresión a calcular
se puede poner una fórmula o una condición para recodificar. Por ejemplo:
peso/altura^2
serviría para crear una nueva variable, a partir de las variables peso
y altura
que ya estén en los datos, que se podría bautizar como IMC
ifelse( condición , valor si se cumple , valor si no se cumple )
sirve para recodificar una variable de otra manera. Un ejemplo concreto: ifelse( peso/altura^2 >= 18.5 & peso/altura^2 < 25 , "normal", "fuera" )
crea una nueva variable cuyos datos serán "normal"
o "fuera"
, según el valor de las variables peso
y altura
de cada individuo cumpla, o no, las dos condiciones escritasSegmentar variable numérica...
: convertirla en categórica agrupando en intervalos (p.ej. pasar altura numérica a categorías “bajo”, “medio”, “alto”)Reordenar niveles de factor...
: útil para reordenar niveles, o pasar de muchas categorías a pocas (en variable categórica)Estadísticos
> Resúmenes
Conjunto de datos activo
: resume todas las variables de la hoja de datosResúmenes numéricos...
: media, desviación, rango intercuartil y cuartiles de variables numéricasDistribución de frecuencias...
: tabla de frecuencias de variables categóricasNúmero de observaciones ausentes
: cuántos datos faltan de cada columnaTabla de estadísticas...
: un estadístico (p.ej. media, mediana, desviación, etc.) separando por grupos, indicados por otras variables (p.ej. media de altura separando por sexo)Estadísticos
> Tablas de contingencia
Tabla de doble entrada...
: analiza dos variables categóricasTabla de entradas múltiples...
: analiza dos variables categóricas separando por grupos dados por otra(s) variable(s)Introducir y analizar una tabla de doble entrada...
: permite escribir “a mano” una tabla de doble entrada (sin usar los datos)Exposición
(\(X\), Sí/No) influye sobre contraer la Enfermedad
(\(Y\), Sí/No)?Visualizar los datos como tabla de contingencia
\(\begin{array}{ll|ll} & & \text{Enfermedad} & \\ & & \text{Sí} & \text{No} \\ \hline \text{Exposición} & \text{Sí} & a & b \\ & \text{No} & c & d \end{array}\)
Para ver el efecto de \(X\) sobre \(Y\) es mejor dar porcentajes por fila, y ver cómo se reparte la \(Y\) para cada \(X\)
Con R Commander: menú Estadísticos
>
Tablas de contingencia
>
Tabla de doble entrada...
. Se abre ventana.
"Datos"
: elegir variable de filas (\(X\), Exposición
) y variable de columnas (\(Y\), Enfermedad
)"Estadísticos"
: elegir los porcentajes deseados (si se desean). Los Test de hipótesis
los vemos despuésPractica con nuestros datos: ¿El estado de salud (Estado_Salud_2cat
) influye sobre la calidad de vida (Calidad_vida_2cat
)?
Gráficas
>
Gráfica de barras...
(se abre ventana)Exposición
)"Gráfica por grupos"
elegir la variable respuesta \(Y\) (en el ejemplo genérico, Enfermedad
)"Opciones"
elegir "Porcentajes"
(el resto de opciones por defecto)Estado_salud_2cat
) sobre la calidad de vida (Calidad_vida_2cat
) y observa cómo cambian los porcentajes en cada columna del estado de saludEstadísticos
>
Tablas de contingencia
>
Tabla de doble entrada...
. Se abre ventana.
"Datos"
: elegir variable de filas (\(X\), Exposición
) y variable de columnas (\(Y\), Enfermedad
)"Estadísticos"
: elegir Test de hipótesis
p-value
en la ventana de ResultadosCalidad_vida_2cat
) es independiente de “tener buen estado de salud” (Estado_salud_2cat
)Una vez se descarta la independencia, se quiere medir la influencia del factor \(X\) sobre la variable \(Y\)
Cálculo de riesgos, riesgos relativos y odds ratio: tabla de contingencia de ejemplo genérico:
\(\begin{array}{ll|ll|l|l} & & Y=\text{Enfermedad} & & & \\ & & & &\text{Riesgo} & \text{Odds} \\ & & \text{Sí} & \text{No} &\text{Sí} & \text{(Sí/No)} \\ \hline X=\text{Exposición} & \text{Sí} & a & b & \frac{a}{a+b} & \frac{a}{b} \\ & \text{No} & c & d & \frac{c}{c+d} & \frac{c}{d} \end{array}\)
Exp
= \(\frac{a}{a+b}\)Exp
= \(\frac{c}{c+d}\)Exp
= \(\frac{a}{b}\)Exp
= \(\frac{c}{d}\)Exposición
es factor de riesgo para Enfermedad
Exposición
es factor protector para Enfermedad
Exposición
es factor de riesgo para Enfermedad
Exposición
es factor protector para Enfermedad
Con R Commander:
epiR
(instalar si no se ha hecho antes): menú Herramientas > Cargar paquete(s)...
. Se abre ventana. Elegir epiR
. AceptarEstadísticos
>
Tablas de contingencia
>
Tabla de doble entrada...
. Se abre ventana.
"Datos"
: elegir variable de filas (\(X\), Exposición
) y variable de columnas (\(Y\), Enfermedad
)Instrucciones
:
local({...})
epiR::epi.2by2(.Table)
local({...})
Ejecutar
Inc risk ratio
Odds ratio
Practica con nuestros datos: ¿Tener un “buen estado de salud” es un factor de riesgo o protector para tener “buena calidad de vida”?
Estado_Salud_2cat
y Calidad_vida_2cat
)Sí
y No
, ya que se compara el Sí
respecto del No
epiR
(instalar si no se ha hecho antes): menú Herramientas > Cargar paquete(s)...
. Se abre ventana. Elegir epiR
. AceptarEstadísticos
>
Tablas de contingencia
>
Tabla de doble entrada...
. Se abre ventana.
"Datos"
: elegir variable de filas (\(X\), el factor) y variable de columnas (\(Y\), la respuesta)Instrucciones
:
local({...})
local({...})
, pero dentro, las líneas:
epiR::epi.2by2(.Table[c(1,5),])
(ATENCIÓN EL NÚMERO 1 indica la categoría 1 de \(X\) que se va a comparar con la de referencia, que es la categoría 5 de \(X\) en este ejemplo que comentamos)local({...})
Ejecutar
Inc risk ratio
Odds ratio
Actividad_fisica_3cat
y Estado_Salud_2cat
. ¿Tener “actividad física” es un factor de riesgo o protector para tener “buen estado de salud”?
Intercept
)Residual deviance
: intuitivamente, lo que se desvían los datos del modelo ajustado): a menor Residual deviance
, mejor ajuste. No sirve para comparar modelos, porque cuantas más variables se incorporar al modelo, la Residual deviance
siempre disminuyeAIC
(Criterio de Información de Akaike): a menor AIC
, mejor ajuste. Este sí que sirve para comparar modelos, ya que tiene en cuenta el número de variables involucradasEstadísticos
>
Ajuste de modelos
>
Modelo lineal generalizado...
GLM.1
u otro número si ya hay uno previo)binomial
, función de enlace logit
Resultados
. Contiene mucha información:
Call
: la llamada hechaDeviance residuals
: resumen estadístico de las desviaciones de los datos de la muestra respecto del modelo ajustadoCoefficients
: coeficientes del modelo ajustado, tanto el término “suelto” (\(a\), le llama Intercept
) como cada coeficiente que multiplica a cada variable independiente (\(b\), etc, va con el nombre de la variable correspondiente). Para cada coeficiente se informa de:
Estimate
: el coeficiente ajustado (\(a\), \(b\),…)Std. Error
: su variabilidad (no necesario)z value
: su valor tipificado (no necesario)Pr(>|z|)
: el p-valor de contrastar si ese coeficiente es NULO (por ejemplo, si es mayor que \(0.05\), se motiva suprimir dicha variable del modelo y ajustarlo nuevamente)Null deviance
: desviación del modelo NULO (sin variables)Residual deviance
: desviación del modelo ajustado (con variables). Coincide con “menos 2 veces la log-verosimilitud” de los parámetros ajustados, y cuanto menor sea el valor, mejor ajusta el modeloAIC
: Akaike information criterion, valor que informa de la bondad del ajuste. Cuanto menor sea, mejor ajusta, y sirve para comparar modelos porque tiene en cuenta la complejidad además de la desviación para valorarlosFisher Scoring iterations
: no necesarioexp(coef(NombreModelo))
: odds ratios (de \(X=1\) respecto de \(X=0\)), para interpretar si \(X=1\) es un factor de riesgo sobre \(Y=1\) comparado con \(X=0\)GLM.x
y N
toma el tamaño de la muestra, se trata de escribir código en el bloque de Instrucciones
y ejecutarlo con el botón Ejecutar
1 - exp( (GLM.x$deviance - GLM.x$null.deviance) / N )
(1 - exp( (GLM.x$deviance - GLM.x$null.deviance) / N ) ) / (1 - exp( - GLM.x$null.deviance / N ) )
RcmdrPlugin.ROC
: menú Herramientas
>
Cargar Plugins de Rcmdr...
y elegirlo de la lista (si no está, hay que instalarlo desde R como un paquete más)Modelo
ROC
>
pROC
>
Hosmer-Lemeshow GOF test...
Modelos
>
Intervalos de confianza...
. Se abre ventana. Elegir nivel de confianza. Elegir método. Aceptar. Sale en ventana de Resultados
el intervalo para cada coeficiente. Hay que centrarse en el de la variable factor.Calidad_vida_2cat
) respecto del “buen estado de salud” (Estado_salud_2cat
) y contesta a las siguientes preguntas:
Estado_salud_2cat
es prescindible en el modelo?Una variable “Peso” que tomara los valores “bajo”, `“medio” y “alto” que se use como factor en una regresión lineal se convertirá en dos variables “Peso[medio]” y “Peso[alto]” de modo que se cumple la siguiente equivalencia:
Peso | \(\to\) | Peso[medio] | Peso[alto] |
---|---|---|---|
bajo | \(\to\) | 0 | 0 |
medio | \(\to\) | 1 | 0 |
bajo | \(\to\) | 0 | 1 |
La variable “Peso” del modelo se remplaza por las variables dicotómicas “Peso[medio]” y “Peso[alto]”, y cada una tiene asociado un coeficiente, de modo que se trata de un modelo de regresión logística “múltiple”
La notación puede variar según el software utilizado, pero siempre es en el mismo sentido
Estado_salud_2cat
) respecto de la “actividad física” (Actividad_fisica_3cat
) y contesta a las siguientes preguntas:
Estado_salud_2cat
) respecto de la “adherencia a la dieta mediterránea” (Adherencia_DM
) y contesta a las siguientes preguntas:
Modelo
Modelos
>
Selección de modelo paso a paso...
Dirección
y Criterio
Estadisticos
>
Ajuste de modelos...
>
Modelo lineal generalizado...
usando las variables implicadasEstado_salud_2cat
) respecto de un grupo variables que parecen tener relación con ella, que no sean redundantes, y contesta a las siguientes preguntas: