#tipos de datos
#fechas
#solo fecha
#la funcion as.date sirve para dar formato de fecha a una fecha mostrando solo aaaa-mm-dd
as.Date("2024/07/28")
## [1] "2024-07-28"
#fecha y hora
as.POSIXct("2024-07-28 23:22:00")
## [1] "2024-07-28 23:22:00 -05"
#LA FUNCION SYS.TIME SIRVE para retornar la fecha actual del sistema incluyendo la hora
#la funcion Sys.date sirve para retornar solamente la fecha actual sin la hora
Sys.time()
## [1] "2024-07-30 14:46:33 -05"
Sys.Date()
## [1] "2024-07-30"
#estructura de datos #vector
""
## [1] ""
nombres<-c("jose","jacqueline","camilo","sarita")
table(nombres)
## nombres
## camilo jacqueline jose sarita
## 1 1 1 1
codigospaises<-c(espana=180,canada=300,colombia=500)
codigospaises
## espana canada colombia
## 180 300 500
names(codigospaises)
## [1] "espana" "canada" "colombia"
table(codigospaises)
## codigospaises
## 180 300 500
## 1 1 1
#para acceder a una posicion especifica de un vector usamos el nombre del vector y la possicion que queremos consultar
codigospaises[3]
## colombia
## 500
codigospaises[1:2]
## espana canada
## 180 300
codigospaises[c(1,3)]
## espana colombia
## 180 500
class(codigospaises)
## [1] "numeric"
#Funciones para generar vectores
#la funcion seq sirve para generar una secuencia numerica de valor 1 hasta N, siendo N numero limite de la secuencia.
seq(1:10)
## [1] 1 2 3 4 5 6 7 8 9 10
help("seq")
## starting httpd help server ... done
seq(0,100,length.out=5)
## [1] 0 25 50 75 100
a<- c(1,"a",3.14)
matrices
mat<- matrix(1:12,nrow = 3,ncol = 4,byrow = TRUE)
mat
## [,1] [,2] [,3] [,4]
## [1,] 1 2 3 4
## [2,] 5 6 7 8
## [3,] 9 10 11 12
letras<-c("a","b","c","d","e","f","g","h","i")
matrixletras<-matrix(letras,nrow=3,ncol = 3,byrow=FALSE)
matrixletras
## [,1] [,2] [,3]
## [1,] "a" "d" "g"
## [2,] "b" "e" "h"
## [3,] "c" "f" "i"
vec_numeros <- c(3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18)
matrixejemplo<- matrix(1:16,nrow = 4,ncol = 4,byrow = TRUE)
matrixejemplo
## [,1] [,2] [,3] [,4]
## [1,] 1 2 3 4
## [2,] 5 6 7 8
## [3,] 9 10 11 12
## [4,] 13 14 15 16
matrixejemplo2 <- matrix(vec_numeros,nrow = 4,ncol = 4,byrow = FALSE)
matrixejemplo2
## [,1] [,2] [,3] [,4]
## [1,] 3 7 11 15
## [2,] 4 8 12 16
## [3,] 5 9 13 17
## [4,] 6 10 14 18
#La funcion rownames sirve para asignarle nombres a las filas de una matriz
rownames(matrixejemplo) <- c("F1","F2","F3","F4")
matrixejemplo
## [,1] [,2] [,3] [,4]
## F1 1 2 3 4
## F2 5 6 7 8
## F3 9 10 11 12
## F4 13 14 15 16
#colnames la funcion colnames sirve para asignarle nombres alas columnas de una matriz
colnames(matrixejemplo)<-c("C1","C2","C3","C4")
matrixejemplo
## C1 C2 C3 C4
## F1 1 2 3 4
## F2 5 6 7 8
## F3 9 10 11 12
## F4 13 14 15 16
#instruccion para acceder a una posicion de una matriz [fila,columna]
matrixejemplo[4,2]
## [1] 14
matrixejemplo[2,3]
## [1] 7
matrixejemplo[1,]
## C1 C2 C3 C4
## 1 2 3 4
matrixejemplo[,4]
## F1 F2 F3 F4
## 4 8 12 16
#listas ##las listas son un objeto que permite guardar la informacion o caracteristicas de algo.
b<-list(numero=1,texto="hola",logico=TRUE,decimal=pi)
print(b)
## $numero
## [1] 1
##
## $texto
## [1] "hola"
##
## $logico
## [1] TRUE
##
## $decimal
## [1] 3.141593
listaejemplo<- list(numero=40,texto="aprendizaje",logico=TRUE,decimal=pi)
print(listaejemplo)
## $numero
## [1] 40
##
## $texto
## [1] "aprendizaje"
##
## $logico
## [1] TRUE
##
## $decimal
## [1] 3.141593
#Crear lista con los datos de una persona nombre, edad, genero, tipo_sangre
lsDatosPersona <- list(nombre="Astrid",edad=40,genero="F",tipo_sangre="A+")
print(lsDatosPersona)
## $nombre
## [1] "Astrid"
##
## $edad
## [1] 40
##
## $genero
## [1] "F"
##
## $tipo_sangre
## [1] "A+"
#Acceder a los elementos de una lista
lsDatosPersona$tipo_sangre
## [1] "A+"
lsDatosPersona$nombre
## [1] "Astrid"
lsDatosPersona["nombre"]
## $nombre
## [1] "Astrid"
lsDatosPersona[2]
## $edad
## [1] 40
#Dataframe ##un dataframe en leguaje R permite darle formato a la cuadricula que contiene la matriz
df_mat<-as.data.frame(mat)
df_mat
## V1 V2 V3 V4
## 1 1 2 3 4
## 2 5 6 7 8
## 3 9 10 11 12
df_ejemplo<-as.data.frame(matrixejemplo)
df_ejemplo
## C1 C2 C3 C4
## F1 1 2 3 4
## F2 5 6 7 8
## F3 9 10 11 12
## F4 13 14 15 16
df<-data.frame(nombres=c("Rodolfo","Andres","Maria Daniela"),edades=c(23,24,25))
df
## nombres edades
## 1 Rodolfo 23
## 2 Andres 24
## 3 Maria Daniela 25
dfRecibosCasa <- data.frame(Tipo=c("Agua","Energia","Gas","Internet"),valor=c(56000,230000,15000,90000),estado_pago=c("Pagado","Pendiente","Pagado","Pagado"))
dfRecibosCasa
## Tipo valor estado_pago
## 1 Agua 56000 Pagado
## 2 Energia 230000 Pendiente
## 3 Gas 15000 Pagado
## 4 Internet 90000 Pagado