1) Máximo y mínimo de un vector
Enunciado: dado un vector numérico, muestra su valor máximo y mínimo.
Código:
v <- c(10, 3, 25, -4, 7, 7, 18)
cat("Máximo:", max(v), "\n")
cat("Mínimo:", min(v), "\n")
2) Media, mediana y desviación estándar
Enunciado: calcula media, mediana y desviación estándar de un vector.
Código:
v <- c(5, 8, 9, 10, 12, 13, 13)
cat("Media:", mean(v), "\n")
cat("Mediana:", median(v), "\n")
cat("Desviación estándar:", sd(v), "\n")
3) Contar ocurrencias de cada valor
Enunciado: cuenta cuántas veces aparece cada valor en un vector.
Código:
v <- c("rojo","azul","rojo","verde","azul","rojo")
tabla <- table(v)
print(tabla)
4) Filtrar valores por condición
Enunciado: de un vector numérico, quédate solo con los mayores que 10.
Código:
v <- c(4, 12, 7, 15, 22, 9)
mayores_10 <- v[v > 10]
print(mayores_10)
5) Generar una secuencia y sumar elementos
Enunciado: genera una secuencia del 1 al 50 y calcula su suma total.
Código:
s <- 1:50
cat("Suma:", sum(s), "\n")
6) Función propia: factorial simple
Enunciado: escribe una función que calcule el factorial de un número entero n.
Código:
factorial_simple <- function(n) {
if (n < 0) stop("n debe ser no negativo")
if (n == 0) return(1)
prod(1:n)
}
cat("Factorial de 6:", factorial_simple(6), "\n")
7) Números pares en un rango
Enunciado: dado un número n, genera los pares entre 1 y n.
Código:
n <- 20
pares <- seq(2, n, by = 2)
print(pares)
8) Reemplazar valores NA por la media
Enunciado: en un vector con NA, reemplázalos por la media de los valores existentes.
Código:
v <- c(1, NA, 3, 4, NA, 10)
media <- mean(v, na.rm = TRUE)
v[is.na(v)] <- media
print(v)
9) Crear un data frame básico y filtrarlo
Enunciado: crea un data frame con nombre y edad, y quédate con los mayores o iguales a 18.
Código:
df <- data.frame(
nombre = c("Ana","Luis","Eva","Juan"),
edad = c(17, 21, 19, 15)
)
mayores <- df[df$edad >= 18, ]
print(mayores)
10) Añadir una columna calculada
Enunciado: dado un data frame de productos y precios, añade una columna con el precio con IVA (21%).
Código:
productos <- data.frame(
producto = c("Teclado","Ratón","Monitor"),
precio = c(20, 15, 150)
)
productos$precio_iva <- productos$precio * 1.21
print(productos)
11) Leer un CSV y obtener resumen
Enunciado: lee un archivo CSV y muestra head()
y summary()
.
Código: (usa un archivo local “datos.csv”)
datos <- read.csv("datos.csv", stringsAsFactors = FALSE)
head(datos)
summary(datos)
12) Ordenar un data frame por una columna
Enunciado: ordena un data frame por la columna edad de menor a mayor.
Código:
df <- data.frame(
nombre = c("Ana","Luis","Eva","Juan"),
edad = c(23, 35, 20, 29)
)
ordenado <- df[order(df$edad), ]
print(ordenado)
13) Agrupar y resumir con dplyr
Enunciado: usando dplyr
, agrupa por categoría y calcula el precio medio.
Código:
# install.packages("dplyr")
library(dplyr)
ventas <- data.frame(
categoria = c("A","A","B","B","B","C"),
precio = c(10, 12, 8, 9, 7, 30)
)
resumen <- ventas %>%
group_by(categoria) %>%
summarise(precio_medio = mean(precio), .groups = "drop")
print(resumen)
14) Gráfico simple con base R
Enunciado: dibuja un gráfico de dispersión de Sepal.Length vs Sepal.Width con el conjunto iris
.
Código:
plot(iris$Sepal.Length, iris$Sepal.Width,
xlab = "Sepal Length", ylab = "Sepal Width",
main = "Dispersión de medidas en iris")
15) Guardar un gráfico en archivo PNG
Enunciado: genera el mismo gráfico y guárdalo como grafico.png
.
Código:
png("grafico.png", width = 800, height = 600)
plot(iris$Sepal.Length, iris$Sepal.Width,
xlab = "Sepal Length", ylab = "Sepal Width",
main = "Dispersión de medidas en iris")
dev.off()
cat("Gráfico guardado en grafico.png\n")
Contenido restringido
Comments are closed