TALLER 5
1.Calcule el valor aproximado del siguiente ejercicio:
\[\frac{0.3 \cdot 0.15}{0.3 \cdot 0.15 + 0.2 \cdot 0.8 + 0.5 \cdot 0.12} \]
Resolución:
a<- 0.3 * 0.15
b <- ((0.3 * 0.15) + (0.2 * 0.8) + (0.5 * 0.12))
resultado<- a / b
cat("El resultado es: ", resultado)
## El resultado es: 0.1698113
2.Calcule el valor aproximado del siguiente ejercicio:
\[ \frac{5^6}{6!} e^{-5}\]
Resolución:
r <- (5^6 / factorial(6)) * exp(-5)
cat("El resultado es: ", r)
## El resultado es: 0.1462228
3.Calcule el valor aproximado del siguiente ejercicio:
\[ \binom{20}{7} \cdot 0.4^7 \cdot 0.6^{13} \] Resolución:
N <- 20
n <- 7
re <- (factorial(N)/(factorial(n)*(factorial(N-n))))* (0.4^7)*(0.6^13)
cat("El resultado es: ", re)
## El resultado es: 0.1658823
El vector alumnos representa los nombres de una serie de alumnos.
Crear el vector alumnos con 20 nombres
Primero creamos el vector con “c( )” y lo asignamos a una variable
alumnos <- c("Juan","Pedro","Ana","Mathias","Jose","Pepe","Nihga","Sebastián",
"Josue","Said","Andrés","Salomé","Gabriel","Sara","Vivian","Camila",
"Anabel","Sofía","Iveth","Devora")
Una vez creada la variable la visualizamos
alumnos
## [1] "Juan" "Pedro" "Ana" "Mathias" "Jose" "Pepe"
## [7] "Nihga" "Sebastián" "Josue" "Said" "Andrés" "Salomé"
## [13] "Gabriel" "Sara" "Vivian" "Camila" "Anabel" "Sofía"
## [19] "Iveth" "Devora"
Para esto, utilizamos la función “length( )” la cual indica el número de elementos de un vector.
Para saber el número de elementos que tiene el vector, ingresamos el nombre de la varibale en la función “length(alumnos)”
comp <- length(alumnos)
cat("El vector tiene", comp, "componentes")
## El vector tiene 20 componentes
Para saber la posición de un elemento en un vector utilizamos la función “whitch ( ) pero además necesitamos saber que elementos del vector empiezan con la letra”A” tenemos que agregar una función “str_ detect( )”, para esta segunda funcion hay que instalar el paquete string “install.packages(”stringr”)”
library(stringr)
posiciones <- which(str_detect(alumnos,"A"))
cat("El vector tiene nombres con A en las posiciones", posiciones)
## El vector tiene nombres con A en las posiciones 3 11 17
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.
Creamos el vector notas
notas <- round(runif(20,1,10),0)
# Round ( ), función que redondea los decimales, en este caso el "0" indica cero decimales
notas
## [1] 4 7 8 6 2 5 5 5 6 1 9 5 2 4 5 7 6 2 4 2
Usamos la función “length( )”
compnots <- length(notas)
cat("El vector tiene", compnots, "componentes")
## El vector tiene 20 componentes
Para sumar los elementos numéricos de un vector usamos la función “sum( )”
sumnotas <- sum(notas)
cat("La suma de todas las notas da como resultado:", sumnotas)
## La suma de todas las notas da como resultado: 95
Para saber la media artimética utilizamos la función “mean( )”
medianotas <- round(mean(notas),2)
cat("La media aritmetica de las notas es de:", medianotas)
## La media aritmetica de las notas es de: 4.75
Para saber las posiciones de un vector con una condicion utilizamos el siguiente formato: which(notas > 7)
posinotas <- which(notas > 7)
cat("Las notas mayores a 7 se encuentran en las posiciones:", posinotas)
## Las notas mayores a 7 se encuentran en las posiciones: 3 11
Para ordenar elementos numéricos de un vector utilizamos la función:
sort(x) da el vector argumento x reordenado de manera creciente.
sort(x,decreasing=TRUE) lo mismo (pero decreciente).
men_may <- sort(notas)
men_may
## [1] 1 2 2 2 2 4 4 4 5 5 5 5 5 6 6 6 7 7 8 9
may_men <- sort(notas,decreasing = TRUE)
may_men
## [1] 9 8 7 7 6 6 6 5 5 5 5 5 4 4 4 2 2 2 2 1
Para saber los números máximos o mas altos de un vector utilizamos:
max( )
notmax <- max(notas)
cat("La nota máxima es:", notmax)
## La nota máxima es: 9
posmaxnot <- which(notas==notmax)
cat("La nota mas alta se encuentra en la posicion",posmaxnot)
## La nota mas alta se encuentra en la posicion 11
Con los datos ya registrados hacer:
notas10 <- notas[1:10]
print("Notas de los 10 primeros alumnos:")
## [1] "Notas de los 10 primeros alumnos:"
print(notas10)
## [1] 4 7 8 6 2 5 5 5 6 1
suma10p <- sum(notas10)
print("Suma de las notas de los 10 primeros alumnos:")
## [1] "Suma de las notas de los 10 primeros alumnos:"
print(suma10p)
## [1] 49
aprobados <- notas >= 7
cantaprobados <- sum(aprobados)
print("Cantidad de alumnos que han aprobado:")
## [1] "Cantidad de alumnos que han aprobado:"
print(cantaprobados)
## [1] 4
totalumnos <- length(alumnos)
porcentajeap <- (cantaprobados / totalumnos) * 100
print("Porcentaje de alumnos que han aprobado:")
## [1] "Porcentaje de alumnos que han aprobado:"
cat(porcentajeap,"%")
## 20 %
maxima <- max(notas)
minima <- min(notas)
print("Nota máxima:")
## [1] "Nota máxima:"
print(maxima)
## [1] 9
print("Nota mínima:")
## [1] "Nota mínima:"
print(minima)
## [1] 1
alumnosmaxima <- alumnos[notas == maxima]
alumnosminima <- alumnos[notas == minima]
print("Alumnos con la nota máxima:")
## [1] "Alumnos con la nota máxima:"
print(alumnosmaxima)
## [1] "Andrés"
print("Alumnos con la nota mínima:")
## [1] "Alumnos con la nota mínima:"
print(alumnosminima)
## [1] "Said"
media <- mean(notas[aprobados])
print("Nota media de los alumnos aprobados:")
## [1] "Nota media de los alumnos aprobados:"
print(media)
## [1] 7.75
vec1 <- 1:10
vec1
## [1] 1 2 3 4 5 6 7 8 9 10
tercer <- vec1[3]
sexto <- vec1[6]
cat("El tercer elemento extraido es:", tercer , "\n")
## El tercer elemento extraido es: 3
cat("El sexto elemento extraido es:", sexto , "\n")
## El sexto elemento extraido es: 6
vec1[5] <- 99
print(vec1)
## [1] 1 2 3 4 99 6 7 8 9 10
vec2 <- sample(1:20, 5, T)
vec2
## [1] 11 12 9 10 3
vec3 <- sample(1:20, 5, T)
vec3
## [1] 7 19 8 11 4
vecres1 <- sum(vec2, vec3)
vecres2 <- prod(vec2, vec3)
Visualización o impresión de los resultados:
cat("El primer vector aleatorio es: ",vec2)
## El primer vector aleatorio es: 11 12 9 10 3
cat("El segundo vector aleatorio es: ",vec3)
## El segundo vector aleatorio es: 7 19 8 11 4
cat("La suma de los vectores aleatorios es:",vecres1)
## La suma de los vectores aleatorios es: 94
cat("La multiplicación de los vectores aleatorios es:",vecres2)
## La multiplicación de los vectores aleatorios es: 1668522240
vec4 <- c(3, 5, 7, 2, 8, 10, 4, 6)
vec4
## [1] 3 5 7 2 8 10 4 6
media <- mean(vec4)
mediana <- median(vec4)
desviacion_estandar<- sd(vec4)
cat("La media del vector llamado vec4 es:", media, "\n")
## La media del vector llamado vec4 es: 5.625
cat("La mediana del vector llamado vec4 es:", mediana, "\n")
## La mediana del vector llamado vec4 es: 5.5
cat("La desviación estándar del vector llamado vec4 es:", desviacion_estandar, "\n")
## La desviación estándar del vector llamado vec4 es: 2.66927
vec5 <- round(runif(10,1,20),0)
vec5
## [1] 17 19 18 18 13 13 4 2 12 6
vec5may <- vec5[vec5>10]
cat("Los numeros mayores a 10 son:", vec5may)
## Los numeros mayores a 10 son: 17 19 18 18 13 13 12
vec6 <- c(12, 5, 13, 9, 2, 8, 10, 1)
vec6
## [1] 12 5 13 9 2 8 10 1
vec6_asc <- sort(vec6)
cat("El vector ordenado de forma ascendente: ",vec6_asc)
## El vector ordenado de forma ascendente: 1 2 5 8 9 10 12 13
vec6_des <- sort(vec6, decreasing = TRUE)
cat("El vector ordenado de forma descendiente: ", vec6_des)
## El vector ordenado de forma descendiente: 13 12 10 9 8 5 2 1
vec7 <- c(7, 14, 3, 8, 15, 1, 6, 10)
vec7
## [1] 7 14 3 8 15 1 6 10
vec7_n <- vec7 > 5
cat(vec7_n)
## TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE
vec8 <- c(11, 2, 19, 8, 5, 12, 3, 7)
vec8_c <- vec8[vec8 %% 3 == 0]
Impresión de los resultados:
cat("El vector original es: ")
## El vector original es:
vec8
## [1] 11 2 19 8 5 12 3 7
cat("Los elementos del vector que son múltiplos de 3 son:")
## Los elementos del vector que son múltiplos de 3 son:
vec8_c
## [1] 12 3
vec9 <- c(2, 4, 6, 8, 10, 12, 14, 16)
vec9
## [1] 2 4 6 8 10 12 14 16
vec9_raiz <- round(sqrt(vec9),4)
cat("La raíz cuadrada de cada elemento del vector es: ",vec9_raiz)
## La raíz cuadrada de cada elemento del vector es: 1.4142 2 2.4495 2.8284 3.1623 3.4641 3.7417 4
vec10 <- c(6, 5, 3, 0)
vec10
## [1] 6 5 3 0
vec11 <- c(21, 111, 8, 4)
vec11
## [1] 21 111 8 4
vec12 <- c(vec10, vec11)
cat("El vector concatenado es el siguiente:", vec12)
## El vector concatenado es el siguiente: 6 5 3 0 21 111 8 4
vec13 <- c(1:10)
vec13
## [1] 1 2 3 4 5 6 7 8 9 10
vec13_n <- vec13[-c(4,7)]
cat("El nuevo vector al eliminar los elementos: ", vec13_n)
## El nuevo vector al eliminar los elementos: 1 2 3 5 6 8 9 10