UNIVERSIDAD CENTRAL DEL ECUADOR

FACULTAD DE CIENCIAS ECONÓMICAS

INGENIERIA EN ESTADÍSTICA

GRUPO 2

APLICANDO LOS CONOCIMIENTOS DE RSTUDIO

En este documento se presentan los ejercicios resuletos del taller #5 haciendo uso de rmarkdown

AUTORES

COLABORACIÓN

-TALLER 5: EJERCICIOS -

Primeras funciones importantes de R:

1.ls() sin argumentos, da el vector de nombres de variables definidas.

2.a:b crea vector de enteros consecutivos, de a a b.

3.c(…) da un vector con los argumentos … concatenados.

4.length(x) da la longitud del vector argumento x.

5.sum(…) SUMa las componentes de los argumentos.

6.prod(…) PRODucto de las componentes de los argumentos.

7.sort(x) da el vector argumento x reordenado de manera creciente.

8.sort(x,decreasing=TRUE) lo mismo (pero decreciente).

9.min(…) da el valor MÍNimo de los argumentos.

10.max(…) da el valor MÁXimo de los argumentos.

which(x) da el vector de “posiciones” donde x es TRUE. El argumento suele ser una comparación.

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

EJERCICIO 1

\[ \frac{0,3.0,15}{0,3.0,15+0,2.0,8+0,5.0,12}\]

#                                  
# Para el primer ejercicio se resolverán las siguientes
# multiplicaciones y divisiones que se encuentran en una fracción.

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

\[ \frac{5^6}{6!}e^-5\]

#EJERCICIO 1.2
# b=5^6/6! e^(-5)
ejercicio2 <- ((5^6)/(factorial(6)))*exp(-5)
ejercicio2                       
## [1] 0.1462228

\[ \left(\begin{array}{ccc} 20\\ 7 \end{array}\right)0,4^7.0,6^{13} \]

#EJERCICIO 1.3
ejercicio3 <- ((factorial(20))/(factorial(7)*factorial(20-7))*(0.4^7)*(0.6^(13)))
ejercicio3  
## [1] 0.1658823
EJERCICIO 2

-En este literal se procederá a realizar dos tipos de sumas, cada una con una consideración especial. -

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

# Pasos:
#  Para poder realizar esta operación necesitamos
#  instalarnos las siguientes librerías.

#   EJERCICIO N2 : SUMA 1
#library(stringr)
vec1 <- (1:1000)
vec2 <- (1:1000)
op1 <- sum(vec1)
op2 <- sum(vec2)
str_<-c(op1,op2)

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

#   EJERCICIO N2 : SUMA 2

a1<-1
n<-11
r<-2
x<-a1 * (r^n - 1) / (r - 1)
x
## [1] 2047
## [1] 2047
str_<-c(x,x)
EJERCICIO 3

crear el vector alumnos con 20 nombres

#   VECTOR ALUMNOS
alumnos <- c("Alexandra", "Ricardo",
             "Gabriela", "Joaquín", "Samantha", "Doris", "Juan", 
             "José", "Esteban", "Michelle", "Brenda", "Génesis", 
             "Emily", "Kevin", "Dennis", "Melanie", "Samuel", "Dámaris",
             "Daniel", "Betty")
alumnos
##  [1] "Alexandra" "Ricardo"   "Gabriela"  "Joaquín"   "Samantha"  "Doris"    
##  [7] "Juan"      "José"      "Esteban"   "Michelle"  "Brenda"    "Génesis"  
## [13] "Emily"     "Kevin"     "Dennis"    "Melanie"   "Samuel"    "Dámaris"  
## [19] "Daniel"    "Betty"
#EJERCICIO 3.2 
#    Se necesita conocer el número de componentes del vector alumnos,
#    para lo cual utilizaremos la función length que obtiene o establece 
#    la longitud de los vectores.
length(alumnos)
## [1] 20
#EJERCICIO 3.3 
#    Utilizando el vector alumnos se desea conocer las posiciones en las
#    que se encuentra la letra “A”, para lo cual lo haremos de la siguiente
#    manera.
#install.packages("htmlwidgets")
library(stringr)
#library(htmlwidgets)
str_detect(alumnos, "(a|á|A)")
##  [1]  TRUE  TRUE  TRUE  TRUE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE
## [13] FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE FALSE
str_view_all(alumnos, "(a|á|A)")
## Warning: `str_view()` was deprecated in stringr 1.5.0.
## ℹ Please use `str_view_all()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
##  [1] │ <A>lex<a>ndr<a>
##  [2] │ Ric<a>rdo
##  [3] │ G<a>briel<a>
##  [4] │ Jo<a>quín
##  [5] │ S<a>m<a>nth<a>
##  [6] │ Doris
##  [7] │ Ju<a>n
##  [8] │ José
##  [9] │ Esteb<a>n
## [10] │ Michelle
## [11] │ Brend<a>
## [12] │ Génesis
## [13] │ Emily
## [14] │ Kevin
## [15] │ Dennis
## [16] │ Mel<a>nie
## [17] │ S<a>muel
## [18] │ D<á>m<a>ris
## [19] │ D<a>niel
## [20] │ Betty
# Me demuestra las posiciones del vector con el objeto a encontrar
str_locate(alumnos,"(a|á|A)")
##       start end
##  [1,]     1   1
##  [2,]     4   4
##  [3,]     2   2
##  [4,]     3   3
##  [5,]     2   2
##  [6,]    NA  NA
##  [7,]     3   3
##  [8,]    NA  NA
##  [9,]     6   6
## [10,]    NA  NA
## [11,]     6   6
## [12,]    NA  NA
## [13,]    NA  NA
## [14,]    NA  NA
## [15,]    NA  NA
## [16,]     4   4
## [17,]     2   2
## [18,]     2   2
## [19,]     2   2
## [20,]    NA  NA
EJERCICIO 4

Para el presente ejercicio se solicita que cree un vector llamado notas el cuál contendrá la misma longitud que el vector alumnos, puesto que las notas ingresadas corresponderán a dichosestudiantes.

#                           
#VECTOR NOTAS

#EJERCICIO 4.1
notas <- c(9.5, 6.8, 10, 6.7, 7.8, 6.2, 7,
           8.35, 8, 6.99, 
           7.45, 7.65, 5, 6, 7.23, 
           8.32, 8, 9, 10, 5.65)

#EJERCICIO 4.2 
#    Se necesita conocer el número de componentes del vector alumnos,
#    para lo cual utilizaremos la función length que obtiene o establece 
#    la longitud de los vectores.
length(notas)
## [1] 20
#EJERCICIO 4.3 
#   se  desea conocer la suma de las calificaciones
#   que ingresó, para 
#   realizar utilizará función sum.
suma_notas <- sum(notas)
suma_notas
## [1] 151.64
#EJERCICIO 4.4 
# Se solicita que indique cuál es la media
#  aritmética obtenida por el curso motivo por el cual el docente
#  se ayuda de la función mean.
med_art <- mean(notas)
med_art
## [1] 7.582
#EJERCICIO 4.5 
#  Se quiere saber en qué posiciones están las notas mayores de 7
which(notas >= 7, notas)
##  [1]  1  3  5  7  8  9 11 12 15 16 17 18 19
#EJERCICIO 4.6 
#VVisualiza las notas ordenadas de menor a mayor

notas_menor_mayor <- sort(notas)
notas_menor_mayor
##  [1]  5.00  5.65  6.00  6.20  6.70  6.80  6.99  7.00  7.23  7.45  7.65  7.80
## [13]  8.00  8.00  8.32  8.35  9.00  9.50 10.00 10.00
# EJERCICIO 4.7 
#Visualiza las notas ordenadas de mayor a menor
notas_mayor_menor <- sort(notas, decreasing = T)
notas_mayor_menor
##  [1] 10.00 10.00  9.50  9.00  8.35  8.32  8.00  8.00  7.80  7.65  7.45  7.23
## [13]  7.00  6.99  6.80  6.70  6.20  6.00  5.65  5.00
# EJERCICIO 4.8 
#¿Cuál ha sido la nota máxima? 
#Antes de comunicar las notas obtenidas se desea saber la nota máxima
#obtenida por sus alumnos y aplica la función max.
nota_max <- max(notas)
nota_max
## [1] 10
# EJERCICIO 4.9 
#¿En qué posición del vector está esa nota máxima?
notasmax1z<-which(notas>=10)
notasmax1z
## [1]  3 19
Ejercico 5

En este ejercicio se realizarán algunas operaciones con los dos vectores previamente creados en ejercicios con anterioridad.

#EJERCICIO 5.1 
#   Se requiere visualizar las notas de los 10 primeros alumnos y
#   se aplican las siguientes condiciones y para una mejor visualización
#   se crea una tabla.
op3 <- notas[c(1:10)]
op3
##  [1]  9.50  6.80 10.00  6.70  7.80  6.20  7.00  8.35  8.00  6.99
op4 <- alumnos[c(1:10)]
op4
##  [1] "Alexandra" "Ricardo"   "Gabriela"  "Joaquín"   "Samantha"  "Doris"    
##  [7] "Juan"      "José"      "Esteban"   "Michelle"
op5 <- data.frame(alumnos, notas)
op5
##      alumnos notas
## 1  Alexandra  9.50
## 2    Ricardo  6.80
## 3   Gabriela 10.00
## 4    Joaquín  6.70
## 5   Samantha  7.80
## 6      Doris  6.20
## 7       Juan  7.00
## 8       José  8.35
## 9    Esteban  8.00
## 10  Michelle  6.99
## 11    Brenda  7.45
## 12   Génesis  7.65
## 13     Emily  5.00
## 14     Kevin  6.00
## 15    Dennis  7.23
## 16   Melanie  8.32
## 17    Samuel  8.00
## 18   Dámaris  9.00
## 19    Daniel 10.00
## 20     Betty  5.65
#EJERCICIO 5.2 
# Una vez obtenidas las notas de los 10 primeros alumnos
# se desea conocer la suma de las mismas que están un nuevo vector
sum(op3)
## [1] 77.34
#EJERCICIO 5.3 
#   Se necesita corroborar la información proporcionada 
#   de cuántos alumnos cursan la asignatura de programación, 
#   para esto se consulta mediante la siguiente función.
total_alumnos <- length(alumnos)
total_alumnos
## [1] 20
#EJERCICIO 5.4 
#   Se desea conocer la suma de las notas de los alumnos antes
#   mencionados y se procede a utilizar la función sum.
suma_notas <- sum(notas)
suma_notas
## [1] 151.64
#EJERCICIO 5.5
#¿Cuántos alumnos han aprobado la asignatura?. 

aprob <-(notas >= 7)
aprob
##  [1]  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE  TRUE  TRUE FALSE  TRUE  TRUE
## [13] FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE FALSE
data.frame(aprob,alumnos)
##    aprob   alumnos
## 1   TRUE Alexandra
## 2  FALSE   Ricardo
## 3   TRUE  Gabriela
## 4  FALSE   Joaquín
## 5   TRUE  Samantha
## 6  FALSE     Doris
## 7   TRUE      Juan
## 8   TRUE      José
## 9   TRUE   Esteban
## 10 FALSE  Michelle
## 11  TRUE    Brenda
## 12  TRUE   Génesis
## 13 FALSE     Emily
## 14 FALSE     Kevin
## 15  TRUE    Dennis
## 16  TRUE   Melanie
## 17  TRUE    Samuel
## 18  TRUE   Dámaris
## 19  TRUE    Daniel
## 20 FALSE     Betty
aprob <- sum(notas >= 7)
aprob
## [1] 13
#EJERCICIO 5.6 
#De los alumnos que cursaron la asignatura. ¿Qué porcentaje de alumnos aprobó la misma?
  porcent_aprob <- (aprob*100)/20
cat("El porcentaje de alumnos aprobados es: ",porcent_aprob, "%")
## El porcentaje de alumnos aprobados es:  65 %
# EJERCICIO 5.7 
#    ¿Cuáles han sido las notas máximas y mínimas obtenidas por 
#    los alumnos en la asignatura de programación?

# nota mínima  
nota_min <- min(notas)
nota_min
## [1] 5
# nota máxima
nota_max<-max(notas)
nota_max
## [1] 10
# se visualiza en un data frame
notas_max_min<-data.frame(nota_max,nota_min)
notas_max_min
##   nota_max nota_min
## 1       10        5
#EJERCICIO 5.8 
#¿De qué alumnos son las máximas y las mínimas notas?
# Para ello haremos uso del dataframe creado para obtener el resultado.
op5[op5$notas==max(notas), ];op5[op5$notas==min(notas), ]
##     alumnos notas
## 3  Gabriela    10
## 19   Daniel    10
##    alumnos notas
## 13   Emily     5
  #EJERCICIO 5.9 
  #  Cuál es la media de los alumnos, teniendo en cuenta
  #  sólo a los que han aprobado
  #  Se crea una funcion que contengan las notas mayores a 7 que es la 
  #  nota mínima para obtener aprobación en la asignatura.
med_aprob <- (notas[notas >= 7]); med_aprob
##  [1]  9.50 10.00  7.80  7.00  8.35  8.00  7.45  7.65  7.23  8.32  8.00  9.00
## [13] 10.00
total_aprob <- mean(med_aprob); total_aprob
## [1] 8.330769