SlideShare a Scribd company logo
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.

More Related Content

What's hot

Uso Ident matlab
Uso Ident matlabUso Ident matlab
Uso Ident matlab
Rodrigo Garcés
 
Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12
jack_corvil
 
Objetos
ObjetosObjetos
Objetos
ObjetosObjetos
[Sesion03] introduccion python
[Sesion03] introduccion python[Sesion03] introduccion python
[Sesion03] introduccion python
SaulMartinezRafaele
 
Dominio y recorrido
Dominio y recorridoDominio y recorrido
Dominio y recorrido
Duoc UC
 
Métodos
MétodosMétodos
Taller 1 6
Taller 1 6Taller 1 6
Taller 1 6
Taller 1 6Taller 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
Carlos Pérez Lara
 
Wx maxima
Wx maximaWx maxima
Wx maxima
Rosa E Padilla
 
matlab
matlabmatlab
Descubriendo scala
Descubriendo scalaDescubriendo scala
Descubriendo scala
nluaces
 
ARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICESARREGLOS EN JAVA, VECTORES Y MATRICES
ARREGLOS EN JAVA, VECTORES Y MATRICES
mellcv
 
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
John Jayro
 
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
Sebastian Cuenca
 
Red neuronal recurrente
Red neuronal recurrenteRed neuronal recurrente
Red neuronal recurrente
Michel Jraiche
 
Presentation precalculo2
Presentation precalculo2Presentation precalculo2
Presentation precalculo2
ines1321
 
ecuaciones diferenciales
ecuaciones diferencialesecuaciones diferenciales
ecuaciones diferenciales
jeanpiers
 
(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
Instituto Canario de Estadística (ISTAC)
 

What's hot (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
 

Viewers also liked

Introducción al R Commander
Introducción al R CommanderIntroducción al R Commander
Introducción al R Commander
JOSE AURELIO PINA ROMERO
 
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
Cristian Alejandro Rojas Quintero
 
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
Pablo 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 R
Luis Joyanes
 
Prueba de homogeneidad de varianza
Prueba de homogeneidad de varianzaPrueba de homogeneidad de varianza
Prueba de homogeneidad de varianza
Raul 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-dilts
alexus1010
 

Viewers also liked (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 to Tipos de datos en R

Bryan gordillo ensayo_arreglos
Bryan gordillo ensayo_arreglosBryan gordillo ensayo_arreglos
Bryan gordillo ensayo_arreglos
Bryan Gordillo
 
Comandos r
Comandos rComandos r
Programación de código
Programación de códigoProgramación de código
Programación de código
Advanced Value Group, LLC
 
Curso de introduccion_al_matlab
Curso de introduccion_al_matlabCurso de introduccion_al_matlab
Curso de introduccion_al_matlab
CORPOELEC
 
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
liras loca
 
Matlab presentacion enero2012
Matlab presentacion enero2012Matlab presentacion enero2012
Matlab presentacion enero2012
gerardoarbito
 
Sql basico parte_ii_
Sql basico parte_ii_Sql basico parte_ii_
Sql basico parte_ii_
Luis Jherry
 
Matlab
MatlabMatlab
Matlab
pollonaism
 
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
chrisflores001
 
Matlab
MatlabMatlab
Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzada
Maestros en Linea
 
Pds0 a introducción al matlab
Pds0 a introducción al matlabPds0 a introducción al matlab
Pds0 a introducción al matlab
VERONICA ALEXANDRA RUIZ QUISHPE
 
Transformaciones modelo a modelo: ATL (ParteII)
Transformaciones modelo a modelo: ATL (ParteII)Transformaciones modelo a modelo: ATL (ParteII)
Transformaciones modelo a modelo: ATL (ParteII)
Ricardo Tesoriero
 
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
Diego Andrés Alvarez Marín
 
Introduccion a Python y Data Science
Introduccion a Python y Data ScienceIntroduccion a Python y Data Science
Introduccion a Python y Data Science
Gustavo Andres Brey
 
Mysql
MysqlMysql
Seminario de matlab
Seminario de matlabSeminario de matlab
Seminario de matlab
jamarzo
 
Lenguaje r
Lenguaje rLenguaje r
Redes Neuronales
Redes NeuronalesRedes Neuronales
Redes Neuronales
Omar Sanchez
 
MATLAB 2010
MATLAB 2010MATLAB 2010
MATLAB 2010
Jose Cordova
 

Similar to 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
 

More from Cristian Alejandro Rojas Quintero

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...
Cristian Alejandro Rojas Quintero
 
Lenguaje de programación Ruby
Lenguaje de programación RubyLenguaje de programación Ruby
Lenguaje de programación Ruby
Cristian Alejandro Rojas Quintero
 
Metasploit
MetasploitMetasploit
Tutorial freeradius + Mysql
Tutorial freeradius + MysqlTutorial freeradius + Mysql
Tutorial freeradius + Mysql
Cristian Alejandro Rojas Quintero
 
Nmap
NmapNmap
High Performance Computing con Software libre
High Performance Computing con Software libreHigh Performance Computing con Software libre
High Performance Computing con Software libre
Cristian Alejandro Rojas Quintero
 
Hpc
HpcHpc

More from 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
 

Recently uploaded

ROMPECABEZAS DE COMPETENCIAS OLÍMPICAS. Por JAVIER SOLIS NOYOLA
ROMPECABEZAS DE COMPETENCIAS OLÍMPICAS. Por JAVIER SOLIS NOYOLAROMPECABEZAS DE COMPETENCIAS OLÍMPICAS. Por JAVIER SOLIS NOYOLA
ROMPECABEZAS DE COMPETENCIAS OLÍMPICAS. Por JAVIER SOLIS NOYOLA
JAVIER SOLIS NOYOLA
 
EL increible reino Fungi y sus características
EL increible reino Fungi y sus característicasEL increible reino Fungi y sus características
EL increible reino Fungi y sus características
cjach2502
 
El Reino vegetal por Daphne Martinez 11 oct.
El Reino vegetal por Daphne Martinez 11 oct.El Reino vegetal por Daphne Martinez 11 oct.
El Reino vegetal por Daphne Martinez 11 oct.
daphnemartinez2004
 
Maikell-Victor-Quimica-2024-Volume-2.pdf
Maikell-Victor-Quimica-2024-Volume-2.pdfMaikell-Victor-Quimica-2024-Volume-2.pdf
Maikell-Victor-Quimica-2024-Volume-2.pdf
DevinsideSolutions
 
La filosofía presocrática y los filosofos más relvantes del periodo.
La filosofía presocrática y los filosofos más relvantes del periodo.La filosofía presocrática y los filosofos más relvantes del periodo.
La filosofía presocrática y los filosofos más relvantes del periodo.
DobbieElfo
 
UESJLS Robótica Clase 16 - vr.vex.com - Unidades 1 a 4 - Evaluación
UESJLS Robótica Clase 16 - vr.vex.com - Unidades 1 a 4 - EvaluaciónUESJLS Robótica Clase 16 - vr.vex.com - Unidades 1 a 4 - Evaluación
UESJLS Robótica Clase 16 - vr.vex.com - Unidades 1 a 4 - Evaluación
Docente Informático
 
Marketing responsable - Ética y Responsabilidad Social Empresarial
Marketing responsable - Ética y Responsabilidad Social EmpresarialMarketing responsable - Ética y Responsabilidad Social Empresarial
Marketing responsable - Ética y Responsabilidad Social Empresarial
JonathanCovena1
 
Gui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdf
Gui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdfGui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdf
Gui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdf
FRANCISCO PAVON RABASCO
 
DIPLOMA Teachers For Future junio2024.pdf
DIPLOMA Teachers For Future junio2024.pdfDIPLOMA Teachers For Future junio2024.pdf
DIPLOMA Teachers For Future junio2024.pdf
Alfaresbilingual
 
UESJLS Robótica Clase 19 - Dibujo de un polígono sobre otro
UESJLS Robótica Clase 19 - Dibujo de un  polígono sobre otroUESJLS Robótica Clase 19 - Dibujo de un  polígono sobre otro
UESJLS Robótica Clase 19 - Dibujo de un polígono sobre otro
Docente Informático
 
PRINCIPALES INNOVACIONES CURRICULARES 2024.pdf
PRINCIPALES INNOVACIONES CURRICULARES 2024.pdfPRINCIPALES INNOVACIONES CURRICULARES 2024.pdf
PRINCIPALES INNOVACIONES CURRICULARES 2024.pdf
christianMuoz756105
 
Mi Comunidad En El Sector Monterrey-Poste Blanco
Mi Comunidad En El Sector Monterrey-Poste BlancoMi Comunidad En El Sector Monterrey-Poste Blanco
Mi Comunidad En El Sector Monterrey-Poste Blanco
Ruth Noemí Soto Villegas
 
PPT: Los acontecimientos finales de la tierra
PPT: Los acontecimientos finales de la tierraPPT: Los acontecimientos finales de la tierra
PPT: Los acontecimientos finales de la tierra
https://gramadal.wordpress.com/
 
Fundamentos filosóficos de la metodología de la enseñanza
Fundamentos filosóficos de la metodología de la enseñanzaFundamentos filosóficos de la metodología de la enseñanza
Fundamentos filosóficos de la metodología de la enseñanza
iamgaby0724
 
Linea De Tiempo EL BULLYING EN LA HISTORIA.pdf
Linea De Tiempo EL BULLYING EN LA HISTORIA.pdfLinea De Tiempo EL BULLYING EN LA HISTORIA.pdf
Linea De Tiempo EL BULLYING EN LA HISTORIA.pdf
moranquirozangelina
 
5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf
5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf
5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf
manuelhinojosa1950
 
Módulo de lectoescritura para primer grado
Módulo de lectoescritura para primer gradoMódulo de lectoescritura para primer grado
Módulo de lectoescritura para primer grado
marilynfloresyomona1
 
CUADRO COMPARATIVO Aylen.docx............
CUADRO COMPARATIVO Aylen.docx............CUADRO COMPARATIVO Aylen.docx............
CUADRO COMPARATIVO Aylen.docx............
LuanaJaime1
 
Os presentamos un nuevo Acompaña2 en Relideleon
Os presentamos un nuevo Acompaña2 en RelideleonOs presentamos un nuevo Acompaña2 en Relideleon
Os presentamos un nuevo Acompaña2 en Relideleon
Profes de Relideleón Apellidos
 
La orientación educativa en el proceso de enseñanza-aprendizaje.pptx
La orientación educativa en el proceso de enseñanza-aprendizaje.pptxLa orientación educativa en el proceso de enseñanza-aprendizaje.pptx
La orientación educativa en el proceso de enseñanza-aprendizaje.pptx
PaolaAlejandraCarmon1
 

Recently uploaded (20)

ROMPECABEZAS DE COMPETENCIAS OLÍMPICAS. Por JAVIER SOLIS NOYOLA
ROMPECABEZAS DE COMPETENCIAS OLÍMPICAS. Por JAVIER SOLIS NOYOLAROMPECABEZAS DE COMPETENCIAS OLÍMPICAS. Por JAVIER SOLIS NOYOLA
ROMPECABEZAS DE COMPETENCIAS OLÍMPICAS. Por JAVIER SOLIS NOYOLA
 
EL increible reino Fungi y sus características
EL increible reino Fungi y sus característicasEL increible reino Fungi y sus características
EL increible reino Fungi y sus características
 
El Reino vegetal por Daphne Martinez 11 oct.
El Reino vegetal por Daphne Martinez 11 oct.El Reino vegetal por Daphne Martinez 11 oct.
El Reino vegetal por Daphne Martinez 11 oct.
 
Maikell-Victor-Quimica-2024-Volume-2.pdf
Maikell-Victor-Quimica-2024-Volume-2.pdfMaikell-Victor-Quimica-2024-Volume-2.pdf
Maikell-Victor-Quimica-2024-Volume-2.pdf
 
La filosofía presocrática y los filosofos más relvantes del periodo.
La filosofía presocrática y los filosofos más relvantes del periodo.La filosofía presocrática y los filosofos más relvantes del periodo.
La filosofía presocrática y los filosofos más relvantes del periodo.
 
UESJLS Robótica Clase 16 - vr.vex.com - Unidades 1 a 4 - Evaluación
UESJLS Robótica Clase 16 - vr.vex.com - Unidades 1 a 4 - EvaluaciónUESJLS Robótica Clase 16 - vr.vex.com - Unidades 1 a 4 - Evaluación
UESJLS Robótica Clase 16 - vr.vex.com - Unidades 1 a 4 - Evaluación
 
Marketing responsable - Ética y Responsabilidad Social Empresarial
Marketing responsable - Ética y Responsabilidad Social EmpresarialMarketing responsable - Ética y Responsabilidad Social Empresarial
Marketing responsable - Ética y Responsabilidad Social Empresarial
 
Gui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdf
Gui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdfGui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdf
Gui_a para el uso de IA generativa en educacio_n e investigacio_n - UNESCO.pdf
 
DIPLOMA Teachers For Future junio2024.pdf
DIPLOMA Teachers For Future junio2024.pdfDIPLOMA Teachers For Future junio2024.pdf
DIPLOMA Teachers For Future junio2024.pdf
 
UESJLS Robótica Clase 19 - Dibujo de un polígono sobre otro
UESJLS Robótica Clase 19 - Dibujo de un  polígono sobre otroUESJLS Robótica Clase 19 - Dibujo de un  polígono sobre otro
UESJLS Robótica Clase 19 - Dibujo de un polígono sobre otro
 
PRINCIPALES INNOVACIONES CURRICULARES 2024.pdf
PRINCIPALES INNOVACIONES CURRICULARES 2024.pdfPRINCIPALES INNOVACIONES CURRICULARES 2024.pdf
PRINCIPALES INNOVACIONES CURRICULARES 2024.pdf
 
Mi Comunidad En El Sector Monterrey-Poste Blanco
Mi Comunidad En El Sector Monterrey-Poste BlancoMi Comunidad En El Sector Monterrey-Poste Blanco
Mi Comunidad En El Sector Monterrey-Poste Blanco
 
PPT: Los acontecimientos finales de la tierra
PPT: Los acontecimientos finales de la tierraPPT: Los acontecimientos finales de la tierra
PPT: Los acontecimientos finales de la tierra
 
Fundamentos filosóficos de la metodología de la enseñanza
Fundamentos filosóficos de la metodología de la enseñanzaFundamentos filosóficos de la metodología de la enseñanza
Fundamentos filosóficos de la metodología de la enseñanza
 
Linea De Tiempo EL BULLYING EN LA HISTORIA.pdf
Linea De Tiempo EL BULLYING EN LA HISTORIA.pdfLinea De Tiempo EL BULLYING EN LA HISTORIA.pdf
Linea De Tiempo EL BULLYING EN LA HISTORIA.pdf
 
5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf
5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf
5° T3 EDITABLE EVALUACIÓN DARUKEL 2023-2024.pdf
 
Módulo de lectoescritura para primer grado
Módulo de lectoescritura para primer gradoMódulo de lectoescritura para primer grado
Módulo de lectoescritura para primer grado
 
CUADRO COMPARATIVO Aylen.docx............
CUADRO COMPARATIVO Aylen.docx............CUADRO COMPARATIVO Aylen.docx............
CUADRO COMPARATIVO Aylen.docx............
 
Os presentamos un nuevo Acompaña2 en Relideleon
Os presentamos un nuevo Acompaña2 en RelideleonOs presentamos un nuevo Acompaña2 en Relideleon
Os presentamos un nuevo Acompaña2 en Relideleon
 
La orientación educativa en el proceso de enseñanza-aprendizaje.pptx
La orientación educativa en el proceso de enseñanza-aprendizaje.pptxLa orientación educativa en el proceso de enseñanza-aprendizaje.pptx
La orientación educativa en el proceso de enseñanza-aprendizaje.pptx
 

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.