TALLER 5

__

VECTORES

__

Resolver los siguientes ejercicios

__

EJERCICIO 1

Calcular los valores nùmericos aproximados

  1. Resolvemos la operación
x<-(0.3*0.15)/(0.3*0.15+0.2*0.8+0.5*0.12)
cat("El valor nùmerico aproximado es: ",x) 
## El valor nùmerico aproximado es:  0.1698113
  1. Segunda Operación
y<-((5^6)/(factorial(6)))*exp(1)^-5
cat("El valor nùmerico aproximado es: ",y) 
## El valor nùmerico aproximado es:  0.1462228

3.Tercera Operación

z<-(factorial(20)/(factorial(7)*factorial(20-7)))*0.4^7*0.6^13
cat("El valor nùmerico aproximado es: ",z)
## El valor nùmerico aproximado es:  0.1658823

__

EJERCICIO 2

El vector alumnos representa los nombres de una serie de alumnos.

  1. Crear el vector alumnos con 20 nombres
alumnos<-(c("Mariana","Monica","Melani","Marcelo","Leandro ","Mateo ","Marcos"," Josue"," Johan","Alejandra","Micaela","Maximiliano","Erick","Arlyn","Edison","Jorge","Josias","Jhon","Israel","Pablo"))
alumnos
##  [1] "Mariana"     "Monica"      "Melani"      "Marcelo"     "Leandro "   
##  [6] "Mateo "      "Marcos"      " Josue"      " Johan"      "Alejandra"  
## [11] "Micaela"     "Maximiliano" "Erick"       "Arlyn"       "Edison"     
## [16] "Jorge"       "Josias"      "Jhon"        "Israel"      "Pablo"
  1. ¿Cuántas componentes tiene el vector alumnos?
tama<-(length(alumnos))
tama
## [1] 20
  1. ¿En qué posiciones del vector alumnos está la letra ‘A’?
alumnos<- grep("A", alumnos)
alumnos
## [1] 10 14

__

EJERCICIO 3

El vector notas representa la nota de un examen, de los mismos alumnos cuya lista se ha guardado en el vector alumnos y en el mismo orden.

  1. Vector notas
nota <- c(10,15,5,20,2,14,13,3,1,11,4,16,9,19,12,20,19,7,14,13)
nota
##  [1] 10 15  5 20  2 14 13  3  1 11  4 16  9 19 12 20 19  7 14 13
  1. Componentes que tiene el vector
com <- length(nota)
com
## [1] 20
  1. Suma de todas las notas
sumn <- sum(nota)
sumn
## [1] 227
  1. Media aritmética de todas las notas
mediant <- mean(nota)
mediant
## [1] 11.35
  1. Posiciones de las notas mayores a 7
posnt <- which(nota>7)
posnt
##  [1]  1  2  4  6  7 10 12 13 14 15 16 17 19 20
  1. Visualiza las notas ordenadas de menor a mayor
notme <- sort(nota)
notme
##  [1]  1  2  3  4  5  7  9 10 11 12 13 13 14 14 15 16 19 19 20 20
  1. Visualiza las notas ordenadas de mayor a menor
notma <- sort(nota, decreasing = T)
notma
##  [1] 20 20 19 19 16 15 14 14 13 13 12 11 10  9  7  5  4  3  2  1
  1. ¿Cuál ha sido la nota máxima?
ntmax <- max(nota)
ntmax
## [1] 20
  1. ¿En qué posición del vector está esa nota máxima?
pmax <- which (nota==ntmax)
pmax
## [1]  4 16

__

EJERCICIO 4

Se analizan y manipulan estos datos para obtener información relevante sobre el rendimiento académico de los alumnosA partir de los vectores alumnos y notas definidos:

nota <- c(10,15,5,20,2,14,13,3,1,11,4,16,9,19,12,20,19,7,14,13)
nota
##  [1] 10 15  5 20  2 14 13  3  1 11  4 16  9 19 12 20 19  7 14 13
alumnos<-(c("Mariana","Monica","Melani","Marcelo","Leandro ","Mateo ","Marcos"," Josue"," Johan","Alejandra","Micaela","Maximiliano","Erick","Arlyn","Edison","Jorge","Josias","Jhon","Israel","Pablo"))
alumnos
##  [1] "Mariana"     "Monica"      "Melani"      "Marcelo"     "Leandro "   
##  [6] "Mateo "      "Marcos"      " Josue"      " Johan"      "Alejandra"  
## [11] "Micaela"     "Maximiliano" "Erick"       "Arlyn"       "Edison"     
## [16] "Jorge"       "Josias"      "Jhon"        "Israel"      "Pablo"
  1. Visualiza las notas de los 10 primeros alumnos
notas10p <- nota[1:10] #selecciona los primeros 10 elementos del vector nota
notas10p
##  [1] 10 15  5 20  2 14 13  3  1 11
  1. Suma las notas de los 10 primeros alumnos del vector
sumanotas <- sum(notas10p) #calcula la suma de los elementos en el vector notas10p
sumanotas
## [1] 94
  1. ¿Cuántos alumnos hay en total?
total_alumnos <- length(alumnos) 
total_alumnos 
## [1] 20
#cuenta el número total de elementos en el vector alumnos,que representa la cantidad total de alumnos.
  1. Suma las notas de los alumnos
notas_a <- sum(nota) #calcula la suma de todas las notas en el vector nota.
notas_a
## [1] 227
  1. ¿Cuántos alumnos han aprobado?
aprobados <- sum(nota >= 14)
aprobados
## [1] 8
#cuenta cuántos elementos en el vector nota son mayores o iguales a 14,
#lo que representa cuántos alumnos han aprobado
  1. ¿Qué porcentaje de alumnos han aprobado?
porcen_aprobados <- (aprobados / total_alumnos) * 100
porcen_aprobados
## [1] 40
#con esta fórmula se calcula el % de alumnos aprobados
  1. ¿Cuáles han sido las notas máxima y mínima?
nota_max <- max(nota) #Encuentra el valor máximo en el vector nota
nota_max
## [1] 20
nota_min <- min(nota) #Encuentra el valor mínimo en el vector nota
nota_min
## [1] 1
  1. ¿De qué alumnos son la máxima y mínima notas?
alum_nota_max <- alumnos[which(nota == nota_max)] 
alum_nota_max
## [1] "Marcelo" "Jorge"
#encuentra los elementos en el vector alumnos donde la nota coincide con la nota máxima

alum_nota_min <- alumnos[which(nota == nota_min)]
alum_nota_min
## [1] " Johan"
#encuentra los elementos en el vector alumnos donde la nota coincide con la nota mínima
  1. Nota media de alumnos, teniendo en cuenta sólo a los que han aprobado.
nota_aprobados <- nota[nota >= 14]
nota_aprobados
## [1] 15 20 14 16 19 20 19 14
#Crea un vector de notas que son mayores o iguales a 14, es decir,
#las notas de los alumnos que han aprobado.

media_aprobados <- mean(nota_aprobados)
media_aprobados
## [1] 17.125
#calcula la media de las notas de los alumnos que han aprobado

__

EJERCICIO 5

Creación y Manipulación de Vectores

  1. Crea un vector llamado vec1 que contenga los números del 1 al 10.
vec1 <- c(1:10) #funcion que genera una secuencia de números del 1 al 10
vec1
##  [1]  1  2  3  4  5  6  7  8  9 10
  1. Extrae el tercer y sexto elemento de vec1.
vec2 <- vec1[c(3,6)] 
vec2
## [1] 3 6
#[c(3,6)]: subconjunto de índices que se aplican al vector vec1
#[3,6]:indica que se quiere seleccionar los elementos en las posiciones 3 y 6 del vector vec1.
  1. Reemplaza el quinto elemento de vec1 por el número 99.
vec1[5] <- 99
vec1
##  [1]  1  2  3  4 99  6  7  8  9 10
#[5]: subíndice que indica el quinto elemento del vector vec1.
#<- 99: asigna el valor 99 al quinto elemento del vector vec1.

__

EJERCICIO 6

Operaciones Aritméticas con Vectores

  1. Crea dos vectores vec2 y vec3 de longitud 5 con valores enteros aleatorios entre 1 y 20.
vec2 <- sample(1:20,5, replace = TRUE)
vec2
## [1]  6  1  3 13 10
vec3 <- sample(1:20,5, replace = TRUE)
vec3
## [1] 13  2 18  6 19
#sample: se utiliza para obtener una muestra aleatoria de un conjunto de elementos.
#1:20: define el rango de valores que se utilizarán.
#5, especifica el tamaño del vector resultante.
#replace = TRUE: indica que un mismo número puede aparecer más de una vez.
  1. Suma los vectores vec2 y vec3.
s1 <- sum(c(vec2,vec3))
s1
## [1] 91
#c(vec2, vec3):combina los elementos de los vectores vec2 y vec3 en un solo vector.
#sum(...): calcula la suma de todos los elementos dentro del vector resultante de la combinación.
  1. Multiplica los vectores vec2 y vec3.
p1 <- prod(c(vec2,vec3))
p1
## [1] 124843680
#c(vec2, vec3):combina los elementos de los vectores vec2 y vec3 en un solo vector.
#prod(...): calcula la suma de todos los elementos dentro del vector resultante de la combinación.

__

EJERCICIO 7

Funciones de Resumen

  1. Crea un vector vec4 que contenga los valores 3, 5, 7, 2, 8, 10, 4, 6.
vec4<-c(3,5,7,2,8,10,4,6)
vec4
## [1]  3  5  7  2  8 10  4  6
  1. Calcula la media
mediana <-median(vec4)
mediana
## [1] 5.5
  1. Calculamos la mediana
media<-mean(vec4)
media
## [1] 5.625
  1. Calculamos la desviación estandar
desviacion<-sd(vec4)
desviacion
## [1] 2.66927

__

EJERCICIO 8

Filtrado de Vectores

  1. Crea un vector vec5 que contenga los números del 1 al 20.
vec5<-c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
vec5
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
  1. Filtra y crea un nuevo vector con los números de vec5 que sean mayores que 10.
vec5[vec5>10]
##  [1] 11 12 13 14 15 16 17 18 19 20

__

EJERCICIO 9

Ordenación de Vectores

  1. Creamos el vectores
vec6 <- c(12, 5, 13, 9, 2, 8, 10, 1)
vec6
## [1] 12  5 13  9  2  8 10  1

2.Ordenamos el vector de forma ascendente

sort(vec6)
## [1]  1  2  5  8  9 10 12 13
  1. Ordenamos el vector de forma descendente
sort(vec6,decreasing = T)
## [1] 13 12 10  9  8  5  2  1

__

EJERCICIO 10

Operaciones con vectores lógicos

  1. Creamos el vector
vec7 <- c(7, 14, 3, 8, 15, 1, 6, 10)
  1. Agregamos la condición
vf <- vec7>5
  1. Se muestra el resultado
vf
## [1]  TRUE  TRUE FALSE  TRUE  TRUE FALSE  TRUE  TRUE

__

EJERCICIO 11

Subsetting Avanzado

  1. Creamos el vector
vec8 <- c(11, 2, 19, 8, 5, 12, 3, 7)
f1 <- vec8[vec8 %%3==0]
f1 ###Muestra el resultado 
## [1] 12  3

__

EJERCICIO 12

Funciones de Aplicación

  1. Se crea el vector
vec9 <- c(2, 4, 6, 8, 10, 12, 14, 16) 
vec9_sqrt <- sqrt(vec9)
  1. Resultado
vec9_sqrt
## [1] 1.414214 2.000000 2.449490 2.828427 3.162278 3.464102 3.741657 4.000000

__

EJERCICIO 13

Concatenación de Vectores

  1. Crear los vectores vec10 y vec11
vec10 <- c(1, 2, 3, 4)
vec11 <- c(5, 6, 7, 8)
vec12 <- c(vec10, vec11)
#Se muestra el resultado
vec12
## [1] 1 2 3 4 5 6 7 8

__

EJERCICIO 14

Eliminación de Elementos

  1. Vector con valores del 1 al 10
vec <- 1:10

vec <- vec[-c(4, 7)]
##RESULTADO
vec
## [1]  1  2  3  5  6  8  9 10