Calcular los valores numéricos aproximados
\[ \frac{0.3*0.15} {0.3*0.15+0.2*0.8+0.5*0.12} *\frac{5^6} {6!}e^{-5}\ y\binom{20} {7}0.4^7 0.6^{13}\]
num1 <- 0.3*0.15
num2 <- 0.3*0.15
num3 <- 0.2*0.8
num4 <- 0.5*0.12
total <- num1/(num2+num3+num4)
total
## [1] 0.1698113
num5 <- (5^6)/(factorial(6))
num6 <- exp(-5)
total2 <- num5*num6
total2
## [1] 0.1462228
a<-factorial(20)/(factorial(7)*factorial(20-7))
b<-0.4^7
c<-0.6^13
total3<-a*b*c
total3
## [1] 0.1658823
Este código calculará los valores numéricos aproximados de las expresiones dada.
El vector alumnos representa los nombres de una serie de alumnos.
Crear el vector alumnos con 20 nombres.
nombres <- c("JULIO","PABLO","DILAN","DAVID","PEDRO","SOFIA","JOSE","MIGUEL",
"CARLA","DANIELA","LUIS","IBETH","PAMELA","CARLOS","EVELYN",
"ALEJANDRO","SHIREY","NICOLETTE","MATEO","RAQUEL")
nombres
## [1] "JULIO" "PABLO" "DILAN" "DAVID" "PEDRO" "SOFIA"
## [7] "JOSE" "MIGUEL" "CARLA" "DANIELA" "LUIS" "IBETH"
## [13] "PAMELA" "CARLOS" "EVELYN" "ALEJANDRO" "SHIREY" "NICOLETTE"
## [19] "MATEO" "RAQUEL"
length(nombres)
## [1] 20
buscar_letra_a <- function(vector) {
palabras_con_a <- vector[grep("A", vector)]
return(palabras_con_a)
}
resultado <- buscar_letra_a(nombres)
print(resultado)
## [1] "PABLO" "DILAN" "DAVID" "SOFIA" "CARLA" "DANIELA"
## [7] "PAMELA" "CARLOS" "ALEJANDRO" "MATEO" "RAQUEL"
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
notas <- runif(20, min = 1, max = 20)
notas_red <- round(notas)
notas_red
## [1] 12 8 6 15 13 3 15 17 2 14 11 6 15 10 2 16 9 19 9 18
Creamos un vector llamado notas el cual colocamos la función runif para que nos de el número aleatorio de las notas dondo le pedimos que el minimo sea de 1 y el máximo de 20. creamos otra nueva variable que la llamamos notas_red donde usamos la función round para redondear las notas y que no salgan con decimales.
length(notas_red)
## [1] 20
Utilizaremos la función length para saber cuantos componentes tiene el vector notas_red.
sum(notas_red)
## [1] 220
Utilizamos la función sum para sumar todas las notas.
mean(notas_red)
## [1] 11
Utilizaremos la función mean para calcular la media.
which(notas_red>7)
## [1] 1 2 4 5 7 8 10 11 13 14 16 17 18 19 20
Utilizaremos la función which para observar en posición se encuentran las notas mayores a 7.
sort(notas_red)
## [1] 2 2 3 6 6 8 9 9 10 11 12 13 14 15 15 15 16 17 18 19
Utilizaremos la función sort ya que ordena ascendentemente las notas.
sort(notas_red, decreasing = TRUE)
## [1] 19 18 17 16 15 15 15 14 13 12 11 10 9 9 8 6 6 3 2 2
Para que ordene los elementos descendentemente se utilizo la función sort y decreasing.
max(notas_red)
## [1] 19
Utilizaremos la función max para visualizar cual es la nota máxima.
which.max(notas)
## [1] 18
Utilizaremos la función which.max para visualizar la nota máxima y la posición en la que se ubica.
A partir de los vectores alumnos y notas definidos:
nombres1 <- c("JULIO","PABLO","DILAN","DAVID","PEDRO","SOFIA","JOSE","MIGUEL",
"CARLA","DANIELA","LUIS","IBETH","PAMELA","CARLOS","EVELYN",
"ALEJANDRO","SHIREY","NICOLETTE","MATEO","RAQUEL")
nexamen <- c(4,6,3,8,10,7,4,8,9,10,10,5,8,7,4,1,2,5,8,9)
nombres1
## [1] "JULIO" "PABLO" "DILAN" "DAVID" "PEDRO" "SOFIA"
## [7] "JOSE" "MIGUEL" "CARLA" "DANIELA" "LUIS" "IBETH"
## [13] "PAMELA" "CARLOS" "EVELYN" "ALEJANDRO" "SHIREY" "NICOLETTE"
## [19] "MATEO" "RAQUEL"
nexamen
## [1] 4 6 3 8 10 7 4 8 9 10 10 5 8 7 4 1 2 5 8 9
nexamen[1:10]
## [1] 4 6 3 8 10 7 4 8 9 10
sum(nexamen[1:10])
## [1] 69
length(nombres1)
## [1] 20
sum(nexamen)
## [1] 128
posicion <- which(nexamen>=7)
posicion
## [1] 4 5 6 8 9 10 11 13 14 19 20
totalp <- length(posicion)
totalp
## [1] 11
porcentaje<-(totalp*100)/length(nombres)
porcentaje
## [1] 55
max(nexamen)
## [1] 10
min(nexamen)
## [1] 1
m <- data.frame(nombres1, nexamen)
m
## nombres1 nexamen
## 1 JULIO 4
## 2 PABLO 6
## 3 DILAN 3
## 4 DAVID 8
## 5 PEDRO 10
## 6 SOFIA 7
## 7 JOSE 4
## 8 MIGUEL 8
## 9 CARLA 9
## 10 DANIELA 10
## 11 LUIS 10
## 12 IBETH 5
## 13 PAMELA 8
## 14 CARLOS 7
## 15 EVELYN 4
## 16 ALEJANDRO 1
## 17 SHIREY 2
## 18 NICOLETTE 5
## 19 MATEO 8
## 20 RAQUEL 9
which(nexamen==1)
## [1] 16
m[16,]
## nombres1 nexamen
## 16 ALEJANDRO 1
which(nexamen ==10)
## [1] 5 10 11
m[10,]
## nombres1 nexamen
## 10 DANIELA 10
m[5,]
## nombres1 nexamen
## 5 PEDRO 10
m[11,]
## nombres1 nexamen
## 11 LUIS 10
which(nexamen==1)
## [1] 16
m[16,]
## nombres1 nexamen
## 16 ALEJANDRO 1
aprobados <- which(nexamen>=7)
aprobados
## [1] 4 5 6 8 9 10 11 13 14 19 20
mean(aprobados)
## [1] 10.81818
Creación y Manipulación de Vectores
vec1<- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
vec1
## [1] 1 2 3 4 5 6 7 8 9 10
En el presente ejercicio se crea un vector denominado vc1 con los numeros del 1 a al 10
vec1<- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
vec1
## [1] 1 2 3 4 5 6 7 8 9 10
s1<-vec1[c(3, 6)]
s1
## [1] 3 6
En el presente ejercicio se denota el vector denominado vec1 que contiene numeros del 1 al 10 se extrae con otro vector denominado s1 la tercera y sexta posicion las cuales son 3 y 6 los que nos da un resultado de 3 y 6.
vec1<- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
vec1
## [1] 1 2 3 4 5 6 7 8 9 10
vec1[5]<-99
vec1
## [1] 1 2 3 4 99 6 7 8 9 10
Se puede notar que en el vec1 tenemos todos los numeros del 1 al 10 en el siguiente se pone entre corchetes la posicion que se desea reemplazar en este caso es la posicion 5 y se reemplaza con el numero 99.
Operaciones Aritméticas con Vectores
vec2<- c(1, 2, 3, 4, 5)
vec2
## [1] 1 2 3 4 5
vec3<- c(10, 11, 12, 13, 14)
vec3
## [1] 10 11 12 13 14
En este ejercicio podemos evidenciar que hay dos vectores con los nombres de vec2 y vec3, en el cual el vec2 esta integrado de los valores 1, 2, 3, 4, 5 y el vec3 esta compuesto por los numeros 10, 11, 12, 13, 14.
vec4<- outer(vec2,vec3,"+")
vec4
## [,1] [,2] [,3] [,4] [,5]
## [1,] 11 12 13 14 15
## [2,] 12 13 14 15 16
## [3,] 13 14 15 16 17
## [4,] 14 15 16 17 18
## [5,] 15 16 17 18 19
En este ejericio se procede a calcular la suma de los dos vectores del vec2 y el vec3 con la funcion outer la cual nos permite calcular la suma de ambos vectores, en el vec4 generando una matriz nueva con los resultados de dichas sumas.
vec5<- outer(vec2,vec3,"*")
vec5
## [,1] [,2] [,3] [,4] [,5]
## [1,] 10 11 12 13 14
## [2,] 20 22 24 26 28
## [3,] 30 33 36 39 42
## [4,] 40 44 48 52 56
## [5,] 50 55 60 65 70
En este ejercicio se procede a calcular la multipicacion de los dos vectores del vec2 y el vec3 con la funcion outer la cual nos permite calcular la multiplicacion de ambos vectores, en el vec5 generando una matriz nueva con los resultados de dichas multiplicaciones.
Funciones de Resumen
vec4 <- c(3, 5, 7, 2, 8 , 10, 4, 6)
vec4
## [1] 3 5 7 2 8 10 4 6
# Media
mean(vec4)
## [1] 5.625
# Mediana
median(vec4)
## [1] 5.5
# Desviación estándar
sd(vec4)
## [1] 2.66927
Con este código crearemos un vector llamado vec4 que tendra los siguientes valores (3, 5, 7, 2, 8, 10, 4, 6) y del cual calcularemos la media, la mediana y la desviación estándar.
Filtrado de Vectores.
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
vec1<- vec5[vec5 > 10]
vec1
## [1] 11 12 13 14 15 16 17 18 19 20
Este código creará el vector vec5 con los números del 1 al 20, luego filtrará los números mayores que 10 y creará un nuevo vector llamado vec1.
Ordenación de Vectores
vec6 <- c(12, 5, 13, 9, 2, 8, 10, 1)
vec6
## [1] 12 5 13 9 2 8 10 1
h2 <- sort(vec6)
h2
## [1] 1 2 5 8 9 10 12 13
h3 <- sort(vec6,decreasing = TRUE)
h3
## [1] 13 12 10 9 8 5 2 1
Operaciones Lógicas con Vectores
vec7 <- c(7, 14, 3, 8, 15, 1, 6, 10)
vec7
## [1] 7 14 3 8 15 1 6 10
nuevo_vec <- vec7 > 5
nuevo_vec
## [1] TRUE TRUE FALSE TRUE TRUE FALSE TRUE TRUE
Este código creará el vector vec7 con los valores proporcionados.
Subsetting Avanzado.
vec8<- c (11, 2, 19, 8, 5, 12, 3, 7)
vec8
## [1] 11 2 19 8 5 12 3 7
En el presente ejercicio nos solicita crear un vector denominado vec8 con los siguientes numeros 11, 2, 19, 8, 5, 12, 3, 7.
vec9<- vec8[vec8%%3 ==0]
vec9
## [1] 12 3
Como podemos observar en el siguiente literal se evidencia que se saca los multiplos de 3 del vector 8 en el vec9 esto se da por la siguiente operacion: se pone el vec9 y se le asigna el vec8 entre corchetes el vec8 dividido para 3 y que el residuo nos de 0 por ende nos daria los multiplos de tres en el vec9.
Funciones de Aplicación
vec9 <- c(2, 4, 6, 8, 10, 12, 14, 16)
vec9
## [1] 2 4 6 8 10 12 14 16
res <- sqrt(vec9)
res
## [1] 1.414214 2.000000 2.449490 2.828427 3.162278 3.464102 3.741657 4.000000
Este código creará el vector vec9 con los valores proporcionados. Luego se aplicará la función sqrt() (raíz cuadrada) a cada elemento de vec9.
Concatenación de Vectores
vec10 <- c(2, 4, 6, 8)
vec11 <- c(14, 16, 18, 20)
vec12 <- c(vec10, vec11)
vec12
## [1] 2 4 6 8 14 16 18 20
Con este código vamos a crear dos vectores que serán vec10 y vec11 con longitud 4 de valores enteros y concatenaremos los vectores en un nuevo vector que será el vec12 y se visualiza a los dos vectores unidos.
Operaciones Aritméticas con Vectores
vec13<- c (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
vec13
## [1] 1 2 3 4 5 6 7 8 9 10
En el presente ejercicio nos solicita crear un vector denominado vec13 con los siguientes numeros 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.
vec13<- c (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
vec13
## [1] 1 2 3 4 5 6 7 8 9 10
vec14<-vec13[-c(4,7)]
vec14
## [1] 1 2 3 5 6 8 9 10
Podemos evidenciar que nos solicita eliminar el 4 y 7 elemeto del vector 13 que se denota como vec13 para esto denotamos otro vector el cual se llamara vec14 en este se la asigan el vec13 y entre corchetes y con el signo menos se escribe los elementos que se quieren eliminar en nuestro caso son los numeros 4 y 7 los cual nos da como resultado 1 2 3 5 6 7 8 10.