# Crear la lista de notas clase_1 <- c(53, 54, 55, 56, 57, 58, 59, 60, 61, 61, 62, 62, 63, 63, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65, 65, 68, 70, 72, 74, 78, 80, 82, 84, 86, 87, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 99, 100, 100) # Largo de la lista length(clase_1) # Extraer el número que se encuentra en el lugar 3 de la lista (índice 2) clase_1[3] # Imprimimos promedio, mediana y desviación estándar cat('Promedio Clase 1:', mean(clase_1), "\n") # debería ser 78 cat('Mediana Clase 1:', median(clase_1), "\n") # debería ser 65 cat('Desviación estándar Clase 1:', sd(clase_1), "\n") # debería ser 16 # Crear el histograma usando la función hist de base R hist(clase_1, breaks=10, col='skyblue', border='black', main='Histograma de notas - Clase 1', xlab='Nota', ylab='Estudiantes') # Para más opciones en hist: ?hist # Crear un histograma de densidad y superponer la curva de densidad usando ggplot2 library(ggplot2) # Convertir a data frame para ggplot2 df <- data.frame(nota = clase_1) ggplot(df, aes(x=nota)) + geom_histogram(aes(y=..density..), bins=10, fill="blue", color="black", alpha=0.7) + geom_density(color="red", size=1) + labs(title="Histograma y Densidad de Notas - Clase 1", x="Nota", y="Densidad") + theme_minimal() #Ejercicio 2 # Escribimos nuestros datos como un vector datos <- c(60, 52, 75, 54, 85, 45, 76, 64, 58, 71, 65, 60, 55, 63, 70) # Definir una función que calcule el mínimo de una lista dada calcular_minimo <- function(lista) { minimo <- lista[1] # Asumimos que el primer elemento es el mínimo for (numero in lista) { # Recorremos toda la lista if (numero < minimo) { minimo <- numero # Actualizamos el mínimo si encontramos un número menor } } return(minimo) } # Calcular el mínimo utilizando la función definida calcular_minimo(datos) # Calcular el mínimo y otras cantidades importantes usando funciones predefinidas en R resumen_cinco_numeros <- list( 'Mínimo' = min(datos), # Mínimo 'Q1' = quantile(datos, 0.25), # Primer cuartil 'Mediana (Q2)' = median(datos), # Mediana 'Q3' = quantile(datos, 0.75), # Tercer cuartil 'Máximo' = max(datos) # Máximo ) # Mostrar el resumen de cinco números print(resumen_cinco_numeros) boxplot(datos, horizontal=TRUE, col="skyblue", main="Boxplot", xlab="Presión Arterial Diastólica") # Diagrama de caja vertical boxplot(datos, horizontal=FALSE, col="skyblue", main="Boxplot", ylab="Presión Arterial Diastólica") par(mfrow=c(1, 2)) # Crear el boxplot boxplot(df$Presión_Arterial_Diastólica, main="Boxplot", ylab="Presión Arterial Diastólica", col="skyblue") # Crear el histograma hist(df$Presión_Arterial_Diastólica, main="Histograma", xlab="Presión Arterial Diastólica", col="orchid", breaks=5) # Resetear la ventana gráfica par(mfrow=c(1, 1)) # Calcular el promedio promedio <- mean(datos) print(promedio) # Calcular la desviación estándar desviacion_estandar <- sd(datos) print(desviacion_estandar) # Ejercicio 3 # Función para calcular la mediana (y que sea un elemento de la lista) mediana <- function(muestra) { muestra <- sort(muestra) # ordena la lista n <- length(muestra) # calcula el largo de la lista if (n %% 2 == 0) { # si el largo de la lista es par mediana <- muestra[n/2] } else { # Si el largo de la lista es impar mediana <- muestra[(n %/% 2) + 1] } return(mediana) } lista <- c(1,2,3,4) # la mediana de esta lista es 2 mediana(lista)