Ejercicios con Vectores en R
\[ \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 necesitos funciones matemáticas, factorial y exponencial
((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:
(factorial(20)/(factorial(7)*factorial(20-7)))*(0.4^7)*(0.6^13)
## [1] 0.1658823
\[ a. \ 1+2+3+...+1000 \ 1+2+3+...+1000 \]
a) Mediante suma de vectores
# PRIMERA FORMA:
vec1<-c(1:1000)
total1<-sum(vec1)
vec2<-c(1:1000)
total2<-sum(vec2)
cat(total1,total2)
## 500500 500500
\[ 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
Crear el vector alumnos con 20 nombres.
alumnos<-c("Juan","Paúl","Saúl","Gandy","Melany","Sofia","Mario",
"Angel","Mariana","Pepe",
"Pedro","Luis","Sofia","Melany","Juan",
"Paul","Maria","Juan","Eddy","Matias")
1. Visualízalo en pantalla.
## [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?
Se utilizará el comando lenght.
length(alumnos)
## [1] 20
3. ¿En qué posiciones del vector alumnos está la letra ‘A’?
Usaremos el comando substr, nos sirve para extraer elementos de una subcadena y el comando which nos mostrará posición.
letrA <- substr(alumnos, 1, 1)
letrA
which(letrA == "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
Crear el vector notas
notas <- c(9,9,2,17,19,10,17,6,9, 14, 15, 9, 8,4,5,9,11,15,13,5)
1. Visualízalo en pantalla.
notas
## [1] 9 9 2 17 19 10 17 6 9 14 15 9 8 4 5 9 11 15 13 5
2. ¿Cuántas componentes tiene?
El comando lenght para saber los componentes.
length(notas)
## [1] 20
3. ¿Cuánto suman todas las notas?
El comando sum, para obtener la suma.
sum(notas)
## [1] 206
4. ¿Cuál es la media aritmética de todas las notas?
El comando mean, para obtener la media aritmética.
mean(notas)
## [1] 10.3
5. ¿En qué posiciones están las notas mayores de 7?
El comando which para identificar los componentes que deseemos.
which(notas>7)
## [1] 1 2 4 5 6 7 9 10 11 12 13 16 17 18 19
6. Visualiza las notas ordenadas de menor a mayor
El comando sort , para ordenarlos de forma ascendente.
sort(notas)
## [1] 2 4 5 5 6 8 9 9 9 9 9 10 11 13 14 15 15 17 17 19
7. Visualiza las notas ordenadas de mayor a menor
El comando sort( , decreasing = TRUE), para ordenarlos de forma desscendente.
sort(notas, decreasing = TRUE)
## [1] 19 17 17 15 15 14 13 11 10 9 9 9 9 9 8 6 5 5 4 2
8. ¿Cuál ha sido la nota máxima?
El comando max, para obtener la nota máxima.
max(notas)
## [1] 19
9. ¿En qué posición del vector está esa nota máxima?
El comando which.max( ), para identificarlo.
which.max(notas)
## [1] 5
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
## 9 9 2 17 19 10 17 6 9 14
2. Suma las notas de los 10 primeros alumnos del vector
sum(notas[c(1:10)])
## [1] 112
3. ¿Cuántos alumnos hay en total?
length(alumnos)
## [1] 20
4. Suma las notas de los alumnos
sum(notas)
## [1] 206
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.
k <- length(notas)
j <- 1
cont <- 0
cont1 <- 0
aprobados <- 1:k
for(i in 1:k){
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 Aprobado Aprobado Reprobado Aprobado Reprobado
## "Nataly" "Nicole" "Salome" "Gandy" "Estefy" "Gaby" "Majo" "David"
## Reprobado Aprobado Aprobado Reprobado Reprobado Reprobado Reprobado Reprobado
## "Renato" "Jossue" "Jordan" "Sydnee" "Luis" "Andrea" "Mykael" "Marian"
## Reprobado Aprobado Reprobado Reprobado
## "Danae" "Gabriel" "Jose" "Juan"
## Aprobaron en total 6 alumnos.
6. ¿Qué porcentaje de alumnos han aprobado?
porcent <- (cont*100)/k
## Aprobó el 30 % del total de alumnos.
7. ¿Cuáles han sido las notas máxima y mínima?
maxxx <-max(notas)
minnn <-min(notas)
## La nota máxima es de: 19
## La nota mínima es de: 2
8. ¿De qué alumnos son la máxima y mínima notas?
## La mayor nota es de Jose con una calificación de 19
## La menor nota es de Nicole con una calificación de 2
9. Nota media de alumnos, teniendo encuenta sólo a los que han aprobado.
k <- length(notas)
cont <- 0
sum <- 0
for(i in 1:k){
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: 16.16667