En el marco de un análisis sobre la salud de los nuevos estudiantes de la UC, extraeremos una muestra consistente en 1000 alumnos a los que se somete a una encuesta compuesta de las siguientes variables:
Creación de un dataframe denominado muestra, compuesto de 1000 casos.
Establecemos la semilla para que el resto del ejercicio pueda ser reproducido como en el aula
set.seed(123)
VARIABLE CUANTITATIVA CONTINUA.
<- runif(100, # Número de alumnos
peso 59, # Peso máximo
96) # Peso máximo
<- runif(100, # Número de alumnos
altura 1.61, # Altura mínima
2.01) # Altura máxima
VARIABLE NUMÉRICA DISCRETA.
<- sample(18:25, # Intervalos de edad de los alumnos
edad 100, # Número de alumnos
replace=TRUE)
VARIABLE CUALITATIVA NOMINAL.
<- sample(c("Bahía", "Besaya","Campoo","Zona Oriental","Zona Occidental", "Foráneos"),
procedencia size = 100,
replace = TRUE,
prob=c(0.45,0.2,0.05,0.15,0.10, 0.05))
<- sample(1:2,
sexo size = 100,
replace = TRUE,
prob=c(0.48,0.52))
VARIABLE CUANTITATIVA DISCRETA.
<- sample(1:5,
variable_6 100,
replace=TRUE,
prob = c(0.25, 0.20, 0.25, 0.05, 0.25))
<- sample(1:3,
variable_7 100,
replace=TRUE,
prob = c(0.15, 0.35, 0.50))
VARIABLE CUALITATIVA NOMINAL.
<- sample(c("O+","A+","B+","AB+","O-","A-","B-","AB-"),
grupo_sanguineo size = 100,
replace = TRUE,
prob=c(0.35,0.36,0.07,0.02,0.08,0.06,0.02,0.04))
<- data.frame(peso, altura, edad, procedencia, sexo, variable_6, variable_7, grupo_sanguineo) # Creación deL dataframe muestra
rm(peso, altura, edad,procedencia, sexo, variable_6, variable_7, grupo_sanguineo) # Eliminación de vectores (ya no son necesarios una vez creado el dataframe)
Transforma en factores aquellas variables que consideres necesario.
str(muestra) # Comprobación de la estructura del dataframe.
$procedencia <- as.factor(muestra$procedencia) # Variables cualitativas con etiquetas (caracteres)
muestra$grupo_sanguineo <- as.factor(muestra$grupo_sanguineo)
muestra
$sexo <- factor(muestra$sexo,
muestralevels = c(1,2),
labels = c("hombre","mujer"))
¿Cúal son los valores correspondientes a?:
Filas 12 a 14
12:14, ] muestra[
Columnas 21 a 30
1:2] muestra[,
Filas 17 a 21 de la variable grupo_sanguineo
$grupo_sanguineo[2:17] muestra
Crea una nueva variable denominada IMC que resulta de dividir el peso (en kg) entre la estatura en metros elevada al cuadrado.
$IMC <- muestra$peso / muestra$altura**2 muestra
Recodifica la variable IMC creando una nueva variable, denominada “riesgo_sobrepeso”, que tendrá las siguientes categorías:
<- within(muestra,{
muestra <- NA #
riesgo_sobrepeso < 18.5] <- "Bajo"
riesgo_sobrepeso[IMC >= 18.5 & IMC < 24.9] <- "Normal"
riesgo_sobrepeso[IMC >= 24.9 & IMC < 29.9] <- "Sobrepeso"
riesgo_sobrepeso[IMC >= 30] <- "Obesidad" }) riesgo_sobrepeso[IMC
Convierte en factores las variables 6 y 7.
Variable 6: tomará como nuevo nombre rama_conocimiento. Transforma esa variable en factor con las siguientes categorías y etiquetas; 1 Arte y Humanidades, 2, Ciencias, 3 Ciencias Sociales y Jurídicas, 4 Ingeniería y Arquitectura, 5 Ciencias de la Salud.
Variable 7: tomará como nuevo nombre uso_movil. Transforma esa variable en factor con las siguientes categorías y etiquetas; 1 Menos de 2 horas diarias, 2 Entre 2 y 5 horas diarias, 3 Más de 5 horas diarias.
$rama_conocimiento <- factor(muestra$variable_6,
muestralevels=c(1,2,3,4,5),
labels=c("Arte y Humanidades","Ciencias","Ciencias Sociales y Jurídicas","Ingeniería y Arquitectura", "Ciencias de la Salud"))
$uso_movil <- ordered(muestra$variable_7, # También pueden transformarse en factores ordinales
muestralevels=c(1,2,3),
labels=c("Escaso","Moderado","Intenso"))
Comprueba si hay datos nulos en el dataframe, y en su caso, elimínalos.
sapply(muestra,
function(x) sum(is.na(x))) # Cuenta el número de nulos por columna
Crea un nuevo dataframe, denominado sobrepeso_masculino, que contenga todos los hombres con sobrepeso y obesidad.
<- subset(muestra,
sobrepeso_masculino =="Masculino" & IMC >= 24.9) genero
De este último dataframe, elimina las variables peso, altura, y uso de móvil.
<- subset(sobrepeso_masculino,
sobrepeso_masculino select=-c(peso, altura, uso_movil))
Graba este dataframe con formato .rds en el directorio de trabajo donde alojarás los materiales del curso.
getwd() # Comprobación del director de trabajo actual.
setwd("....") # Cambio del directorio de trabajo
saveRDS(sobrepeso_masculinoy, file = "sobrepeso_masculino.rds")
Graba todo el contenido del Global Environment con formato .RData.
save.image(file = "*.rds")