UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS ECONÓMICAS

INGENIERÍA EN ESTADÍSTICA

AUTORES:

*JOHANNA AGUILAR

*JOSE BAÑO

*SAYRI MENDOZA

*JAIME PAREDES

FECHA DE PUBLICACIÓN: 2023-06-11

TALLER N#5

EJERCICIOS CON VECTORES EN R

EJERCICIO 1

Calcula los valores numéricos aproximados de:

Parte 1

\[\frac{0.3*0.15}{0.3*0.15+0.2*0.8+0.5*0.12}\] * Para la primera operación, se utilizarán operaciones básicas como suma, resta, multiplicación y división.

ej1 <- (0.3*0.15)/(0.3*0.15+0.2*0.8+0.5*0.12)
ej1
## [1] 0.1698113

Parte 2

\[\frac{5^6}{6!}e^{-5}\] * La segunda operación requiere de más funciones matemáticas como la exponencial y el factorial.

ej2 <- ((5^6)/factorial(6))*exp(1)^-5
ej2
## [1] 0.1462228

Parte 3

\[{20\choose 7} 0.4^{7} 0.6^{13} \] $$$$ * Para resolver el tecer problema, es necesaria la utilización de la siguiente fórmula:

a1 <- 20
a2 <- 7
p1 <- factorial(a1)/(factorial(a2)*factorial(a1-a2))
p1
## [1] 77520
p2 <- (0.4^7)*(0.6^13)
p2
## [1] 2.139864e-06
t<-p1*p2
t
## [1] 0.1658823

EJERCICIO 2

Parte 1

Realiza las siguientes sumas:

1+2+3+⋯+10001+2+3+⋯1000

sol: 500500500500

Para la parte 1, se crean dos vectores con una misma longitud y componentes, para después sumarlos.

v1 <- 1:1000
v1 <- sum(v1)
v2 <- 1:1000
v2 <- sum(v2)
t <- c(v1,v2)
t
## [1] 500500 500500

Parte 2

1+2+4+6+8+16+…+10241+2+4+6+8+16+…+1024

Sol.: 2047 2047

En cuanto en la parte 2, se requiere de la función while, la cual nos dará la opción de colocar una condición, en este caso:

v3 <- 1
v4 <- 0
while(v3<=1024){
  v4=v4+v3
  v3=v3*2
}
print(v4)
## [1] 2047
v5<-c(v4,v4)
v5
## [1] 2047 2047

EJERCICIO 3

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

Crear el vector alumnos con 20 nombres

1.- Visualízalo en pantalla

Esto se realiza mediante la asignación de una variable.

nomb <- c("PAULA","PABLO","DILAN","DAVID","PEDRO","SOFIA","SARA","MIGUEL",
             "CARLA","DANIELA","LUIS","JONATHAN","PAMELA","CARLOS","FATIMA",
             "ALEJANDRO","SEBASTIAN","MARIA","JUAN","RAQUEL")
nomb
##  [1] "PAULA"     "PABLO"     "DILAN"     "DAVID"     "PEDRO"     "SOFIA"    
##  [7] "SARA"      "MIGUEL"    "CARLA"     "DANIELA"   "LUIS"      "JONATHAN" 
## [13] "PAMELA"    "CARLOS"    "FATIMA"    "ALEJANDRO" "SEBASTIAN" "MARIA"    
## [19] "JUAN"      "RAQUEL"

2.- ¿Cuántas componentes tiene el vector alumnos?

Para este proceso, se utilizará el comando lenght.

length(nomb)
## [1] 20

3.- ¿En qué posiciones del vector alumnos está la letra ‘A’?

Para obtener la posición de algún componente del vector, se utilizará el comando grepl, el cual sirve para extraer una subcadena y, el comando which que mostrará dicha posición.

which(grepl("A", nomb))
##  [1]  1  2  3  4  6  7  9 10 12 13 14 15 16 17 18 19 20

EJERCICIO 4

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

1.- Crear el vector notas y visualízalo en pantalla

Esto se realiza mediante la asignación de una variable.

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

2.- ¿Cuántas componentes tiene?

Para este proceso, se utilizará el comando lenght.

length(notexa)
## [1] 20

3.- ¿Cuánto suman todas las notas?

Para obtener la suma de los componentes de un vector, es necesario el comando sum.

total <- sum(notexa)
total
## [1] 128

4.- ¿Cuál es la media aritmética de todas las notas?

En este literal, se utilizará la funión mean, la cual nos proporcionará el valor de la media aritmética de nuestra variable.

mediaartm <- mean(notexa)
mediaartm
## [1] 6.4

5.- ¿En qué posiciones están las notas mayores de 7?

Como se mencionó anteriormente en otro ejercicio, el comando which obtendrá la posición del elemento a buscar.

which(notexa>7)
## [1]  4  5  8  9 10 11 13 19 20

6.- Visualiza las notas ordenadas de menor a mayor

Para visualizar los componentes de un vector de forma ordenada (ascendente), se ocupará el comando sort.

sort(notexa)
##  [1]  1  2  3  4  4  4  5  5  6  7  7  8  8  8  8  9  9 10 10 10

7.- Visualiza las notas ordenadas de mayor a menor

Al igual que el anterior literal, se utilizará el comando sort, sin embargo, como el orden es decreciente, se agrega la función decreasing, lo cual nos mostrará el orden contrario.

sort(notexa, decreasing = T)
##  [1] 10 10 10  9  9  8  8  8  8  7  7  6  5  5  4  4  4  3  2  1

8.- ¿Cuál ha sido la nota máxima?

max(notexa)
## [1] 10

9.- ¿En qué posición del vector está esa nota máxima?

which(notexa==10)
## [1]  5 10 11

EJERCICIO 5

A partir de los vectores alumnos y notas definidos:

1.- Visualiza las notas de los 10 primeros alumnos

Para visualizar de mejor manera, se renombran las variables para que se muestren de manera conjunta.

a1 <- c(rbind(nomb, notexa))
a2 <- a1[1:20]
a2
##  [1] "PAULA"   "4"       "PABLO"   "6"       "DILAN"   "3"       "DAVID"  
##  [8] "8"       "PEDRO"   "10"      "SOFIA"   "7"       "SARA"    "4"      
## [15] "MIGUEL"  "8"       "CARLA"   "9"       "DANIELA" "10"

2.- Suma las notas de los 10 primeros alumnos del vector

sumnot <-sum(as.numeric(a2[seq(2,length(a2),2)])) 
sumnot
## [1] 69

3.- ¿Cuántos alumnos hay en total?

length(nomb)
## [1] 20

4.- Suma las notas de los alumnos

sumnotal <- sum(notexa[1:20])
sumnotal
## [1] 128

5.- ¿Cuántos alumnos han aprobado?

aprobados <- which(notexa>=7)
aprobados <- length(aprobados)
aprobados
## [1] 11

6.- ¿Qué porcentaje de alumnos han aprobado?

totalalumnos <- 20
porcentaje <- (aprobados/totalalumnos)*100
cat(porcentaje, "%")
## 55 %

7.- ¿Cuáles han sido las notas máxima y mínima?

cat("La nota máxima es:",max(notexa))
## La nota máxima es: 10
cat("La nota mínima es:",min(notexa))
## La nota mínima es: 1

8.- ¿De qué alumnos son la máxima y mínima notas?

f <- which(notexa==10)
cat("La nota máxima es", notexa[f], " del alumno", nomb[f])
## La nota máxima es 10 10 10  del alumno PEDRO DANIELA LUIS
g <- which(notexa==1)
cat("La nota mínima es", notexa[g], " del alumno", nomb[g])
## La nota mínima es 1  del alumno ALEJANDRO

9.- Nota media de alumnos, teniendo en cuenta sólo a los que han aprobado.

notaprobados <- notexa[notexa>=7]
notaprobados
##  [1]  8 10  7  8  9 10 10  8  7  8  9
promaprob <- mean(notaprobados)
promaprob
## [1] 8.545455