EJERCICIO 1

Crear un vector llamado ciudades, que contenga 15 elementos y responder a las siguientes preguntas:
a) Cantidad de elementos del vector
b) Encuentra en que posiciones del vector las ciudades contienen la letra o
c) Ordena las ciudades en orden alfabético, de forma creciente y decreciente
SOLUCIÓN
#Crear vector
ciudades <- c("Quito","Guayaquil","Cuenca","Manta","Ambato",
              "Loja","Ibarra","Riobamba","Esmeraldas","Tulcan",
              "Machala","Portoviejo","SantoDomingo","Latacunga","Tena")
ciudades
##  [1] "Quito"        "Guayaquil"    "Cuenca"       "Manta"        "Ambato"      
##  [6] "Loja"         "Ibarra"       "Riobamba"     "Esmeraldas"   "Tulcan"      
## [11] "Machala"      "Portoviejo"   "SantoDomingo" "Latacunga"    "Tena"
# a) Contar cuantos elementos tiene el vector
cant <- (length(ciudades))
cat ("El vector tiene", cant, "ciudades" )
## El vector tiene 15 ciudades
# b) Encontrar en que posiciones se encuentra o
letrao <- ciudades != sub("o","",ciudades)
cat <- ("La letra o se encuentra en las posiciones")
which(letrao)
## [1]  1  5  6  8 12 13
# c) Ordenar las ciudades en orden alfabético de manera creciente y decreciente
#Forma creciente
sort(ciudades)
##  [1] "Ambato"       "Cuenca"       "Esmeraldas"   "Guayaquil"    "Ibarra"      
##  [6] "Latacunga"    "Loja"         "Machala"      "Manta"        "Portoviejo"  
## [11] "Quito"        "Riobamba"     "SantoDomingo" "Tena"         "Tulcan"
#Forma decreciente
sort(ciudades, decreasing = TRUE)
##  [1] "Tulcan"       "Tena"         "SantoDomingo" "Riobamba"     "Quito"       
##  [6] "Portoviejo"   "Manta"        "Machala"      "Loja"         "Latacunga"   
## [11] "Ibarra"       "Guayaquil"    "Esmeraldas"   "Cuenca"       "Ambato"

EJERCICIO 2

Crear dos vectores llamados estudiantes y otro que contenga las notas de los estudiantes y responder los literales
a) Suma de las notas
b) Calcular la nota promedio) Encuentra en que posiciones del vector las ciudades contienen la letra o
c) encontrar en que posición se encuentran las notas menores a 5
d) Ordenar las notas de menor a mayor
SOLUCIÓN
#Crear vectores
estudiantes <- c("Ana","José","Luis","María","Pedro",
                 "Lucía","Carlos","Elena","Juan","Rosa")
calificaciones <- c(8,4,9,7,5,3,10,6,2,9)
estudiantes
##  [1] "Ana"    "José"   "Luis"   "María"  "Pedro"  "Lucía"  "Carlos" "Elena" 
##  [9] "Juan"   "Rosa"
calificaciones
##  [1]  8  4  9  7  5  3 10  6  2  9
# a) Sumar las notas
snot <- (sum(calificaciones))
cat("La suma de las notas es", snot)
## La suma de las notas es 63
# b) Calcular el promedio de las notas
promedio <- mean(calificaciones)
cat("El promedio de las notas es", promedio)
## El promedio de las notas es 6.3
# c) En que posiciones se encuentra las notas menores a cinco
menor5 <- which(calificaciones < 5)
cat("Las notas menores a cinco se encuentran en las posiciones", menor5)
## Las notas menores a cinco se encuentran en las posiciones 2 6 9
# d) Ordenar las notas de menor a mayor
orden <- sort(calificaciones)
cat("Las notas ordenadas de menor a mayor son", orden)
## Las notas ordenadas de menor a mayor son 2 3 4 5 6 7 8 9 9 10

EJERCICIO 3

Crear un vector que contenga los numero del 5 al 15 y responder las preguntas
a) Extraer los elementos de las posiciones 2, 4 y 6 del vector
b) Remplazar el ultimo elemento del vector por 100
c) Cuantos elementos tiene el vector actualizado
SOLUCIÓN
#Crear el vector
vec1 <- 5:15
vec1
##  [1]  5  6  7  8  9 10 11 12 13 14 15
# a) Extraer los elementos del vector de las posiciones 2, 4 y 6
c(vec1[2], vec1[4], vec1[6])
## [1]  6  8 10
# b) Reemplazar el ultimo valor por 100
vec1[length(vec1)] <- 100
vec1
##  [1]   5   6   7   8   9  10  11  12  13  14 100
# c) Cuantos elementos tiene el vector luego de los cambios
length(vec1)
## [1] 11

EJERCICIO 4

Crear dos vectores 2 y 3 con 6 valores aleatorios entre 10 y 50 crear un vector 4 con los valores 20,35,15,40,25,10 y responder las preguntas
a) Sumar y multiplicar los vectores vec2 y vec3
b) Calcular la suma, el promedio y la desviación estándar del vector vec4
Identificar el valor máximo y mínimo de vec4 y sus posiciones
SOLUCIÓN
#Crear vectores 2 y 3
vec2 <- c(12,25,33,47,15,50)
vec3 <- c(20,44,11,30,49,18)
# a) Suma y multiplicacion vectores 2 y 3
vec2 + vec3
## [1] 32 69 44 77 64 68
vec2 * vec3
## [1]  240 1100  363 1410  735  900
#Crear vector 4
vec4 <- c(20,35,15,40,25,10)

# b) Suma, promedio, desviación vector 4
sum <- sum(vec4)
cat ("La suma es", sum)
## La suma es 145
prom <- mean(vec4)
prom
## [1] 24.16667
cat ("El promedio es", prom)
## El promedio es 24.16667
desv <- sd(vec4)
desv
## [1] 11.58303
cat ("La desviación estándar es", desv)
## La desviación estándar es 11.58303
# c) Valor máximo y mínimo vector cuatro y posiciones
m <- max(vec4)
md <- which(vec4 == max(vec4))
cat ("El valor máximo es", m, "y se encuentra en la posición", md )
## El valor máximo es 40 y se encuentra en la posición 4
n <- min(vec4)
nd <- which(vec4 == min(vec4))
cat ("El valor mínimo es", n, "y se encuentra en la posición", nd )
## El valor mínimo es 10 y se encuentra en la posición 6

EJERCICIO 5

Crear un vector (vec5) del 1 al 25 y responder los siguientes enunciados:
a) Filtar vec5 que sea mayores que 12 y menores a 20
b) Crear un nuevo vector con números de vec5 que sean divisibles entre 5
SOLUCIÓN
# Crear un vector (vec5)
vec5 <- 1:25
vec5
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
# a) Filtrar valores
vec_filtro <- which(vec5 > 12 & vec5 < 20)
vec_filtro
## [1] 13 14 15 16 17 18 19
# b) Valores divisibles para 5
div5<- which(vec5%%5 == 0)
cat("los valores divisibles para 5 en el vector son: ", div5)
## los valores divisibles para 5 en el vector son:  5 10 15 20 25

EJERCICIO 6

Crear un vector llamado “temperatura” y responder los siguientes enunciados:
a) Crear vector lógico que indique si la temperatura es mayor a 20
b) Calcular cuantos elementos del vector temeperatura cumple con la condicion que sea mayores a 20
c) Reemplazar las temperaturas menores a 20 con el valor “NA” y mostrar el vector resultante
SOLUCIÓN
# Crear un vector
temperaturas <- c(25, 30, 18, 22, 27, 33, 15, 29)
temperaturas
## [1] 25 30 18 22 27 33 15 29
# a) Crear vector lógico donde temperatura sea mayor a 20
temp_mayor20 <- temperaturas>20
temp_mayor20
## [1]  TRUE  TRUE FALSE  TRUE  TRUE  TRUE FALSE  TRUE
# b) Calcular los elementos mayores a 20
cantidad <- sum(temp_mayor20)
cantidad
## [1] 6
# c) Reemplazar valores
temperaturas[which(temperaturas < 20)] <- NA
temperaturas
## [1] 25 30 NA 22 27 33 NA 29

EJERCICIO 7

Crear un vector llamado “valores” y responder los siguientes enunciados:
a) Aplicar las siguientes funciones a cada elemento del vector:
sqrt()
log()
exp()
b) Mostrar los resultados en un nuevo vector
SOLUCIÓN
# Crear vector
valores <- c(2, 4, 6, 8, 10, 12, 14, 16)
valores
## [1]  2  4  6  8 10 12 14 16
# a) Aplicación de funciones
raiz <- round(sqrt(valores),2)
loga <- round(log(valores),2)
expo <- round(exp(valores),2)

# b) Mostrar resultados
cat("Las raices del vector son : ", raiz)
## Las raices del vector son :  1.41 2 2.45 2.83 3.16 3.46 3.74 4
cat("los logaritmos del vector son : ", loga)
## los logaritmos del vector son :  0.69 1.39 1.79 2.08 2.3 2.48 2.64 2.77
cat("Los resultados de la función exponencial del vector son : ",expo)
## Los resultados de la función exponencial del vector son :  7.39 54.6 403.43 2980.96 22026.47 162754.8 1202604 8886111

EJERCICIO 8

Crear un vector que tenga las siguientes caracteristicas
a) que contenga los siguientes valores 18,25,12,9,40,5,22
b) ordenar el vector en orden ascendente y descendente
c) eliminar el tercer y quinto elemento del vector y mostrar el resultado final
SOLUCIÓN
#  Crear vector:
vec6 <- c(18, 25, 12, 9, 40, 5, 22)
vec6
## [1] 18 25 12  9 40  5 22
# b) Ordenar en forma ascendente
ascendente <- sort(vec6)
ascendente
## [1]  5  9 12 18 22 25 40
# b) Ordenar en forma descendente
descendente <- sort(vec6, decreasing = TRUE)
descendente
## [1] 40 25 22 18 12  9  5
# c) Eliminar el 3er y 5to elemento del vector 
eliminar_e<- vec6[-c(3, 5)]
eliminar_e
## [1] 18 25  9  5 22

EJERCICIO 9

crear dos vectores y unirlos en uno solo
a) vec7 con numeros del 1 al 6
vec8 con numeros del 7 al 12
b) concatenar ambos vectores en uno solo llamado vec9
c) ¿cuantos elementos tiene el nuevo vector vec9?
SOLUCIÓN
# a) Crear el primer vector del 1 al 6
vec7 <- c(1,2,3,4,5,6)

# a) Crear el segundo vector del 7 al 12
vec8 <- c(7,8,9,10,11,12)

# b) concatenar los vectores 
vec9 <- c(vec7, vec8)
vec9
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12
# c) cuántos elementos tiene el nuevo vector
cat("El vector vec9 tiene", length(vec9), "elementos")
## El vector vec9 tiene 12 elementos

EJERCICIO 10

crear un vector
a) que contega los numeros 10,15,20,25,30,35,40
b) Extraer valores mayores a 20 y menores o iguales a 35
c) Calcular la suma de esos valores
SOLUCIÓN
# a) Crear el vector con los valores dados
vec10 <- c(10, 15, 20, 25, 30, 35, 40)
vec10
## [1] 10 15 20 25 30 35 40
# b) Extraer valores mayores a 20 y menores o iguales a 35
valores_e <- vec10[vec10 > 20 & vec10 <= 35]
valores_e
## [1] 25 30 35
cat("Los valores extraidos son", valores_e)
## Los valores extraidos son 25 30 35
# c) Calcular la suma de los valores extraidos 
suma <- sum(valores_e)
suma
## [1] 90
cat("La suma de los valores es ", suma)
## La suma de los valores es  90