EJERCICIO 1: Calcular los valores numericos aproximados de:
\[ x = \frac{(0.3*0.15)} {0.3*0.15 + 0.2*0.8 + 0.5*0.12} \]
x <- (0.3*0.15)/((0.3*0.15)+(0.2*0.8)+(0.5*0.12))
x
## [1] 0.1698113
\[ y = \frac {5^6}{6!}\ e^{-5} \] ___
y <- (((5^6)/factorial(6))*exp(-5))
y
## [1] 0.1462228
\[ z = \binom{20}{7} \times (0.4)^7 \times (0.6)^{13} \]
n <- 20
p <- 0.4
k <- 7
combinatoria <- choose(n,k)
exito <- p^k
fracaso <- (1-p)^(n-k)
probabilidad <- combinatoria*exito*fracaso
probabilidad
## [1] 0.1658823
EJERCICIO 2: El vector alumnos representa los nombres de una serie de alumnos
alumnos <- c("Ana","Arturo","Daniela","Jose","David","Joseph","Christopher","Melissa",
"Tomas","Felix","Alan","Antony","Bryan","Antonella","Patricia","Joel",
"Jefferson","Johanna","Angela","Juan")
alumnos
## [1] "Ana" "Arturo" "Daniela" "Jose" "David"
## [6] "Joseph" "Christopher" "Melissa" "Tomas" "Felix"
## [11] "Alan" "Antony" "Bryan" "Antonella" "Patricia"
## [16] "Joel" "Jefferson" "Johanna" "Angela" "Juan"
length(alumnos)
## [1] 20
alumnos <- c("Ana","Arturo","Daniela","Jose","David","Joseph","Christopher","Melissa","Tomas","Felix","Alan","Antony","Bryan","Antonella","Patricia","Joel",
"Jefferson","Johanna","Angela","Juan")
posiciones <- grep("A", alumnos)
posiciones
## [1] 1 2 11 12 14 19
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.
notas <- c(9.5, 7.8, 8.2, 6.7, 10.0, 5.4, 7.1, 8.9, 9.0, 6.3,7.5, 8.0, 6.8, 9.7, 7.2, 8.5, 6.9, 9.3, 7.6, 8.4)
notas
## [1] 9.5 7.8 8.2 6.7 10.0 5.4 7.1 8.9 9.0 6.3 7.5 8.0 6.8 9.7 7.2
## [16] 8.5 6.9 9.3 7.6 8.4
componentes<-length(notas)
cat("El vector notas tiene ", componentes, " componentes.")
## El vector notas tiene 20 componentes.
suma<-sum(notas)
cat("La suma de todas las notas es ",suma)
## La suma de todas las notas es 158.8
media<- mean(notas)
cat("La media de las notas es ",media)
## La media de las notas es 7.94
posiciones<-which(notas>16)
cat("Las notas mayores a 7 estan en las siguientes posiciones ",posiciones)
## Las notas mayores a 7 estan en las siguientes posiciones
Orden_Ascendente<-sort(notas)
Orden_Ascendente
## [1] 5.4 6.3 6.7 6.8 6.9 7.1 7.2 7.5 7.6 7.8 8.0 8.2 8.4 8.5 8.9
## [16] 9.0 9.3 9.5 9.7 10.0
Orden_Descendente<-sort(notas, decreasing = TRUE)
Orden_Descendente
## [1] 10.0 9.7 9.5 9.3 9.0 8.9 8.5 8.4 8.2 8.0 7.8 7.6 7.5 7.2 7.1
## [16] 6.9 6.8 6.7 6.3 5.4
Maximo<-max(notas)
cat("La nota máxima es ",Maximo)
## La nota máxima es 10
Max_posicion<-which.max(notas)
cat("La posición de la mayor nota es ",Max_posicion)
## La posición de la mayor nota es 5
A partir de los vectores alumnos y notas definidos.
alumnos <- c("Ana", "Luis", "Carlos", "María", "José", "Elena", "Pablo", "Laura", "Miguel", "Sara", "Javier", "Carmen", "Roberto", "Lucía", "Andrés", "Beatriz", "Ricardo", "Sofía", "Fernando", "Inés")
alumnos10<-head(notas,n=10)
cat("Notas de los 10 primeros alumnos ",alumnos10)
## Notas de los 10 primeros alumnos 9.5 7.8 8.2 6.7 10 5.4 7.1 8.9 9 6.3
suma10<-head(notas,n=10)
cat("La suma de las 10 primeras notas es ",notas)
## La suma de las 10 primeras notas es 9.5 7.8 8.2 6.7 10 5.4 7.1 8.9 9 6.3 7.5 8 6.8 9.7 7.2 8.5 6.9 9.3 7.6 8.4
total_alumnos<-length(alumnos)
cat("El número total de alumnos es ",total_alumnos)
## El número total de alumnos es 20
suma<-sum(notas)
cat("La suma de todas las notas es ",suma)
## La suma de todas las notas es 158.8
alumnos_aprobados<-which(notas>=7)
cat("Aprobaron ",length(alumnos_aprobados)," alumnos")
## Aprobaron 15 alumnos
porcentaje_aprobados<-(length(alumnos_aprobados)/length(alumnos))*100
cat("El ",porcentaje_aprobados,"% de alumnos han aprobado.")
## El 75 % de alumnos han aprobado.
cat("La nota mínima es ",min(notas))
## La nota mínima es 5.4
cat("La nota máxima es ",max(notas))
## La nota máxima es 10
cat(max(alumnos),"tiene la nota más alta de ",max(notas))
## Sofía tiene la nota más alta de 10
cat(min(alumnos),"tiene la nota más baja de ",min(notas))
## Ana tiene la nota más baja de 5.4
media_aprobados <- mean(notas[notas >= 7])
cat("La media de los alumnos aprobados es ",media_aprobados)
## La media de los alumnos aprobados es 8.446667
Ejercicio 5: Creación y Manipulación de Vectores 1.Crea un vector llamado vec1 que contenga los números del 1 al 10
vec1<-1:10
vec1
## [1] 1 2 3 4 5 6 7 8 9 10
2.Extrae el tercer y sexto elemento de vec1
a<-vec1[3]
a
## [1] 3
b<-vec1[6]
b
## [1] 6
3.Reemplaza el quinto elemento de vec1 por el número 99
vec1[5]<- 99
vec1
## [1] 1 2 3 4 99 6 7 8 9 10
Ejercicio 6: Operaciones Aritméticas con Vectores Crea dos vectores vec2 y vec3 de longitud 5 con valores enteros aleatorios entre 1 y 20.
set.seed(123)
vec2 <- sample(1:20, 5, replace = TRUE)
vec2
## [1] 15 19 14 3 10
vec3 <- sample(1:20, 5, replace = TRUE)
vec3
## [1] 18 11 5 20 14
s1 <- vec2 + vec3
s1
## [1] 33 30 19 23 24
m1 <- vec2 * vec3
m1
## [1] 270 209 70 60 140
Ejercicio 7: Funciones de Resumen Crea un vector vec4 que contenga los valores 3, 5, 7, 2, 8, 10, 4, 6.
vec4<-c( 3, 5, 7, 2, 8, 10, 4, 6)
vec4
## [1] 3 5 7 2 8 10 4 6
Calcula la media, la mediana y la desviación estándar de vec4.
x<-mean(vec4)
x
## [1] 5.625
y<-median(vec4)
y
## [1] 5.5
z<-sd(vec4)
z
## [1] 2.66927
Ejercicio 8: Filtrado de Vectores Crea un vector vec5 que contenga los números del 1 al 20.
vec5<-1:20
vec5
## [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Filtra y crea un nuevo vector con los números de vec5 que sean mayores que 10.
f1<- vec5[vec5>10]
f1
## [1] 11 12 13 14 15 16 17 18 19 20
Ejercicio 9: Ordenación de Vectores Crea un vector vec6 con los siguientes números: 12, 5, 13, 9, 2, 8, 10, 1.
vec6<-c(12, 5, 13, 9, 2, 8, 10, 1)
vec6
## [1] 12 5 13 9 2 8 10 1
SE ORDENA DESCENDENTEMENTE
tordenado<- sort(vec6,decreasing=T)
tordenado
## [1] 13 12 10 9 8 5 2 1
ASCENDENTEMENTE
tordenado<- sort(vec6,decreasing=F)
tordenado
## [1] 1 2 5 8 9 10 12 13
Ejercicio 10: Operaciones Lógicas con Vectores
1.Crea un vector vec7 que contenga los valores 7, 14, 3, 8, 15, 1, 6, 10.
vec7<-c(7, 14, 3, 8, 15, 1, 6, 10)
vec7
## [1] 7 14 3 8 15 1 6 10
2.Crea un nuevo vector que contenga TRUE si el valor en vec7 es mayor que 5, y FALSE en caso contrario.
vector <- vec7 > 5
vector
## [1] TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE
Ejercicio 11: Subsetting Avanzado
1.Crea un vector vec8 con los siguientes números: 11, 2, 19, 8, 5, 12, 3, 7.
vec8<-c(11, 2, 19, 8, 5, 12, 3, 7)
vec8
## [1] 11 2 19 8 5 12 3 7
2.Extrae los elementos de vec8 que sean múltiplos de 3.
multiplosde3 <- vec8[vec8 %% 3 == 0]
multiplosde3
## [1] 12 3
Ejercicio 12: Funciones de Aplicación
1.Crea un vector vec9 que contenga los valores 2, 4, 6, 8, 10, 12, 14, 16.
vec9<-c(2, 4, 6, 8, 10, 12, 14, 16)
vec9
## [1] 2 4 6 8 10 12 14 16
2.Aplica la función sqrt (raíz cuadrada) a cada elemento de vec9.
resultado <- sqrt(vec9)
resultado
## [1] 1.414214 2.000000 2.449490 2.828427 3.162278 3.464102 3.741657 4.000000
Ejercicio 13 : Concatenación de Vectores
1.Crea dos vectores vec10 y vec11 de longitud 4 con valores enteros.
vec10 <- c(1, 2, 3, 4)
vec11 <- c(5, 6, 7, 8)
2.Concatena vec10 y vec11 para formar un nuevo vector vec12.
vec12 <- c(vec10, vec11)
vec12
## [1] 1 2 3 4 5 6 7 8
Ejercicio 14: Eliminación de Elementos
1.Crea un vector vec13 que contenga los números del 1 al 10.
vec13 <- 1:10
2.Elimina el cuarto y séptimo elemento de vec13.
vec13 <- vec13[-c(4, 7)]
vec13
## [1] 1 2 3 5 6 8 9 10