1 ME FALTO!!!!!!

1.1 librerias

library(readxl) # para cargar documentos de exel
## Warning: package 'readxl' was built under R version 4.3.3
library(dplyr) # para manipular elementos como matrix, data.frame y list
## Warning: package 'dplyr' was built under R version 4.3.3
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

1.2 portada o tabla de contenido

title: “clase_8”

author: “Nicolas Trujillo Perdomo”

date: “2025-03-13” (date:“r Sys.Date()”)

output:

html_document:

toc: true

toc_float: true

number_sections: true

2 Creacion de una lista con “list()”

Ejemplo:

df <- list(numeros =c(1, 2, 3, 4, 5), 
           nombres =c("Ana", "Luis", "Carlos"), matriz =(matrix(1:9, nrow = 3, ncol = 3)))
print(df)
## $numeros
## [1] 1 2 3 4 5
## 
## $nombres
## [1] "Ana"    "Luis"   "Carlos"
## 
## $matriz
##      [,1] [,2] [,3]
## [1,]    1    4    7
## [2,]    2    5    8
## [3,]    3    6    9

3 Uso de la funcion dplyr

haciendo uso de una data.frame vamos a hacer uso de la siguiente funcion.

nombre<-c("Maura", "Camila", "Johan_s", "Elkin", "Alejandro", "Yandry", "Nicolas", "Dirley", "William", "Daniela", "Steven", "Yuliana", "Karen", "Jose", "Santiago", "Johan", "Santiago", "Daniela")
edad<-c(20, 21, 21, 18, 17, 19, 20, 19, 24, 18, 22, 20, 19, 21, 20, 19, 20, 19)
promedio<-c(3.5, 3.5, 3.5, 3.3, 3.3, 3.92, 3.74, 3.6, 3.5, 3.2, 3.3, 3.3, 3.5, 3.4, 3.5, 3.9, 3.7, 3.7)
semestre<-c(7, 8, 7, 3, 3, 7, 7, 7, 10, 7, 6, 8, 7, 7, 5, 5, 6, 5)
esta_nivelado<-c("si", "no", "no", "no", "no", "si", "si", "no", "no", "no", "no", "no", "no", "no", "no", "si", "no", "si")

datos<-data.frame(Estudiantes = nombre, edad, promedio, semestre, esta_nivelado)

print(datos) 
##    Estudiantes edad promedio semestre esta_nivelado
## 1        Maura   20     3.50        7            si
## 2       Camila   21     3.50        8            no
## 3      Johan_s   21     3.50        7            no
## 4        Elkin   18     3.30        3            no
## 5    Alejandro   17     3.30        3            no
## 6       Yandry   19     3.92        7            si
## 7      Nicolas   20     3.74        7            si
## 8       Dirley   19     3.60        7            no
## 9      William   24     3.50       10            no
## 10     Daniela   18     3.20        7            no
## 11      Steven   22     3.30        6            no
## 12     Yuliana   20     3.30        8            no
## 13       Karen   19     3.50        7            no
## 14        Jose   21     3.40        7            no
## 15    Santiago   20     3.50        5            no
## 16       Johan   19     3.90        5            si
## 17    Santiago   20     3.70        6            no
## 18     Daniela   19     3.70        5            si

3.1 “filter()” para filtrar datos

3.1.1 Ejemplo.

Para filtrar los datos de la edad para aquellos mayores con 22 años.

library(dplyr)

datos_filtrado <- datos %>% filter(edad > 20)

print(datos_filtrado)
##   Estudiantes edad promedio semestre esta_nivelado
## 1      Camila   21      3.5        8            no
## 2     Johan_s   21      3.5        7            no
## 3     William   24      3.5       10            no
## 4      Steven   22      3.3        6            no
## 5        Jose   21      3.4        7            no

3.2 Para Remplazar valores con la medida de la columna de los datos

3.2.1 Ejemplo.

dado un dataframe con valores faltantes o erroneos podemos acomudar la data con el siguiente codigo.

dat <- data.frame(Nombre = c("Ana", "Luis", "Carlos"), Edad = c(25, NA, 22))

print(dat)
##   Nombre Edad
## 1    Ana   25
## 2   Luis   NA
## 3 Carlos   22
dat$Edad[is.na(dat$Edad)] <- round(mean(dat$Edad, na.rm = TRUE)) # se hizo el uso inecesario de round() para aproximar el dato.

print(dat)
##   Nombre Edad
## 1    Ana   25
## 2   Luis   24
## 3 Carlos   22