1. Calcula los valores numéricos aproximados de
Resolución de los ejercicios
1.a Resolución
ejerc01 <- function(a=0.3, b=0.15, c=0.2, d=0.8, e=0.5, f=0.12){
operacion <- ((a*b)/((a*b)+(c*d)+(e*f)))
return(operacion)
}
ejerc01()
## [1] 0.1698113
1.b Resolución
parteb <- function(a, b){
oper03 <- ((a^b)/(factorial(b)))*exp(-a)
return(oper03)
}
parteb(a=5, b=6)
## [1] 0.1462228
1.c Resolución
N<-20
n<-7
fact01<-factorial(N)/(factorial(n)*(factorial(N-n)))
res<-fact01*(0.4**7)*(0.6**13)
2. Realizar la siguiente suma
Resolución de los ejercicios
2.a Resolución
a <- c(1:1000)
sum(a)
## [1] 500500
2.b Resolución
ejerc02 <- function(a1, r, n){
oper02 <- a1*r^(n-1)
return(oper02)
}
ejerc02(a1=1, r=2, n=1:11)
## [1] 1 2 4 8 16 32 64 128 256 512 1024
suma <- ejerc02(a1=1, r=2, n=1:11) #Anidamos los resultados
sum(suma)
## [1] 2047
3. El vector grupo representa el grupo al que pertenece una serie de alumnos
3.a ¿Cuántos elementos tiene?
3.b ¿En qué posiciones del vector está la letra “A”?
Resolución de los ejercicios
3a. Resolución
load("ei1012-1516-la-s1-datos.RData")
grupo
## [1] "B" "A" "E" "D" "B" "D" "D" "A" "D" "C" "D" "E" "B" "E" "E" "E" "A" "B"
## [19] "C" "C" "A" "C" "C" "D" "D" "E" "E" "A" "B" "C" "C" "E" "D" "C" "E" "E"
## [37] "E" "E" "D" "D" "D" "E" "E" "E" "D" "E" "B" "E" "D" "C" "E" "D" "E" "E"
## [55] "C" "B" "D" "C" "E" "D" "E" "B" "D" "B" "B" "C" "D" "C" "C" "C" "E" "D"
## [73] "E" "D" "C" "D" "E" "E" "C" "D" "C" "E" "D" "A" "B" "B" "E" "E" "C" "D"
## [91] "C" "E" "E" "C" "E" "D" "D" "D" "E" "D" "A" "D" "B" "B" "C" "D" "E" "A"
## [109] "E" "E" "A" "C" "E" "D" "A" "D" "D" "C" "E" "E" "E" "D" "A" "E" "E" "E"
## [127] "C" "C" "B" "C" "C" "D" "C" "B" "C" "A" "D" "E" "D" "E" "E" "B" "E" "E"
## [145] "E" "E" "C" "B" "D" "D" "E" "E" "D" "D" "E" "D" "E" "D" "D" "C" "D" "D"
## [163] "D" "C" "E" "D" "E" "C" "E" "B" "C" "C" "C" "D" "D" "B" "D" "B" "E" "C"
## [181] "E" "D" "D" "E" "D" "B" "B" "E" "E" "A" "C" "A"
length(grupo)
## [1] 192
3b. Resolución
which(grupo == "A")
## [1] 2 8 17 21 28 84 101 108 111 115 123 136 190 192
4. El vector nota representa la nota de un examen de los alumnos que están en los grupos del vector grupo.
4.a ¿Cuanto suman todas las notas?
4.b ¿Cual es la media aritmética de todas las notas?
4.c ¿En qué posiciones están las notas mayores de 7.0?
4.d Visualiza las notas ordenadas de mayor a menor
4.e ¿En qué posición está la nota máxima?
Resolución de los ejercicios
4a. Resolución
nota
## [1] 4.9 5.4 5.2 6.8 5.0 6.2 4.4 4.1 4.3 5.5 5.5 4.8 6.4 6.8 5.5 4.7 5.2 6.4
## [19] 4.8 3.4 4.7 6.0 5.9 5.4 5.3 5.6 6.9 5.6 4.2 4.4 5.8 4.8 6.1 6.2 6.6 5.2
## [37] 4.6 5.0 2.5 4.0 5.6 4.9 5.4 3.9 4.2 4.7 4.2 5.4 3.7 6.2 5.9 3.7 5.8 2.7
## [55] 5.6 5.0 2.6 5.0 4.9 3.4 5.9 4.3 6.1 4.5 5.5 3.2 3.2 6.4 4.4 6.0 5.0 5.4
## [73] 7.0 3.8 4.2 4.7 4.7 5.3 6.8 4.0 7.2 4.8 6.0 4.1 4.5 5.8 2.9 5.0 4.6 4.9
## [91] 6.8 4.2 6.9 5.7 5.7 6.4 4.4 4.2 4.5 5.8 4.3 3.7 7.4 3.9 5.2 4.9 3.6 5.5
## [109] 6.0 5.0 4.1 4.5 3.1 5.4 4.5 5.3 4.7 6.1 5.2 7.7 5.3 5.0 4.0 5.2 4.0 5.5
## [127] 4.0 5.4 4.6 3.4 6.2 5.7 3.8 4.8 4.0 4.4 5.5 5.9 5.9 5.7 4.9 1.7 5.5 5.9
## [145] 5.5 3.8 5.5 6.0 3.5 5.5 7.5 3.4 5.8 4.7 3.6 4.1 5.0 4.6 3.6 4.7 4.1 5.7
## [163] 5.9 4.7 3.2 5.5 3.0 4.5 5.5 5.9 5.6 6.0 4.4 3.7 4.4 6.8 6.1 4.7 4.2 6.2
## [181] 5.2 5.1 2.9 6.5 4.2 5.4 5.9 6.2 6.3 4.8 5.6 2.9
sum(nota)
## [1] 962
4b. Resolución
mean(nota)
## [1] 5.010417
4c. Resolución
which(nota > 7)
## [1] 81 103 120 151
4d. Resolución
head(nota[order(-nota)],10)
## [1] 7.7 7.5 7.4 7.2 7.0 6.9 6.9 6.8 6.8 6.8
4e. Resolución
which(nota == 7.7)
## [1] 120
5. A partir de los vectores grupo y nota definidos.
5.a las notas de los 10 primeros alumnos del vector
5.b ¿Cuántos alumnos hay del grupo C?
5.c ¿Cuántos alumnos han aprobado?
5.d ¿Cuántos alumnos del grupo B han aprobado?
5.e ¿Qué porcentaje de alumnos del grupo C han aprobado?
5.f ¿De qué grupos son la máxima y mínima notas de toda la muestra?
5.g Nota media de los alumnos de grupo A y B, juntos, considerando sólo a los que han aprobado
Resolucion de los ejercicios
5a. Resolución
dplyr::tibble(grupo1 = grupo, nota1 = nota)
## # A tibble: 192 x 2
## grupo1 nota1
## <chr> <dbl>
## 1 B 4.9
## 2 A 5.4
## 3 E 5.2
## 4 D 6.8
## 5 B 5
## 6 D 6.2
## 7 D 4.4
## 8 A 4.1
## 9 D 4.3
## 10 C 5.5
## # ... with 182 more rows
primeros_10 <- head(dplyr::tibble(grupo1 = grupo, nota1 = nota),10)
sum(primeros_10$nota1)
## [1] 51.8
5b. Resolución
library(dplyr)
Alum_notas <- dplyr::tibble(grupo1 = grupo, nota1 = nota)
Alum_notas %>%
dplyr::select(grupo1) %>%
dplyr::filter(grupo1 == "C") %>%
dplyr::summarise(length(grupo1))
## # A tibble: 1 x 1
## `length(grupo1)`
## <int>
## 1 39
5c. Resolución
Alum_notas <- dplyr::tibble(grupo1 = grupo, nota1 = nota)
Alum_notas %>%
dplyr::filter(nota1 >=5) %>%
dplyr::summarise(length(nota1))
## # A tibble: 1 x 1
## `length(nota1)`
## <int>
## 1 102
5d. Resolución
Alum_notas <- dplyr::tibble(grupo1 = grupo, nota1 = nota)
Alum_notas %>%
dplyr::filter(grupo1 == "B" & nota1 >= 5.0) %>%
dplyr::summarise(length(nota1))
## # A tibble: 1 x 1
## `length(nota1)`
## <int>
## 1 12
5e. Resolución
Alum_notas <- dplyr::tibble(grupo1 = grupo, nota1 = nota)
porcentaje <- Alum_notas %>%
dplyr::filter(grupo1 == "C" & nota1 >=5) %>%
dplyr::summarise(length(nota1))
alumC <- Alum_notas %>%
dplyr::filter(grupo1 == "C") %>%
dplyr::summarise(length(nota1))
((porcentaje/alumC)*100)
## length(nota1)
## 1 58.97436
5f. Resolución
Alum_notas <- dplyr::tibble(grupo1 = grupo, nota1 = nota)
max <- Alum_notas %>%
dplyr::filter(nota1 == max(nota1))
min <- Alum_notas %>%
dplyr::filter(nota1 == min(nota1))
5g. Resolución
Alum_notas <- dplyr::tibble(grupo1 = grupo, nota1 = nota)
#Utilizando xor
Alum_notas %>%
dplyr::filter(xor(grupo1 == "A" & nota1 >=5, grupo1 == "B" & nota1 >= 5)) %>%
dplyr::summarise(mean(nota1))
## # A tibble: 1 x 1
## `mean(nota1)`
## <dbl>
## 1 5.82
#Utilizando o
Alum_notas %>%
dplyr::filter((grupo1 == "A" & nota1 >=5) | (grupo1 == "B" & nota1 >= 5)) %>%
dplyr::summarise(mean(nota1))
## # A tibble: 1 x 1
## `mean(nota1)`
## <dbl>
## 1 5.82
6. Calcula el percentil 66 de las notas de todos los alumnos, y también de los alumnos del grupo C.
Resolución
Alum_notas <- dplyr::tibble(grupo1 = grupo, nota1 = nota)
Alum_notas %>%
dplyr::select(nota1) %>%
dplyr::summarise(quantile(nota1, 0.66)) #sacando quantil 0.66
## # A tibble: 1 x 1
## `quantile(nota1, 0.66)`
## <dbl>
## 1 5.5
Alum_notas %>%
dplyr::filter(grupo1 == "C") %>%
dplyr::summarise(quantile(nota1, 0.66)) #para lo de grupo C
## # A tibble: 1 x 1
## `quantile(nota1, 0.66)`
## <dbl>
## 1 5.81
7. Un alumno tiene una nota de 4.9. ¿Qué porcentaje, del total de alumnos, tiene una nota menor o igual que la suya? ¿Y qué porcentaje tiene una nota mayor o igual que la suya?
Resolución
Alum_notas <- dplyr::tibble(grupo1 = grupo, nota1 = nota)
menor_4.9 <- Alum_notas %>%
dplyr::filter(nota1 <= 4.9) %>%
dplyr::summarise(length(nota1))
((menor_4.9/nrow(Alum_notas))*100) #sacando porcentajes
## length(nota1)
## 1 46.875
mayor_4.9 <- Alum_notas %>%
dplyr::filter(nota1 >= 4.9) %>%
dplyr::summarise(length(nota1))
((mayor_4.9/nrow(Alum_notas))*100)
## length(nota1)
## 1 56.25
8. Realiza el gráfico de diagramas de caja de las notas de cada grupo, para poder comparar el nivel de cada uno de ellos.
Resolución
library(ggplot2)
Alum_notas <- dplyr::tibble(grupo1 = grupo, nota1 = nota)
Alum_notas %>% ggplot(mapping = aes(x = grupo1, y = nota1)) +
geom_boxplot()
9. Si la variable conc recoge la concentración de plomo (en ppm) en el aire de cierta zona durante un día completo
9.a ¿Cuál ha sido la concentración máxima?
9.b ¿En cuántos de los muestreos se ha superado la concentración de 40.0 ppm?
9.c ¿Cuál ha sido la concentración media del día?
9.d ¿Cuáles fueron las 10 mediciones más bajas del día?
9.e Si la primera medida fue a las 00:00. ¿A qué hora del día se alcanzó la concentración máxima?
Resolución de los ejercicios
9a. Resolución
concentrac <- dplyr::tibble(values = conc)
concentrac %>%
dplyr::summarise(max(values))
## # A tibble: 1 x 1
## `max(values)`
## <dbl>
## 1 47.3
9b. Resolución
concentrac %>%
dplyr::filter(values > 40.0) %>%
dplyr::summarise(length(values))
## # A tibble: 1 x 1
## `length(values)`
## <int>
## 1 61
9c. Resolución
concentrac %>%
dplyr::summarise(mean(values))
## # A tibble: 1 x 1
## `mean(values)`
## <dbl>
## 1 24.1
9d. Resolución
medicio_10 <- concentrac %>%
dplyr::arrange(values)
head(medicio_10, 10)
## # A tibble: 10 x 1
## values
## <dbl>
## 1 0.93
## 2 1.07
## 3 1.77
## 4 2.03
## 5 2.58
## 6 2.73
## 7 2.75
## 8 2.88
## 9 2.88
## 10 2.91
9e. Resolución
length(conc)
## [1] 288
tiempo_recojo <- 23/length(conc) #tiempo de recojo de cada concentracion
which(conc == max(conc)) #ocupacion dd la maxima concentracion
## [1] 142
produc <- tiempo_recojo * which(conc == max(conc))
produc
## [1] 11.34028