Ejercicio 1: Calcula los valores numéricos aproximados de

Planteamiento del problema:

  • Calcular el valor de las siguientes operaciones utilizando comandos aprendidos en Rstudio.
## a
x <- 0.3*0.15
y <- 0.2*0.8
z <- 0.5*0.12
x
## [1] 0.045
y
## [1] 0.16
z
## [1] 0.06
so1l <- (x/(x+y+z))
so1l
## [1] 0.1698113
## b
k <- factorial(6)
l <- 5**6
m <- (exp(1))**-5
k
## [1] 720
l
## [1] 15625
m
## [1] 0.006737947
so2l <- (l/k)*m
so2l
## [1] 0.1462228
## c
a <- (factorial(20)/(factorial(7)*factorial(20-7)))
b <- 0.4**7
c <- 0.6**13
a
## [1] 77520
b
## [1] 0.0016384
c
## [1] 0.001306069
so3l <- a*b*c
so3l
## [1] 0.1658823

Ejercicio 2: 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’?

Planteamiento del problema:

  • Crear un vector llamado alumnos que contenga los nombres de alumnos en serie para poder posteriormente hacer procesos de cálculo y selección.
Alumnos<-c("Alex","Maria","David","Estefania","Alegandro","Samantha","Jose",
           "Erika","Danilo","Nohemi","Johan","Kristhel","Fabian","Camila",
           "Melany","Carlos","Gaby","Melany","Daniela","Gabriel")

Alumnos #Imprimimos la variable
##  [1] "Alex"      "Maria"     "David"     "Estefania" "Alegandro" "Samantha" 
##  [7] "Jose"      "Erika"     "Danilo"    "Nohemi"    "Johan"     "Kristhel" 
## [13] "Fabian"    "Camila"    "Melany"    "Carlos"    "Gaby"      "Melany"   
## [19] "Daniela"   "Gabriel"
length(Alumnos) #Con esta funcion contamos los componentes del vector
## [1] 20
p<-grep("A",Alumnos) #Seleccionamos las posiciones que contengas coincidencia
p #Imprimimos la variable
## [1] 1 5

Ejercicio 3: 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?

Planteamiento del problema:

  • Crear un vector llamado notas que contenga las notas de los alumnos en serie para poder posteriormente hacer procesos de cálculo y selección.
notas<-c(5,6,9,4,9,8,7,5,9,6,8,5,6,7,8,9,8,5,10,6)
notas #Imprimimos la variable
##  [1]  5  6  9  4  9  8  7  5  9  6  8  5  6  7  8  9  8  5 10  6
length(notas) #Con esta funcion contamos los componentes del vector
## [1] 20
sum(notas) #Esta funcion sumamos todos los elementos del vector
## [1] 140
mean(notas) #Con mean sacamos el promedio de las notas
## [1] 7
which(notas>7) #Con which indicamos las posiciones que cumplen >7
## [1]  3  5  6  9 11 15 16 17 19
sort(notas) #Con sort ordenamos de menor a mayor las notas
##  [1]  4  5  5  5  5  6  6  6  6  7  7  8  8  8  8  9  9  9  9 10
sort(notas,decreasing = T) #Con sort ordenamos las notas de forma decendente pero agregando el valor TRUE para decreasing  
##  [1] 10  9  9  9  9  8  8  8  8  7  7  6  6  6  6  5  5  5  5  4
max(notas) #Muestra la nota mas alta del vector
## [1] 10
which(notas==10) #Indica la posicion de la nota mas alta 
## [1] 19

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

  1. Visualiza las notas de los 10 primeros alumnos
  2. Suma las notas de los 10 primeros alumnos del vector
  3. ¿Cuántos alumnos hay en total?
  4. Suma las notas de los alumnos
  5. ¿Cuántos alumnos han aprobado?
  6. ¿Qué porcentaje de alumnos han aprobado?
  7. ¿Cuáles han sido las notas máxima y mínima?
  8. ¿De qué alumnos son la máxima y mínima notas?
  9. Nota media de alumnos, teniendo en cuenta sólo a los que han aprobado.

Planteamiento del problema:

*Una vez creados los vectores realizaremos cálculos de notas con rangos y posiciones incluyendo las caracteres que son los alumnos haciendo en algunos casos combinaciones entre los 2 vectores.

notas[1:10] #Visualizamos las 10 primeras notas imprimiendo el vector pero seleccionando un rango 
##  [1] 5 6 9 4 9 8 7 5 9 6
sum(notas[1:10]) #Sumamos las notas pero con un rango de elementos selecionados
## [1] 68
length(Alumnos) #Indica los elementos del vector
## [1] 20
sum(notas) #Sumamos todas las notas del vector
## [1] 140
x<-sum(notas>=7) #Sumamos los elementos que cumplen la condicion
x #Imprimimos la variable
## [1] 11
Porcentaje<-(x*100)/length(Alumnos) #Usuamos la variable x ya definida  y hacemos una regla de 3 para calcular el porcentaje 
cat(Porcentaje,"%") #Esta funcion son ayuda a imprimir mejor el resultado 
## 55 %
cat("Nota maxima") #Impresión 
## Nota maxima
max(notas) #Muestra la nota mas alta 
## [1] 10
cat("Nota minima") #Impresión 
## Nota minima
min(notas) #Muestra la nota mas baja
## [1] 4
cat("Alumno nota maxima") #Impresión  
## Alumno nota maxima
p<-which.max(notas) #Buscamos la posicion de la nota mas alta
Alumnos[p] #Usamos la variable de la posicion para buscar al estudiante
## [1] "Daniela"
cat("Alumno nota minima") #Impresión
## Alumno nota minima
q<-which.min(notas) #Buscamos la posicion de la nota mas alta
Alumnos[q] #Usamos la variable de la posicion para buscar al estudiante
## [1] "Estefania"
y<-round(sum(notas[notas>=7])/length(notas[notas>=7]),2) #Sumamos las notas que cumplen la condicion >= 7 y dividimos para el numero de estudiantes aprobados
cat("Promedio de notas de alumnos aprobados es:",y) #Impresión
## Promedio de notas de alumnos aprobados es: 8.36

Ejercicio 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.

Planteamiento del problema:

  • Crea un vector llamado vec1 que contenga los números del 1 al 10.Extrae el tercer y sexto elemento de vec1.Reemplaza el quinto elemento de vec1 por el número 99. Problema: Utilizando los conocimientos aprendidos de Rstudio, resolver los siguientes literales:
vec1 <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
vec1
##  [1]  1  2  3  4  5  6  7  8  9 10
#Extrae el tercer y sexto elemento de vec1.
k1 <- vec1[-c(3,6)]
k1
## [1]  1  2  4  5  7  8  9 10
#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

  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.

Planteamiento del problema:

  • Crea dos vectores vec2 y vec3 de longitud 5 con valores enteros aleatorios entre 1 y 20.Suma los vectores vec2 y vec3.Multiplica los vectores vec2 y vec3. Problema: Operaciones aritméticas con vectores de longitud 5. Crear vectores vec2 y vec3, sumar y multiplicar sus valores aleatorios entre 1 y 20.
vec2 <- round(runif(5, min=1, max=20))
vec2
## [1] 9 4 8 5 5
vec3 <- round(runif(5, min=1, max=20))
vec3
## [1]  4  8  3 10 13
#Suma los vectores vec2 y vec3.
suma <-outer(vec2, vec3, "+")
suma
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   13   17   12   19   22
## [2,]    8   12    7   14   17
## [3,]   12   16   11   18   21
## [4,]    9   13    8   15   18
## [5,]    9   13    8   15   18
#Multiplica los vectores vec2 y vec3.
mult <-outer(vec2, vec3, "*")
mult
##      [,1] [,2] [,3] [,4] [,5]
## [1,]   36   72   27   90  117
## [2,]   16   32   12   40   52
## [3,]   32   64   24   80  104
## [4,]   20   40   15   50   65
## [5,]   20   40   15   50   65

Ejercicio 7: Funciones de Resumen

  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.

Planteamiento del problema:

  • Crea un vector vec4 que contenga los valores 3, 5, 7, 2, 8, 10, 4, 6.Calcula la media, la mediana y la desviación estándar de vec4. Problema:Dado un vector de datos numéricos aleatorios, se requiere realizar la moda, mediana y desviación estándar:
vec4 <- c(3,5,7,2,8,10,6)
vec4
## [1]  3  5  7  2  8 10  6
#Calcula la media, la mediana y la desviación estándar de vec4.
med <- mean(vec4) #media
med
## [1] 5.857143
me2 <- median(vec4) #mediana
me2
## [1] 6
de <- sd(vec4) #desviación estandar
de
## [1] 2.794553

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.

Planteamiento del problema:

  • Despúes de crear el vector, necesitamos filtrar los números que sean mayores a 5, entonces escribimos el nombre de nuestro vector y seguido abrimos corchetes, esto nos va permitir filtrar; dentro de los corchetes escribimos nuevamente el nombre del vector, luego el signo de comparación y al final el número a comparar, si deseamos almacenar los valores obtenidos podemos guardarlos dentro de una nueva variable.
vec5 <- c(1:20) # Creamos un vector llamado "vec5", que contenga los números del 1 al 20.
vec5 # Imprimimos la variable.
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
vector_filtrado <- vec5[vec5>10] # Filtrar los números de vec5, que sean mayor a 10.
vector_filtrado # Imprimimos la variable.
##  [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.

Planteamiento del problema:

  • Para ordenar ascendentemente usamos “sort()”, dentro de los paréntesis escribimos el vector a ordenar, por defecto nos va devolver el orden de menor a mayor; si queremos ordenar de mayor a menor, se hace el mismo proceso , pero antes de cerrar paréntesis, escribimos una coma, luego “decreasing= T”, ahora si podemos cerrar el paréntesis.
vec6 <- c(12,5,13,9,2,8,10,1) # Creamos un vector llamado "vec6", que contenga los números: 12,5,13,9,2,8,10,1.
vec6 # Imprimimos la variable
## [1] 12  5 13  9  2  8 10  1
sort(vec6) # Ordenamos "vec6" de menor a mayor.
## [1]  1  2  5  8  9 10 12 13
sort(vec6, decreasing=T) # Ordenamos "vec6"  de mayor a menor.
## [1] 13 12 10  9  8  5  2  1

Ejercicio 10: Operaciones Lógicas con Vectores

  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.

Planteamiento del problema:

  • Sin usar corchetes, escribimos el vector, luego el signo de comparación y al final el número a comparar, nos va devolver valores booleanos, indicando si la condición que escribimos se cumple en cada uno de los valores almacenados en el vector, si deseamos podemos almacenar los valores booleanos en una nueva variable.
vec7 <- c(7,14,3,8,15,1,6,10) # Creamos un vector llamado "vec7", que contenga los números: 7,14,3,8,15,1,6,10.
vec7 # Imprimimos la variable.
## [1]  7 14  3  8 15  1  6 10
vector_bool <- vec7>5 # Usamos el operador relacional ">", para comparar cada número de "vec7", si es mayor a 5, nos va devolver TRUE, caso contrario es FALSE.
vector_bool # Imprimimos la variable.
## [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.

Planteamiento del problema:

  • Extraer números que sean múltiplos de otro número, usamos la condición de que, al dividir un número por otro número, el primer residuo que se obtenga sea cero, caso contrario no es múltiplo de dicho número; usamos %%(Módulo) y agregamos la condición de que sea igual a cero; se debe escribir el nombre del vector junto con corchetes; dentro de los corchetes debe ir la condición que se mencionó anteriormente.
vec8 <- c(11,2,19,8,5,12,3,7) # Creamos un vector llamado "vec8", que contenga los números: 11,2,19,8,5,12,3,7.
vec8 # Imprimimos la variable
## [1] 11  2 19  8  5 12  3  7
vec8[vec8%%3==0] # Extraemos los números que sean múltiplos de 3, usamos %% (Módulo).
## [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.
  2. Aplica la función sqrt (raíz cuadrada) a cada elemento de vec9.

Planteamiento del problema:

  • De un vector que nosotros creamos debemos sacar la raíz cuadrada de cada uno de sus elementos.
vec9 <- c(2,4,6,8,10,12,14,16) # Creamos el vector llamado "vec9" y asignamos los valores
vec9 <- sqrt(vec9[1:8]) # Aplicamos la función de raíz cuadrada a cada elemento del vector
vec9 # Imprimimos el vector
## [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.

Planteamiento del problema:

  • Hay que crear dos vectores que tengan la misma longitud para luego estos vectores que creamos tenemos que hacer que se concatenen uno con el otro.
vec10 <- sample(4) # Creamos el "vector10" con los  valores enteros
vec10 # Imprimimos el "vector10"
## [1] 2 4 1 3
vec11 <- sample(4) # Creamos el "vector11" con los  valores enteros
vec11 # Imprimimos el "vector11"
## [1] 3 2 4 1
vec12 <- c(vec10,vec11) # Concatenamos el "vector10" y el "vector11" en el "vector12"
vec12 # Imprimimos el "vector12"
## [1] 2 4 1 3 3 2 4 1

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.

Planteamiento del problema:

  • Primero hay que generar un vector, el cual tendra los números del 1 al 10, para luego con este vector eliminar al cuarto y septimo elemento del vector.
vec13 <- 1:10 # Creamos el "vec13" con numeros del 1 al 10
vec13 # Imprimimos el "vec13"
##  [1]  1  2  3  4  5  6  7  8  9 10
vec13 <- vec13[-c(4,7)] # Eliminamos el cuarto y septimo elemento del "vec13"
vec13 # Imprimimos el vector
## [1]  1  2  3  5  6  8  9 10