UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS ECONÓMICAS

INGENIERÍA EN ESTADÍSTICA

GRUPO 5

Autores: Nicole Bauz, Natali Caizaguano, Anahi Chamba, Gandy Churta

Fecha de Publicación: 18/12/2022

Docente: Ing. Francisco Valverde PhD

Ejercicios con Vectores en R

Primeras funciones importantes de R:

Las siguientes funciones/operadores actúan componente por componente, devolviendo otro vector de igual tamaño:

EJERCICIO 1

Calcula los valores aproximados de:

\[ \frac{0.3*0.15}{0.3*0.15+0.2*0.8+0.5*0.12}, \frac{5^6}{6!}e^-5, \left(\begin{array}{c} {20}\\ {7} \end{array}\right)0.4^70.6^{13} \] a. Para la primera operación, se utilizarán operaciones básicas como suma, resta, multiplicación y división.

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

b. La segunda operación requiere de más funciones matemáticas como la exponencial y el factorial.

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

c. En ese punto utilizaremos la fórmula del coeficiente binomial,que esta dado por la formula:

\[ \left(\begin{array}{c} {n}\\ {k} \end{array}\right) = \frac {n!}{k!(n-k)!} \]

(factorial(20)/(factorial(7)*factorial(20-7)))*(0.4^7)*(0.6^13)
## [1] 0.1658823

EJERCICIO 2

Realiza las siguientes sumas:

\[ a. \ 1+2+3+...+1000 \ 1+2+3+...+1000 \]

a) Para el literal a), hallamos la solución de tres formas:

# PRIMERA FORMA:
  vec1<-c(1:1000)
  total1<-sum(vec1)
  vec2<-c(1:1000)
  total2<-sum(vec2)
  cat(total1,total2)
## 500500 500500
# SEGUNDA FORMA:
  x<-0
  y<-0
  for(i in 1:1000)
  {
  x<-x+(y+i)
  }
  cat(x,x)
## 500500 500500
# TERCERA FORMA:
  vector<-c(1:1000)
  vector<-c(vector*500000.5)
  suma<-sum(vector+vector)
  suma
## [1] 500500500500

\[ b. \ 1+2+4+8+16+...+1024 \ 1+2+4+8+16+...+1024 \]

b) Para el literal b), hallamos la solución de tres formas:

# PRIMERA FORMA:
v1<-c(0:10)
k<-c(2^v1)
total<-sum(k)
cat(total,total)
## 2047 2047
# SEGUNDA FORMA:
  x<-0
y<-2

for(i in 0:10)
{
  x<-x+(y^i)
}  
print(x)
cat(x,x)
## [1] 2047
## 2047 2047
# TERCERA FORMA:
v1<-c(0:10)
v2<-c(2^v1)
k<-sum(v2)
vec2<-c(k*10001)
vec2
## [1] 20472047

EJERCICIO 3

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

Crear el vector alumnos con 20 nombres.

alumnos<-c("Nataly","Nicole","Salome","Gandy",
          "Estefy","Gaby","Majo","David","Renato","Jossue",
          "Jordan","Sydnee","Luis","Andrea","Mykael","Marian",
          "Danae","Gabriel","Jose","Juan")

1. Visualízalo en pantalla.

alumnos
##  [1] "Nataly"  "Nicole"  "Salome"  "Gandy"   "Estefy"  "Gaby"    "Majo"   
##  [8] "David"   "Renato"  "Jossue"  "Jordan"  "Sydnee"  "Luis"    "Andrea" 
## [15] "Mykael"  "Marian"  "Danae"   "Gabriel" "Jose"    "Juan"

2. ¿Cuántos componentes tiene el vector alumnos?

Para este proceso, se utilizará el comando lenght.

length(alumnos)
## [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 substr, el cual sirve para extraer una subcadena y, el comando which que mostrará dicha posición.

letraA <- substr(alumnos, 1, 1)
letraA

which(letraA == "A")
##  [1] "N" "N" "S" "G" "E" "G" "M" "D" "R" "J" "J" "S" "L" "A" "M" "M" "D" "G" "J"
## [20] "J"
## [1] 14

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.

Crear el vector notas

notas <-  c(7,9,2,4,6,3,10,6,10, 14, 12, 2, 16,4,5,6,7,8,9,9)

1. Visualízalo en pantalla.

notas
##  [1]  7  9  2  4  6  3 10  6 10 14 12  2 16  4  5  6  7  8  9  9

2. ¿Cuántas componentes tiene?

Para este proceso, se utilizará el comando lenght.

length(notas)
## [1] 20

3. ¿Cuánto suman todas las notas?

Para este proceso, se utilizará el comando sum.

sum(notas)
## [1] 149

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

Para este proceso, se utilizará el comando mean.

mean(notas)
## [1] 7.45

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

Para este proceso, se utilizará el comando which.

which(notas>7)
## [1]  2  7  9 10 11 13 18 19 20

6. Visualiza las notas ordenadas de menor a mayor

Para este proceso, se utilizará el comando sort.

sort(notas)
##  [1]  2  2  3  4  4  5  6  6  6  7  7  8  9  9  9 10 10 12 14 16

7. Visualiza las notas ordenadas de mayor a menor

Para este proceso, se utilizará el comando sort( , decreasing = TRUE).

sort(notas, decreasing = TRUE)
##  [1] 16 14 12 10 10  9  9  9  8  7  7  6  6  6  5  4  4  3  2  2

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

Para este proceso, se utilizará el comando max.

max(notas)
## [1] 16

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

Para este proceso, se utilizará el comando which.max( ).

which.max(notas)
## [1] 13

EJERCICIO 5

A partir de los vectores alumnos y notas definidos:

1. Visualiza las notas de los 10 primeros alumnos

names(notas)<-alumnos
notas[c(1:10)]
## Nataly Nicole Salome  Gandy Estefy   Gaby   Majo  David Renato Jossue 
##      7      9      2      4      6      3     10      6     10     14

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

sum(notas[c(1:10)])
## [1] 71

3. ¿Cuántos alumnos hay en total?

length(alumnos)
## [1] 20

4. Suma las notas de los alumnos

sum(notas)
## [1] 149

5. ¿Cuántos alumnos han aprobado?

Para obtener el total de alumnos que aprobaron, se deben inicializar diversas variables que realizarán el respectivo conteo, además, se usará el comando condicional for, el mismo que permitirá la división entre los aprobados y reprobados.

a <- length(notas)
j <- 1
cont <- 0
cont1 <- 0

aprobados <- 1:a

for(i in 1:a){
  if(notas[i] >= 14){
    aprobados[j] <- "Aprobado" 
    cont<-cont+1
  }else{
    aprobados[j] <- "Reprobado" 
    cont1<-cont1+1
  }
  j <- j+1
}
aprobados

names(alumnos) <- aprobados
alumnos
## Reprobado Reprobado Reprobado Reprobado Reprobado Reprobado Reprobado Reprobado 
##  "Nataly"  "Nicole"  "Salome"   "Gandy"  "Estefy"    "Gaby"    "Majo"   "David" 
## Reprobado  Aprobado Reprobado Reprobado  Aprobado Reprobado Reprobado Reprobado 
##  "Renato"  "Jossue"  "Jordan"  "Sydnee"    "Luis"  "Andrea"  "Mykael"  "Marian" 
## Reprobado Reprobado Reprobado Reprobado 
##   "Danae" "Gabriel"    "Jose"    "Juan" 
## Aprobaron en total 2 alumnos.

6. ¿Qué porcentaje de alumnos han aprobado?

porcent <- (cont*100)/a
## Aprobó el  10 % del total de alumnos.

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

mx <-max(notas)

mn <-min(notas)
## La nota máxima es de: 16
## La nota mínima es de: 2

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

nm <- which(notas >= 20)

nmn <- which(notas <= 2)
## La mayor nota es de  con una calificación de
## La menor nota es de Salome Sydnee con una calificación de 2 2

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

a <- length(notas)
cont <- 0
sum <- 0

for(i in 1:a){
  if(notas[i] >= 14){
    cont <- cont+1
    sum <- sum+notas[i]
  } 
}

media <- sum/cont
## La nota media de los alumnos que han aprobado es de: 15