SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Tipos de datos en R
Cristian Alejandro Rojas
carojasq@correo.udistrital.edu.co
DOCTORADO EN INGENIERÍA
CURSO DE R
Objetos
R opera con objetos:
● Tipos de datos atómicos
● Vectores y Listas
● Matrices y Dataframes
● Factores
Algunas funciones generales para el manejo de
objetos
● class(obj) : Retorna el tipo de clase de un objeto.
● object.size(obj): Retorna el tamaño de un objeto en memoria .
● str(obj) : Muestra la estructura de un objeto de manera compacta.
● summary(obj): Genera información “resumen” de determinado objeto.
● head(obj) ó tail(obj): Útil para visualizar los primeros o últimos 10 elementos
de una lista, vector, matriz o dataframe.
● set.seed(124): Define semilla para la generación de números aleatorios.
Máxima asignación de memoria a un proceso
● Visualizar: ulimit -v
● Definir: ulimit -v 4000000
Tipos de datos atómicos
● Caracter
● Numérico
○ Especiales (Inf y Nan)
● Entero
● Complejo
● Lógico
Tipos de datos atómicos: Caracteres y Strings
● Se refiere a un carácter o una cadena de texto.
● Clase: character
x <- “Hola”
● Concatenacíon
c <- paste(a,b)
● Tamaño de un string
nchar(c)
Tipos de datos atómicos: Numéricos
● Similar a double
● Clase: numeric
● Máximo posible y mínimo posible
.Machine$double.xmax .Machine$double.xmin
● Se ejemplifica así:
x <- 2
Tipos de datos atómicos: Numéricos (Especiales)
● Inf
○ Representa a infinito. Puede ser resultado de una operación de división por 0.
x <- 1/0
● Nan
○ Representa un valor no numérico o no determinado como por ejemplo un dato faltante en un
dataset. Puede también ser el resultado de una operación no válida. Ejemplo:
x <- Inf/Inf
Tipos de datos atómicos: Enteros
● Util para representar IDs.
● Class: Integer
● Se deben declarar específicamente a través de:
x <- as.integer(1)
x <- 1L
● Máximo posible y mínimo posible
.Machine$integer.xmax .Machine$integer.xmin
Tipos de datos atómicos: Complejos
● Class: complex
● Se ejemplifican así:
● Módulo, argumento y conjugado
● Raíz cuadrada de un número negativo
sqrt(as.complex(1))
complex(real = x, imaginary = y) x <- 1 + 1i
Mod(x) Arg(x) Conj(z)
Tipos de datos atómicos: Lógicos
● Datos de tipo Booleano (TRUE, FALSE)
x <- FALSE
● Se puede asignar mediante una comparación
z <- (1>5)
Listas y Vectores: Vectores
● Colección de objetos del mismo tipo.
● Se ejemplifica así:
● Concatenación
concatenado <- c(a,a)
a <- c(1,2,3...) a <- 1:10
x<-runif(100,100, 200) x <- seq(1,100,2)
Listas y Vectores: Listas
● Se ejemplifica así:
l <- list(“carro”, 1, 2, TRUE, FALSE)
● Puede contener objetos de cualquier tipo (Incluso otras listas)
#Ejemplo conteniendo otros objetos de tipo no atómico
pts <- list(x = cars[,1], y = cars[,2])
● Obtener lista de valores lógicos basado en condicional
x > 4
Retorna lista de valores lógicos que depende de que la condición se cumpla.
Listas y Vectores: Comparación de desempeño
● Memoria
● Procesamiento
> format(object.size(a), units="auto")
[1] "76.3 Mb"
format(object.size(b), units="auto")
[1] "534.1 Mb"
system.time(a+a)
user system elapsed
0.857 1.129 2.388
system.time(lapply(seq_along(b),function(i)
+ unlist(b[i])+unlist(
+ b[i])))
user system elapsed
67.002 0.000 66.091
a <- runif(10000000, 10, 100) b <- as.list(runif(10000000))
Matrices y Dataframes: Matrices
● Almacena datos del mismo tipo. Class: matrix
● Se ejemplifica así:
● Es posible darles un nombre de columna y de fila.
● Algunas operaciones básicas:
rownames(a) <- c('a', 'a', 'a', 'b', 'b', 'b') colnames(a) <- c('foo', 'bar', 'bat')
matrix(data, nrow=filas, ncol=columnas) matrix(1:18, nrow=6, ncol=3)
sum(Matrix)
dim(Matrix)
rowSums(Matrix)
nrow(Matrix)
colSums(Matrix)
ncol(Matrix)
Matrices y Dataframes: Matrices (Acceso)
● Acceder a un dato específico
● Acceder a una fila o filas
● Acceder a una columna o columnas
● Acceder a una sección específica
a[10] <- Accede al décimo elemento. Si
es una matriz de 6x3 accede al elemento
4 de la segunda columna.
a[4,2] <- Accede al elemento 4 de la 2
columna.
a[3,] a[c(2,3),]
a[,3] a[,c(2,3)]
a[3,3] a[c(2,3),c(2,3)]
Matrices y Dataframes: Matrices (Operaciones)
● Añadir fila
rbind(a, c(1,2,3))
● Añadir columna
cbind(a, c(1,2,3,212,2,12))
● Concatenar matrices
○ Horizontalmente (c <-cbind(a,b))
○ Verticalmente (d <-rbind(a,b))
Matrices y Dataframes: Dataframes
● Clase: data.frame
● Similar a una base de datos relacional.
● Se ejemplifica así:
df<-data.frame(cbind(School=1, ID=1:5, Test=c(“math”,”read”,”math”,”geo”,”hist”)))
● Cada columna tiene asignado un tipo de dato.
str(df)
● Cada columna tiene asignado un nombre.
names(df)
Matrices y Dataframes: Dataframes
● Para cambiar los nombres de las columnas se puede usar:
names(df) <- c(“Col1”, “Col2renamed”, “Col3”)
● Es el tipo de dato más común en el cual se almacenan datasets.
Ejemplo: Datasets contenidos en HistData.
● Algunas operaciones básicas:
sum(df)
dim(df)
rowSums(df)
nrow(df)
colSums(df)
ncol(df)
Matrices y Dataframes: Dataframes (Acceso)
● Acceso por nombre de columna o columnas (2 notaciones)
● Acceso por número de fila o varias filas
● Accediendo por condición
df[1,] df[c(1,2), ], df[seq(1,20,2),]
df$Columna df[,c(“Col1”, “Col2”)] df[,c(“Col1”, “Col2”)]
df[df$Col>5,] df[df$Col==”5”,] df[df$col1>69 &
df$col2>73,]
Matrices y Dataframes: Dataframes (Operaciones)
● Añadir una nueva Columna (Mismo tamaño de columna)
df$nuevacolumna <- c(1,2,3)
● Añadir nueva fila de datos o concatenar 2 dataframes (Mismas columnas)
new <- rbind(a, b)
Factores
● Clase: factors
● Compuesto de levels y names.
● Útiles para categorización de datos.
● Ejemplificación
#Desde lista de valores:
schtyp <- sample(0:1, 20, replace = TRUE)
schtyp <- factor(schtyp, labels = c("private", "public"))
# Desde cadena de texto
strings <- c("low", "middle", "low", "low", "low", "low", "middle", "low", "middle", "middle", "middle",
"middle", "middle", "high", "high", "low", "middle", "middle", "low", "high")
data <- as.factor(strings)
Funciones de conversión
● as.class(obj) -> Convierte un objeto o una colección de objetos de un tipo de
dato a otro tipo de dato. class puede ser:
○ character
○ list
○ vector
○ matrix
○ factor
○ logical
○ data.frame
○ complex
Funciones de validación
● is.class(obj) -> Verifica que un objeto se a de determinada clase. class puede
ser:
○ character
○ list
○ vector
○ matrix
○ factor
○ logical
○ data.frame
○ complex
● Is.integer no verifica que el dato sea entero sino que sea almacenado como
entero.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Uso Ident matlab
Uso Ident matlabUso Ident matlab
Uso Ident matlab
 
Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12
 
Objetos
ObjetosObjetos
Objetos
 
Objetos
ObjetosObjetos
Objetos
 
[Sesion03] introduccion python
[Sesion03] introduccion python[Sesion03] introduccion python
[Sesion03] introduccion python
 
Dominio y recorrido
Dominio y recorridoDominio y recorrido
Dominio y recorrido
 
Métodos
MétodosMétodos
Métodos
 
Taller 1 6
Taller 1 6Taller 1 6
Taller 1 6
 
Taller 1 6
Taller 1 6Taller 1 6
Taller 1 6
 
Lección 1. Tipos de datos en R
Lección 1. Tipos de datos  en RLección 1. Tipos de datos  en R
Lección 1. Tipos de datos en R
 
Wx maxima
Wx maximaWx maxima
Wx maxima
 
matlab
matlabmatlab
matlab
 
Descubriendo scala
Descubriendo scalaDescubriendo scala
Descubriendo scala
 
ARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICES
 
Matlab graficas en 2 d y 3d
Matlab   graficas en 2 d y 3dMatlab   graficas en 2 d y 3d
Matlab graficas en 2 d y 3d
 
Graficas en matlab 2 d y 3d
Graficas en matlab 2 d y 3dGraficas en matlab 2 d y 3d
Graficas en matlab 2 d y 3d
 
Red neuronal recurrente
Red neuronal recurrenteRed neuronal recurrente
Red neuronal recurrente
 
Presentation precalculo2
Presentation precalculo2Presentation precalculo2
Presentation precalculo2
 
ecuaciones diferenciales
ecuaciones diferencialesecuaciones diferenciales
ecuaciones diferenciales
 
(3) Curso sobre el software estadístico R: La librería ggplot2
(3) Curso sobre el software estadístico R: La librería ggplot2(3) Curso sobre el software estadístico R: La librería ggplot2
(3) Curso sobre el software estadístico R: La librería ggplot2
 

Destacado

AnáLisis EstadíStico De Datos Usando R 1
AnáLisis EstadíStico De Datos Usando R 1AnáLisis EstadíStico De Datos Usando R 1
AnáLisis EstadíStico De Datos Usando R 1Pablo R.
 
Inteligencia de negocios (BI) y Analítica de negocios (BA): Un enfoque en R
Inteligencia de negocios (BI) y Analítica de negocios (BA): Un enfoque en RInteligencia de negocios (BI) y Analítica de negocios (BA): Un enfoque en R
Inteligencia de negocios (BI) y Analítica de negocios (BA): Un enfoque en RLuis Joyanes
 
Prueba de homogeneidad de varianza
Prueba de homogeneidad de varianzaPrueba de homogeneidad de varianza
Prueba de homogeneidad de varianzaRaul Flores Mara
 
El poder de la palabra bra-robert-dilts
El poder de la palabra bra-robert-diltsEl poder de la palabra bra-robert-dilts
El poder de la palabra bra-robert-diltsalexus1010
 

Destacado (6)

Introducción al R Commander
Introducción al R CommanderIntroducción al R Commander
Introducción al R Commander
 
Análisis de datos: R vs Python
Análisis de datos: R vs PythonAnálisis de datos: R vs Python
Análisis de datos: R vs Python
 
AnáLisis EstadíStico De Datos Usando R 1
AnáLisis EstadíStico De Datos Usando R 1AnáLisis EstadíStico De Datos Usando R 1
AnáLisis EstadíStico De Datos Usando R 1
 
Inteligencia de negocios (BI) y Analítica de negocios (BA): Un enfoque en R
Inteligencia de negocios (BI) y Analítica de negocios (BA): Un enfoque en RInteligencia de negocios (BI) y Analítica de negocios (BA): Un enfoque en R
Inteligencia de negocios (BI) y Analítica de negocios (BA): Un enfoque en R
 
Prueba de homogeneidad de varianza
Prueba de homogeneidad de varianzaPrueba de homogeneidad de varianza
Prueba de homogeneidad de varianza
 
El poder de la palabra bra-robert-dilts
El poder de la palabra bra-robert-diltsEl poder de la palabra bra-robert-dilts
El poder de la palabra bra-robert-dilts
 

Similar a Tipos de datos en R

Similar a Tipos de datos en R (20)

Bryan gordillo ensayo_arreglos
Bryan gordillo ensayo_arreglosBryan gordillo ensayo_arreglos
Bryan gordillo ensayo_arreglos
 
Comandos r
Comandos rComandos r
Comandos r
 
Programación de código
Programación de códigoProgramación de código
Programación de código
 
Curso de introduccion_al_matlab
Curso de introduccion_al_matlabCurso de introduccion_al_matlab
Curso de introduccion_al_matlab
 
Material Clase BDD: Diseño de una Base de Datos
Material Clase BDD: Diseño de una Base de DatosMaterial Clase BDD: Diseño de una Base de Datos
Material Clase BDD: Diseño de una Base de Datos
 
Matlab presentacion enero2012
Matlab presentacion enero2012Matlab presentacion enero2012
Matlab presentacion enero2012
 
Sql basico parte_ii_
Sql basico parte_ii_Sql basico parte_ii_
Sql basico parte_ii_
 
Matlab
MatlabMatlab
Matlab
 
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
Aedii pilas colas_y_recursividad_teoria_sem07_a_sem10
 
Matlab
MatlabMatlab
Matlab
 
Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzada
 
Pds0 a introducción al matlab
Pds0 a introducción al matlabPds0 a introducción al matlab
Pds0 a introducción al matlab
 
Transformaciones modelo a modelo: ATL (ParteII)
Transformaciones modelo a modelo: ATL (ParteII)Transformaciones modelo a modelo: ATL (ParteII)
Transformaciones modelo a modelo: ATL (ParteII)
 
06 - Arrays y matrices en lenguaje C
06 - Arrays y matrices en lenguaje C06 - Arrays y matrices en lenguaje C
06 - Arrays y matrices en lenguaje C
 
Introduccion a Python y Data Science
Introduccion a Python y Data ScienceIntroduccion a Python y Data Science
Introduccion a Python y Data Science
 
Mysql
MysqlMysql
Mysql
 
Seminario de matlab
Seminario de matlabSeminario de matlab
Seminario de matlab
 
Lenguaje r
Lenguaje rLenguaje r
Lenguaje r
 
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
 
MATLAB 2010
MATLAB 2010MATLAB 2010
MATLAB 2010
 

Más de Cristian Alejandro Rojas Quintero (7)

Desarrollo e implentación de una plataforma bioinformática para el análisis R...
Desarrollo e implentación de una plataforma bioinformática para el análisis R...Desarrollo e implentación de una plataforma bioinformática para el análisis R...
Desarrollo e implentación de una plataforma bioinformática para el análisis R...
 
Lenguaje de programación Ruby
Lenguaje de programación RubyLenguaje de programación Ruby
Lenguaje de programación Ruby
 
Metasploit
MetasploitMetasploit
Metasploit
 
Tutorial freeradius + Mysql
Tutorial freeradius + MysqlTutorial freeradius + Mysql
Tutorial freeradius + Mysql
 
Nmap
NmapNmap
Nmap
 
High Performance Computing con Software libre
High Performance Computing con Software libreHigh Performance Computing con Software libre
High Performance Computing con Software libre
 
Hpc
HpcHpc
Hpc
 

Último

FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwealekzHuri
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirPaddySydney1
 

Último (20)

FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
CULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartirCULTURA NAZCA, presentación en aula para compartir
CULTURA NAZCA, presentación en aula para compartir
 

Tipos de datos en R

  • 1. Tipos de datos en R Cristian Alejandro Rojas carojasq@correo.udistrital.edu.co DOCTORADO EN INGENIERÍA CURSO DE R
  • 2. Objetos R opera con objetos: ● Tipos de datos atómicos ● Vectores y Listas ● Matrices y Dataframes ● Factores
  • 3. Algunas funciones generales para el manejo de objetos ● class(obj) : Retorna el tipo de clase de un objeto. ● object.size(obj): Retorna el tamaño de un objeto en memoria . ● str(obj) : Muestra la estructura de un objeto de manera compacta. ● summary(obj): Genera información “resumen” de determinado objeto. ● head(obj) ó tail(obj): Útil para visualizar los primeros o últimos 10 elementos de una lista, vector, matriz o dataframe. ● set.seed(124): Define semilla para la generación de números aleatorios. Máxima asignación de memoria a un proceso ● Visualizar: ulimit -v ● Definir: ulimit -v 4000000
  • 4. Tipos de datos atómicos ● Caracter ● Numérico ○ Especiales (Inf y Nan) ● Entero ● Complejo ● Lógico
  • 5. Tipos de datos atómicos: Caracteres y Strings ● Se refiere a un carácter o una cadena de texto. ● Clase: character x <- “Hola” ● Concatenacíon c <- paste(a,b) ● Tamaño de un string nchar(c)
  • 6. Tipos de datos atómicos: Numéricos ● Similar a double ● Clase: numeric ● Máximo posible y mínimo posible .Machine$double.xmax .Machine$double.xmin ● Se ejemplifica así: x <- 2
  • 7. Tipos de datos atómicos: Numéricos (Especiales) ● Inf ○ Representa a infinito. Puede ser resultado de una operación de división por 0. x <- 1/0 ● Nan ○ Representa un valor no numérico o no determinado como por ejemplo un dato faltante en un dataset. Puede también ser el resultado de una operación no válida. Ejemplo: x <- Inf/Inf
  • 8. Tipos de datos atómicos: Enteros ● Util para representar IDs. ● Class: Integer ● Se deben declarar específicamente a través de: x <- as.integer(1) x <- 1L ● Máximo posible y mínimo posible .Machine$integer.xmax .Machine$integer.xmin
  • 9. Tipos de datos atómicos: Complejos ● Class: complex ● Se ejemplifican así: ● Módulo, argumento y conjugado ● Raíz cuadrada de un número negativo sqrt(as.complex(1)) complex(real = x, imaginary = y) x <- 1 + 1i Mod(x) Arg(x) Conj(z)
  • 10. Tipos de datos atómicos: Lógicos ● Datos de tipo Booleano (TRUE, FALSE) x <- FALSE ● Se puede asignar mediante una comparación z <- (1>5)
  • 11. Listas y Vectores: Vectores ● Colección de objetos del mismo tipo. ● Se ejemplifica así: ● Concatenación concatenado <- c(a,a) a <- c(1,2,3...) a <- 1:10 x<-runif(100,100, 200) x <- seq(1,100,2)
  • 12. Listas y Vectores: Listas ● Se ejemplifica así: l <- list(“carro”, 1, 2, TRUE, FALSE) ● Puede contener objetos de cualquier tipo (Incluso otras listas) #Ejemplo conteniendo otros objetos de tipo no atómico pts <- list(x = cars[,1], y = cars[,2]) ● Obtener lista de valores lógicos basado en condicional x > 4 Retorna lista de valores lógicos que depende de que la condición se cumpla.
  • 13. Listas y Vectores: Comparación de desempeño ● Memoria ● Procesamiento > format(object.size(a), units="auto") [1] "76.3 Mb" format(object.size(b), units="auto") [1] "534.1 Mb" system.time(a+a) user system elapsed 0.857 1.129 2.388 system.time(lapply(seq_along(b),function(i) + unlist(b[i])+unlist( + b[i]))) user system elapsed 67.002 0.000 66.091 a <- runif(10000000, 10, 100) b <- as.list(runif(10000000))
  • 14. Matrices y Dataframes: Matrices ● Almacena datos del mismo tipo. Class: matrix ● Se ejemplifica así: ● Es posible darles un nombre de columna y de fila. ● Algunas operaciones básicas: rownames(a) <- c('a', 'a', 'a', 'b', 'b', 'b') colnames(a) <- c('foo', 'bar', 'bat') matrix(data, nrow=filas, ncol=columnas) matrix(1:18, nrow=6, ncol=3) sum(Matrix) dim(Matrix) rowSums(Matrix) nrow(Matrix) colSums(Matrix) ncol(Matrix)
  • 15. Matrices y Dataframes: Matrices (Acceso) ● Acceder a un dato específico ● Acceder a una fila o filas ● Acceder a una columna o columnas ● Acceder a una sección específica a[10] <- Accede al décimo elemento. Si es una matriz de 6x3 accede al elemento 4 de la segunda columna. a[4,2] <- Accede al elemento 4 de la 2 columna. a[3,] a[c(2,3),] a[,3] a[,c(2,3)] a[3,3] a[c(2,3),c(2,3)]
  • 16. Matrices y Dataframes: Matrices (Operaciones) ● Añadir fila rbind(a, c(1,2,3)) ● Añadir columna cbind(a, c(1,2,3,212,2,12)) ● Concatenar matrices ○ Horizontalmente (c <-cbind(a,b)) ○ Verticalmente (d <-rbind(a,b))
  • 17. Matrices y Dataframes: Dataframes ● Clase: data.frame ● Similar a una base de datos relacional. ● Se ejemplifica así: df<-data.frame(cbind(School=1, ID=1:5, Test=c(“math”,”read”,”math”,”geo”,”hist”))) ● Cada columna tiene asignado un tipo de dato. str(df) ● Cada columna tiene asignado un nombre. names(df)
  • 18. Matrices y Dataframes: Dataframes ● Para cambiar los nombres de las columnas se puede usar: names(df) <- c(“Col1”, “Col2renamed”, “Col3”) ● Es el tipo de dato más común en el cual se almacenan datasets. Ejemplo: Datasets contenidos en HistData. ● Algunas operaciones básicas: sum(df) dim(df) rowSums(df) nrow(df) colSums(df) ncol(df)
  • 19. Matrices y Dataframes: Dataframes (Acceso) ● Acceso por nombre de columna o columnas (2 notaciones) ● Acceso por número de fila o varias filas ● Accediendo por condición df[1,] df[c(1,2), ], df[seq(1,20,2),] df$Columna df[,c(“Col1”, “Col2”)] df[,c(“Col1”, “Col2”)] df[df$Col>5,] df[df$Col==”5”,] df[df$col1>69 & df$col2>73,]
  • 20. Matrices y Dataframes: Dataframes (Operaciones) ● Añadir una nueva Columna (Mismo tamaño de columna) df$nuevacolumna <- c(1,2,3) ● Añadir nueva fila de datos o concatenar 2 dataframes (Mismas columnas) new <- rbind(a, b)
  • 21. Factores ● Clase: factors ● Compuesto de levels y names. ● Útiles para categorización de datos. ● Ejemplificación #Desde lista de valores: schtyp <- sample(0:1, 20, replace = TRUE) schtyp <- factor(schtyp, labels = c("private", "public")) # Desde cadena de texto strings <- c("low", "middle", "low", "low", "low", "low", "middle", "low", "middle", "middle", "middle", "middle", "middle", "high", "high", "low", "middle", "middle", "low", "high") data <- as.factor(strings)
  • 22. Funciones de conversión ● as.class(obj) -> Convierte un objeto o una colección de objetos de un tipo de dato a otro tipo de dato. class puede ser: ○ character ○ list ○ vector ○ matrix ○ factor ○ logical ○ data.frame ○ complex
  • 23. Funciones de validación ● is.class(obj) -> Verifica que un objeto se a de determinada clase. class puede ser: ○ character ○ list ○ vector ○ matrix ○ factor ○ logical ○ data.frame ○ complex ● Is.integer no verifica que el dato sea entero sino que sea almacenado como entero.