EJERCICIO 1: OPERACIONES

Calcula los valores numéricos aproximados de

\[\frac{0.3*0.15}{0.3*0.15+0.2*0.8+0.5*0.12} , \frac{5^{6}}{6!}e^{-5} \ y \ (\frac{20}{7})0.4^{7}0.6^{13} \]

#Operacion 1
x1 = (0.3*0.15)/(0.3*0.15+0.2*0.8+0.5*0.12)
x1
## [1] 0.1698113
#Operacion 2
e= exp(1)
n<-6 
factorial_6 <- factorial(n)
x2 = ( (5**6) / factorial_6 )*(e**-5)
x2
## [1] 0.1462228
#Operacion 3
n1 = (20/7)
n2 = 0.4**7
n3 = 0.6**13
x3 = n1*n2*n3
x3
## [1] 6.113897e-06

\[sol: \ 0.1698113, 0.1462228 \ y \ 0.1658823 \]

EJERCICIO 2: VECTORES

El vector alumnos representa los nombres de una serie de alumnos. Crear el vector alumnos con 20 nombres ___ 1. Visualízalo en pantalla 2. ¿Cuántas componentes tiene el vector alumnos? 3. ¿En qué posiciones del vector alumnos está la letra ‘A’?

alumnos <- c("Andrés","José","Luis","Pedro","A","Pablo",
"Lucas","Mateo","Santiago","Daniel","Leonardo","Valentina","Isabella","Sofía",
"Camila","Martina","Emilia","Victoria","Andrea","Leonidas")

#visualización de los elementos
alumnos
##  [1] "Andrés"    "José"      "Luis"      "Pedro"     "A"         "Pablo"    
##  [7] "Lucas"     "Mateo"     "Santiago"  "Daniel"    "Leonardo"  "Valentina"
## [13] "Isabella"  "Sofía"     "Camila"    "Martina"   "Emilia"    "Victoria" 
## [19] "Andrea"    "Leonidas"
#componentes del vector
 length(alumnos)
## [1] 20
#posición de la letra "A"
 
pos <- which(alumnos=="A")
pos
## [1] 5

EJERCICIO 3: VECTOR NOTAS

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 2.-¿Cuántas componentes tiene? 3.-¿Cuánto suman todas las notas? 4.-¿Cuál es la media aritmética de todas las notas? 5.-¿En qué posiciones están las notas mayores de 7? 6.-Visualiza las notas ordenadas de menor a mayor 7.-Visualiza las notas ordenadas de mayor a menor 8.-¿Cuál ha sido la nota máxima? 9.-¿En qué posición del vector está esa nota máxima?

notas <- c(15,14,13,12,11,10,9,8,3,20,4,6,2,8,4,0,4,2,1,6)
#visualización de los elementos
notas
##  [1] 15 14 13 12 11 10  9  8  3 20  4  6  2  8  4  0  4  2  1  6
#componentes del vector
length(notas)
## [1] 20
#Cuánto suman todas las notas
sum(notas)
## [1] 152
#media aritmética de todas las notas
media <- mean(notas)
media
## [1] 7.6
#En qué posiciones están las notas mayores de 7

not <- which(notas>7)
not
##  [1]  1  2  3  4  5  6  7  8 10 14
#Visualiza las notas ordenadas de menor a mayor

ascen<- sort(notas,decreasing = F)
ascen
##  [1]  0  1  2  2  3  4  4  4  6  6  8  8  9 10 11 12 13 14 15 20
#Visualiza las notas ordenadas de mayor a menor
descen<- sort(notas,decreasing = T)
descen
##  [1] 20 15 14 13 12 11 10  9  8  8  6  6  4  4  4  3  2  2  1  0
#¿Cuál ha sido la nota máxima? 

nmaxima <- max(notas)
nmaxima
## [1] 20
#¿En qué posición del vector está esa nota máxima? 

posnm <- which.max(notas)
posnm
## [1] 10

EJERCICIO 4: A partir de los vectores alumnos y notas definidos:

#Visualiza las notas de los 10 primeros alumnos
n1 <- head(notas,n=10)
n1
##  [1] 15 14 13 12 11 10  9  8  3 20
#Suma las notas de los 10 primeros alumnos del vector
sum1 <- sum(n1)
sum1
## [1] 115
#¿Cuántos alumnos hay en total?
total <- length(alumnos)
total
## [1] 20
#Suma las notas de los alumnos
totalsum <- sum(notas)
totalsum
## [1] 152
#¿Cuántos alumnos han aprobado?
aprobados <- notas[notas>=14]
aprobados
## [1] 15 14 20
#¿Qué porcentaje de alumnos han aprobado?
porcentajeal <- c(length(aprobados)/length(alumnos))
porcentajeal
## [1] 0.15
por <- porcentajeal*100
por
## [1] 15
cat("El",por,"% de los alumnos aprobaron")
## El 15 % de los alumnos aprobaron
#¿Cuáles han sido las notas máxima y mínima?
minima <-min(notas) 
minima
## [1] 0
cat("La nota mínima es:",minima)
## La nota mínima es: 0
nmaxima <- max(notas)
nmaxima
## [1] 20
cat("La nota máxima es:",nmaxima)
## La nota máxima es: 20
#¿De qué alumnos son la máxima y mínima notas?
a1 <- notas[10]
a1
## [1] 20
a12 <- alumnos[10]
a12
## [1] "Daniel"
cat("la nota máxima de:",a1,"es de:",a12)
## la nota máxima de: 20 es de: Daniel
b1 <- notas[16]
b1
## [1] 0
b12 <- alumnos[16]
b12
## [1] "Martina"
cat("la nota mínima de:",b1,"es de:",b12)
## la nota mínima de: 0 es de: Martina
#Nota media de alumnos, teniendo en cuenta sólo a los que han aprobado.
notmedia <- mean(aprobados)
notmedia
## [1] 16.33333

EJECICIOR 5: CREACIÓN Y MANIPULACIÓN DE VECTORES

  1. Crea un vector llamado vec1 que contenga los números del 1 al 10.
  2. Extrae el tercer y sexto elemento de vec1.
  3. Reemplaza el quinto elemento de vec1 por el número 99.
vec1 <- 1:10
# Extraer el tercer y sexto elemento de vec1
tercer_elemento <- vec1[3]
sexto_elemento <- vec1[6]

#los elementos extraídos
tercer_elemento
## [1] 3
sexto_elemento
## [1] 6
# Reemplazar 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

  1. Crea dos vectores vec2 y vec3 de longitud 5 con valores enteros aleatorios entre 1 y 20.
  2. Suma los vectores vec2 y vec3.
  3. Multiplica los vectores vec2 y vec3.
vec2 <- c(2, 34, 16, 23, 14)
vec3 <- c(33, 25, 51, 26, 8)

#Suma de los vectores
suma <- vec2 + vec3
suma
## [1] 35 59 67 49 22

EJERCICIO 7: FILTRADO DE VECTORES

  1. Crea un vector vec4 que contenga los valores 3, 5, 7, 2, 8, 10, 4, 6.
  2. Calcula la media, la mediana y la desviación estándar de vec4.
vec4 <- c(3, 5, 7, 2, 8, 10, 4, 6)

# Calcular la media de vec4
media <- mean(vec4)
media
## [1] 5.625
# Calcular la mediana de vec4
mediana <- median(vec4)
mediana
## [1] 5.5
# Calcular la desviación estándar de vec4
desviacion_estandar <- sd(vec4)
desviacion_estandar
## [1] 2.66927

EJERCICIO 8: FILTRADO DE VECTORES

  1. Crea un vector vec5 que contenga los números del 1 al 20.
  2. Filtra y crea un nuevo vector con los números de vec5 que sean mayores que 10.
vec5 <- 1:20
vec5_1 <- vec5[vec5> 10]
vec5_1
##  [1] 11 12 13 14 15 16 17 18 19 20

EJERCICIO 9: ORDENACIÓN DE VECTORES

  1. Crea un vector vec6 con los siguientes números: 12, 5, 13, 9, 2, 8, 10, 1.
  2. Ordena vec6 en orden ascendente.
  3. Ordena vec6 en orden descendente.
vec6 <- c(12, 5, 13, 9, 2, 8, 10, 1)

vec6_asc <- sort(vec6) 
vec6_asc 
## [1]  1  2  5  8  9 10 12 13
vec6_desc <- rev(sort(vec6)) 
vec6_desc
## [1] 13 12 10  9  8  5  2  1

EJERCICIO 10: OPERACIONES LÓGICAS

  1. Crea un vector vec7 que contenga los valores 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.
vec7 <- c(7, 14, 3, 8, 15, 1, 6, 10)

vec7_mayor5 <- vec7 > 5 

vec7_mayor5
## [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.
  2. Extrae los elementos de vec8 que sean múltiplos de 3.
vec8 <- c(11, 2, 19, 8, 5, 12, 3, 7)

multiplos <- vec8[vec8 %% 3 == 0]
multiplos
## [1] 12  3

EJERCICIO 12: FUNCIONES DE APLICACION

  1. Crea un vector vec9 que contenga los valores 2, 4, 6, 8, 10, 12, 14, 16.
  2. Aplica la función sqrt (raíz cuadrada) a cada elemento de vec9.
vec9 <- c(2, 4, 6, 8, 10, 12, 14, 16)

vecraiz <- sqrt(vec9)

vecraiz
## [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.
  2. Concatena vec10 y vec11 para formar un nuevo vector vec12.
# Definir dos vectores
vec10 <- c(1, 3, 5, 7)
vec11 <- c(4, 6, 8, 10)

# Concatenar los dos vectores
vec12 <- c(vec10, vec11)
vec12
## [1]  1  3  5  7  4  6  8 10

EJERCICIO 14: ELIMINACIÓN DE ELEMENTOS

  1. Crea un vector vec13 que contenga los números del 1 al 10.
  2. Elimina el cuarto y séptimo elemento de vec13.
v13 <- c(2, 3, 5, 4, 6, 1, 8, 9, 1, 2)

v0 <- c(4, 8)

v00 <- !v13 %in% v0

v14 <- v13[v00]
v14
## [1] 2 3 5 6 1 9 1 2