En esta publicación se presentan procedimientos para resolver temas referentes a programacion en R: Utilizamos el lenguaje R y mostramos su implementación paso a paso. Estos métodos son fundamentales en el estudio de Vectores, y su aplicación en R permite realizar varios procedimientos, verificar resultados y comprender el comportamiento de vectores y su uso en programación. Se exponen conclusiones del trabajo. Los vectores son fundamentales en matemáticas, particularmente en el álgebra lineal, son una secuencia de números que definen tanto un valor (magnitud) como una orientación en el espacio. Pueden estar compuestos por dos, tres o más elementos, según las dimensiones que se manejen: por ejemplo, un vector bidimensional se dibuja como una flecha en un plano, y uno tridimensional, en el espacio. Estas herramientas son clave para modelar conceptos como desplazamientos, fuerzas o velocidades en situaciones reales. Asimismo, admiten operaciones como suma, resta, multiplicación por escalares y el cálculo de su módulo o longitud, lo que amplía su utilidad en disciplinas como física, ingeniería, informática y economía.
Creación y exploración de vectores, crear un vector con 15 nombres de ciudades, visualizarlo, contar sus elementos, localizar las posiciones de la letra “o” y reordenarlo alfabéticamente de forma ascendente y descendente.
Codigo en R:
# 1. Crear el vector ciudades
ciudades <- c("Quito", "Guayaquil", "Cuenca", "Santo Domingo", "Machala",
"Durán", "Manta", "Portoviejo", "Loja", "Ambato",
"Esmeraldas", "Ibarra", "Riobamba", "Milagro", "Latacunga")
# 2. Visualizar el vector
ciudades
## [1] "Quito" "Guayaquil" "Cuenca" "Santo Domingo"
## [5] "Machala" "Durán" "Manta" "Portoviejo"
## [9] "Loja" "Ambato" "Esmeraldas" "Ibarra"
## [13] "Riobamba" "Milagro" "Latacunga"
# 3. Cantidad de elementos
length(ciudades)
## [1] 15
# 4. Posiciones donde aparece la letra "o"
which(grepl("o", ciudades))
## [1] 1 4 8 9 10 13 14
# 5. Orden alfabético ascendente
sort(ciudades)
## [1] "Ambato" "Cuenca" "Durán" "Esmeraldas"
## [5] "Guayaquil" "Ibarra" "Latacunga" "Loja"
## [9] "Machala" "Manta" "Milagro" "Portoviejo"
## [13] "Quito" "Riobamba" "Santo Domingo"
# 6. Orden alfabético descendente
sort(ciudades, decreasing = TRUE)
## [1] "Santo Domingo" "Riobamba" "Quito" "Portoviejo"
## [5] "Milagro" "Manta" "Machala" "Loja"
## [9] "Latacunga" "Ibarra" "Guayaquil" "Esmeraldas"
## [13] "Durán" "Cuenca" "Ambato"
Se requiere crear dos vectores. El primer vector, llamado estudiantes, debe contener los nombres de 10 estudiantes. El segundo vector, llamado calificaciones, debe contener las notas correspondientes a cada estudiante. Se deben realizar las siguientes operaciones: Visualizar ambos vectores, calcular la suma total de las notas, calcular la nota promedio, identificar las posiciones de las notas menores a 5 y visualizar las notas ordenadas de menor a mayor.
Codigo en R:
# 1. Crear vector de estudiantes
estudiantes <- c("Ana", "Luis", "María", "Pedro", "Sofía",
"Jorge", "Elena", "Carlos", "Lucía", "Miguel")
# 2. Crear vector de calificaciones
calificaciones <- c(8.5, 6.2, 9.0, 4.8, 7.5,
3.9, 5.6, 4.3, 8.0, 6.7)
# 3. Visualizar los vectores
estudiantes
## [1] "Ana" "Luis" "María" "Pedro" "Sofía" "Jorge" "Elena" "Carlos"
## [9] "Lucía" "Miguel"
calificaciones
## [1] 8.5 6.2 9.0 4.8 7.5 3.9 5.6 4.3 8.0 6.7
# 4. Suma total de las notas
sum(calificaciones)
## [1] 64.5
# 5. Nota promedio
mean(calificaciones)
## [1] 6.45
# 6. Posiciones donde las notas son menores a 5
which(calificaciones < 5)
## [1] 4 6 8
# 7. Notas ordenadas de menor a mayor
sort(calificaciones)
## [1] 3.9 4.3 4.8 5.6 6.2 6.7 7.5 8.0 8.5 9.0
Se crea un vector llamado vec1 con los números enteros del 5 al 15, se extraen los elementos en las posiciones 2, 4 y 6 del vector, el último elemento del vector es reemplazado por el valor 100, se determina el número de elementos del vector actualizado.
Codigo en R:
# 1. Crear vector con números del 5 al 15
vec1 <- 5:15
# 2. Extraer elementos en posiciones 2, 4 y 6
vec1[c(2, 4, 6)]
## [1] 6 8 10
# 3. Reemplazar el último elemento por 100
vec1[length(vec1)] <- 100
# 4. Cantidad de elementos del vector actualizado
length(vec1)
## [1] 11
Se pide crear dos vectores los cuales tendran seis valores aleatorios entre 10 y 50, se pide realizar operaciones de suma y multiplicación, aplicando tambien el promedio, desviación estandar e identicar el valor maximo y minimo del vector.
Codigo en R:
# 1. Crear dos vectores aleatorios entre 10 y 50 (6 valores cada uno)
set.seed(123) # Opcional: asegura que los números sean reproducibles
vec2 <- sample(10:50, 6)
vec3 <- sample(10:50, 6)
# 2. Sumar los vectores
vec2 + vec3
## [1] 74 59 59 26 94 85
# 3. Multiplicar los vectores
vec2 * vec3
## [1] 1360 840 828 168 2208 1776
# 4. Crear el vector vec4
vec4 <- c(20, 35, 15, 40, 25, 10)
# 5. Suma de vec4
sum(vec4)
## [1] 145
# 6. Promedio de vec4
mean(vec4)
## [1] 24.16667
# 7. Desviación estándar de vec4
sd(vec4)
## [1] 11.58303
# 8. Valor máximo y mínimo de vec4
max(vec4)
## [1] 40
min(vec4)
## [1] 10
# 9. Posiciones del máximo y mínimo
which(vec4 == max(vec4))
## [1] 4
which(vec4 == min(vec4))
## [1] 6
Crear un vector numérico, el filtrado de sus elementos basado en criterios de rango y divisibilidad, y la asignación de los resultados a nuevos vectores. Específicamente, se requiere: crear un vector vec5 con números del 1 al 25, filtrar los números que son mayores que 12 y menores que 20, crear un nuevo vector con los números de vec5 que sean divisibles entre 5.
Codigo en R:
# 1. Crear un vector con los números del 1 al 25
vec5 <- 1:25
# 2. Filtrar los valores mayores que 12 y menores que 20
vec5[(vec5 > 12) & (vec5 < 20)]
## [1] 13 14 15 16 17 18 19
# 3. Crear un nuevo vector con los números divisibles entre 5
div_5 <- vec5[vec5 %% 5 == 0]
div_5
## [1] 5 10 15 20 25
Implementar operaciones lógicas y de condición sobre un vector de temperaturas. Primero, se debe crear un vector temperaturas con valores dados y luego un segundo vector condicion_mayor_20 que indique si cada temperatura es mayor a 20. Después, se contabilizará cuántas temperaturas cumplen esta condición y finalmente, se modificará el vector original temperaturas para reemplazar los valores menores a 20 con “NA”.
Codigo en R:
# Crear el vector de temperaturas
temperaturas <- c(25, 30, 18, 22, 27, 33, 15, 29)
# Crear vector lógico indicando si cada temperatura es mayor a 20
mayor_20 <- temperaturas > 20
# Calcular cuántos valores son mayores a 20
cantidad_mayor_20 <- sum(mayor_20)
# Reemplazar temperaturas menores a 20 por NA
temperaturas_filtrado <- temperaturas
temperaturas_filtrado[temperaturas_filtrado < 20] <- NA
# Mostrar resultados
temperaturas
## [1] 25 30 18 22 27 33 15 29
mayor_20
## [1] TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE
cantidad_mayor_20
## [1] 6
temperaturas_filtrado
## [1] 25 30 NA 22 27 33 NA 29
Crear un vector llamado valores con los números y luego aplicar las funciones sqrt(), log() y exp() a cada elemento de este vector, mostrando los resultados en nuevos vectores. Esto implica usar un método para iterar sobre el vector original y aplicar las operaciones a cada uno de sus componentes.
Codigo en R:
# Crear el vector
valores <- c(2, 4, 6, 8, 10, 12, 14, 16)
# Aplicar funciones a cada elemento del vector
valores_sqrt <- sqrt(valores)
valores_log <- log(valores)
valores_exp <- exp(valores)
# Mostrar resultados
valores
## [1] 2 4 6 8 10 12 14 16
valores_sqrt
## [1] 1.414214 2.000000 2.449490 2.828427 3.162278 3.464102 3.741657 4.000000
valores_log
## [1] 0.6931472 1.3862944 1.7917595 2.0794415 2.3025851 2.4849066 2.6390573
## [8] 2.7725887
valores_exp
## [1] 7.389056e+00 5.459815e+01 4.034288e+02 2.980958e+03 2.202647e+04
## [6] 1.627548e+05 1.202604e+06 8.886111e+06
Para aplicar la ordenación y eliminación de elementos se necesita crear un vector vec6 con los valores {18, 25, 12, 9, 40, 5, 22}, ordenarlo de forma ascendente y descendente, eliminar sus elementos en tercera y quinta posición, y luego mostrar el resultado final de este último vector modificado.
Codigo en R:
# Crear el vector
vec6 <- c(18, 25, 12, 9, 40, 5, 22)
# Ordenar en orden ascendente
vec6_asc <- sort(vec6)
# Ordenar en orden descendente
vec6_desc <- sort(vec6, decreasing = TRUE)
# Eliminar el tercer y quinto elemento del vector original
vec6_eliminado <- vec6[-c(3, 5)]
# Mostrar resultados
vec6
## [1] 18 25 12 9 40 5 22
vec6_asc
## [1] 5 9 12 18 22 25 40
vec6_desc
## [1] 40 25 22 18 12 9 5
vec6_eliminado
## [1] 18 25 9 5 22
Crear dos vectores, vec7 con números del 1 al 6 y vec8 con números del 7 al 12, para luego concatenarlos en un único vector llamado vec9. El nuevo vector vec9 contendrá los elementos de ambos, es decir, los números del 1 al 12, resultando en un total de 12 elementos.
Codigo en R:
# Crear los vectores
vec7 <- 1:6
vec8 <- 7:12
# Concatenar ambos vectores
vec9 <- c(vec7, vec8)
# Contar cuántos elementos tiene vec9
num_elementos_vec9 <- length(vec9)
# Mostrar resultados
vec7
## [1] 1 2 3 4 5 6
vec8
## [1] 7 8 9 10 11 12
vec9
## [1] 1 2 3 4 5 6 7 8 9 10 11 12
num_elementos_vec9
## [1] 12
Se necesita crear un vector vec10, extraer los números entre 20 (excluido) y 35 (incluido), y luego calcular la suma de los elementos extraídos. Esto se logra mediante operaciones de subsetting (subconjunto) y una operación de suma vectorial.
Codigo en R:
# Crear el vector
vec10 <- c(10, 15, 20, 25, 30, 35, 40)
# Extraer valores mayores a 20 y menores o iguales a 35
valores_filtrados <- vec10[vec10 > 20 & vec10 <= 35]
# Calcular la suma de los valores extraídos
suma_valores <- sum(valores_filtrados)
# Mostrar resultados
vec10
## [1] 10 15 20 25 30 35 40
valores_filtrados
## [1] 25 30 35
suma_valores
## [1] 90
En el presente trabajo de programación se pudo realizar diversos ejercicios los cuales nos sirven para poner en practica la creación de vectores y el uso funciones como sqrt(), log(), exp().
Este trabajo nos ayuda a tener un mejor manejo del programa de RStudio, para obtener una mayor destreza en el manejo y uso de vectores.