En el presente informe podrá encontrar 5 diferentes ejercicios que requieren la utilización de vectores y fueron elaborados en el programa RStudio, cada uno con su respectivo planteamiento del problema y resultados.
Calcula los valores numéricos aproximados de los siguientes problemas:
\[ =\frac{0.3*0.15}{0.3*0.15+0.2*0.8+0.5*0.12}\] Paso 1: Para resolver el primer problema vamos a crear una variable x en donde realizaremos el problema.
x <- (0.3*0.15)/((0.3*0.15)+(0.2*0.8)+(0.5*0.12))
Paso 2: Una vez asignado la variable simplemente presentaremos el resultado.
## [1] 0.1698113
\[=\frac{5^6}{6!}*e^{-5}\] Paso 1: Asignamos una variable y donde realizamos el problema, para esto, ocuparemos las funciones factorial y exp.
y <- (5^6/factorial(6))*exp(-5)
Paso 2: Hecho esto, presentamos la respuesta.
## [1] 0.1462228
\[=\frac{20!}{7!(20-7)!}*0.4^7*0.6^{13}\] Paso 1: Asignamos una variable n que representa nuestro factorial mayor y una variable m que representa la factorial menor.
n <- 20
m <- 7
Paso 2: Procedemos a crear una variable donde realizaremos el problema.
z <- factorial(n)/(factorial(m)*factorial(n-m))*(0.4^7)*(0.6^13)
Paso 3: Presentamos la respuesta del problema.
## [1] 0.1658823
Realiza las siguientes sumas:
\[ 1+2+3+...1000+1+2+3+...+1000\] Paso 1: Definimos un vector a que contenga los valores del 1 al 1000 y asignamos otra variable que sume los valores del vector con la función sum, y haremos lo mismo con otro vector llamado b.
a <- (1:1000)
suma1 <- sum(a)
b <- (1:1000)
suma2 <- sum(b)
Paso 2: Creamos un vector resultado donde concatenamos la suma del vector a y el vector b.
resultado <-c(suma1,suma2)
Paso 3: Presentamos la respuesta de la suma.
## [1] 500500 500500
\[1+2+4+8+16+...+1024+1+2+4+8+16+...+1024\] Paso 1: Creamos una variable n1 y suma1 que servirán de auxiliar para realizar la suma.
n1<-1
suma1<-0
Paso 2: Utilizaremos una condicional while para que realice la suma.
while (n1<=1024)
{
suma1=suma1+n1
n1=n1*2
}
Paso 3: Creamos un vector resultado donde concatenamos los resultados de la suma y presentamos la respuesta.
resultado<-c(suma1,suma1)
resultado
## [1] 2047
## [1] 2047 2047
El vector alumnos representa los nombres de una serie de alumnos.
Crear el vector alumnos con 20 nombres
1.-Visualízalo en pantalla
Paso 1: Creamos el vector alumnos
alumnos <- c("A","Luis","Juan","Ana","Liz","Camila",
"Fernanda","Kevin","Andres","Carolina",
"Tania","Mateo","Dilan","Andrea","Estefania",
"Ariel","Jhon","Sol","Domenica","Jenny")
2-¿Cuántas componentes tiene el vector alumnos?
Paso 2: Utilizamos la función length para ver cuantos componentes tiene el vector.
length(alumnos)
## [1] 20
3-¿En qué posiciones del vector alumnos está la letra ‘A’?
Paso 3: Creamos la variable posición y utilizamosel comnando which que nos permite encontrar índices.
posicion <- which(alumnos=="A")
posicion
## [1] 1
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
1.-Visualízalo en pantalla
Paso 1: Creamos el vector notas.
notas<-c(7,9,10,5,8,6,10,9,6,5,9,2,4,8,7,5,9,5,10,8)
notas
## [1] 7 9 10 5 8 6 10 9 6 5 9 2 4 8 7 5 9 5 10 8
2.¿Cuántas componentes tiene?
Paso 2: Utilizaremos la función lenght ya que nos devuelve el tamaño de un objeto o el número de elementos.
length(notas)
## [1] 20
3.¿Cuánto suman todas las notas?
Paso 3: Utilizamos la función sum.
sum(notas)
## [1] 142
4.¿Cuál es la media aritmética de todas las notas?
Paso 4: Para ello utilizamos la función mean.
mean(notas)
## [1] 7.1
5.¿En qué posiciones están las notas mayores de 7?
Paso 5: Para calcular la posición de los elementos cuya nota sea mayor a 7 utilizamos la función which ya que nos devuelve la posición de los elementos en un vector, siempre y cuando cumpla ciertas características.
which(notas>7)
## [1] 2 3 5 7 8 11 14 17 19 20
6.Visualiza las notas ordenadas de menor a mayor
Paso 6: Se utilizó la función sort ya que por defecto los ordena ascendentemente.
sort(notas)
## [1] 2 4 5 5 5 5 6 6 7 7 8 8 8 9 9 9 9 10 10 10
7.Visualiza las notas ordenadas de mayor a menor
Paso 7: Para que nos ordene los elementos descendentemente se utilizo la funcion sort y deseasing.
sort(notas, decreasing = TRUE)
## [1] 10 10 10 9 9 9 9 8 8 8 7 7 6 6 5 5 5 5 4 2
8.¿Cuál ha sido la nota máxima?
Paso 8: Se utilizo la función max para que nos devuelva la nota más alta.
max(notas)
## [1] 10
9.¿En qué posición del vector está esa nota máxima?
Paso 9: Para ello utilizamos las dos funciones mencionadas y explicadas anteriormente.
which.max(notas)
## [1] 3
A partir de los vectores alumnos y notas definidos:
Paso 1: Procedemos a colocar el respectivo encabezado, luego las notas y los nombres de los alumnos, procedemos a combinar ambos vectores.
alumnos <- c("Angela","Luis","Juan","Ana","Liz","Camila",
"Fernanda","Kevin","Andres","Carolina",
"Tania","Mateo","Dilan","Andrea","Estefania",
"Ariel","Jhon","Sol","Domenica","Jenny")
notas<-c(7,9,10,5,8,6,10,9,6,5,9,2,4,8,7,5,9,5,10,8)
names(notas) <- alumnos
notas
## Angela Luis Juan Ana Liz Camila Fernanda Kevin
## 7 9 10 5 8 6 10 9
## Andres Carolina Tania Mateo Dilan Andrea Estefania Ariel
## 6 5 9 2 4 8 7 5
## Jhon Sol Domenica Jenny
## 9 5 10 8
Paso 2: Realizamos las tareas que nos piden a continuación:
1.Visualizar las notas de los 10 primeros alumnos
Escribimos que queremos visualizar las notas de los 10 primeros alumnos, colocamos el rango de 1:10 o el comando head.
notas[1:10]
## Angela Luis Juan Ana Liz Camila Fernanda Kevin
## 7 9 10 5 8 6 10 9
## Andres Carolina
## 6 5
head(notas,10)
## Angela Luis Juan Ana Liz Camila Fernanda Kevin
## 7 9 10 5 8 6 10 9
## Andres Carolina
## 6 5
2.Suma las notas de los 10 primeros alumnos del vector
Para la suma aplicamos el comando sum en cualquiera de las 2 formas anteriores.
sum(notas[1:10])
## [1] 75
sum(head(notas,10))
## [1] 75
Con el comando Length vamos a visualizar el total de alumnos.
length(alumnos)
## [1] 20
Para saber la suma total de notas aplicamos el comando sum.
sum(notas)
## [1] 142
Primero creamos las variables para que el programa nos identifique los alumnos aprobados.
a <- length(notas)
b <- 1
cont<-0
cont1<-0
aprobados <- 1:a
aprobados[1] <- NA
for(c in 1:a){
if(notas[c]>=7){
aprobados[b] <- "aprobado"
cont<-cont+1
}else{
aprobados[b] <- "reprobado"
cont1<-cont1+1
}
b <- b+1
}
aprobados
## [1] "aprobado" "aprobado" "aprobado" "reprobado" "aprobado" "reprobado"
## [7] "aprobado" "aprobado" "reprobado" "reprobado" "aprobado" "reprobado"
## [13] "reprobado" "aprobado" "aprobado" "reprobado" "aprobado" "reprobado"
## [19] "aprobado" "aprobado"
names(notas) <- aprobados
notas
## aprobado aprobado aprobado reprobado aprobado reprobado aprobado aprobado
## 7 9 10 5 8 6 10 9
## reprobado reprobado aprobado reprobado reprobado aprobado aprobado reprobado
## 6 5 9 2 4 8 7 5
## aprobado reprobado aprobado aprobado
## 9 5 10 8
names(alumnos) <- aprobados
alumnos
## aprobado aprobado aprobado reprobado aprobado reprobado
## "Angela" "Luis" "Juan" "Ana" "Liz" "Camila"
## aprobado aprobado reprobado reprobado aprobado reprobado
## "Fernanda" "Kevin" "Andres" "Carolina" "Tania" "Mateo"
## reprobado aprobado aprobado reprobado aprobado reprobado
## "Dilan" "Andrea" "Estefania" "Ariel" "Jhon" "Sol"
## aprobado aprobado
## "Domenica" "Jenny"
cat("Aprobaron",cont,"alumnos\n","Y reprobaron",cont1,"alumnos")
## Aprobaron 12 alumnos
## Y reprobaron 8 alumnos
Para conocer el porcentaje de alumnos aprobados creamos una nueva variable, imprimimos el resultado con el comando cat.
porcentaprob <-(cont*100)/a
cat("El porcentaje de aprobados es de: ",porcentaprob,"% de alumnos")
## El porcentaje de aprobados es de: 60 % de alumnos
Aplicamos los comandos Max y Min para saber cuál es la nota más alta y la mas baja.
m <- max(notas)
cat("La nota maxima es de: ",m)
## La nota maxima es de: 10
n <- min(notas)
cat("La nota minima es de: ",n)
## La nota minima es de: 2
e <- which.max(notas)
cat("La nota mayor es de: ",alumnos[e],"con una calificacion de: ",notas[e])
## La nota mayor es de: Juan con una calificacion de: 10
f <- which.min(notas)
cat("La nota menor es de: ",alumnos[f],"con una calificacion de: ",notas[f])
## La nota menor es de: Mateo con una calificacion de: 2
Utilizaremos los comandos anteriores y a continuación la media para saber cuál es la media de notas de los alumnos.
p <- length(notas)
cont <- 0
sum <- 0
for(c in 1:p){
if(notas[c]>=7){
cont <- cont+1
sum <- sum+notas[c]
}
}
media <- sum/cont
med<- round(media,2)
cat("La nota media solo de los alumnos que han aprobado es de: ",med)
## La nota media solo de los alumnos que han aprobado es de: 8.67