SlideShare una empresa de Scribd 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.

Más contenido relacionado

La actualidad más candente

Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12Exposicion Capitulo 10,11,12
Exposicion Capitulo 10,11,12
jack_corvil
 
[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
 
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 3dJohn 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 3dSebastian 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)
 

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

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

Bryan gordillo ensayo_arreglos
Bryan gordillo ensayo_arreglosBryan gordillo ensayo_arreglos
Bryan gordillo ensayo_arreglos
Bryan Gordillo
 
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_matlabCORPOELEC
 
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
 
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_sem10chrisflores001
 
Estructura de datos avanzada
Estructura de datos avanzadaEstructura de datos avanzada
Estructura de datos avanzada
Maestros en Linea
 
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
 
Seminario de matlab
Seminario de matlabSeminario de matlab
Seminario de matlabjamarzo
 
Lenguaje r
Lenguaje rLenguaje r
MATLAB 2010
MATLAB 2010MATLAB 2010
MATLAB 2010
Jose Cordova
 

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

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
 

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

Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
cintiat3400
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
https://gramadal.wordpress.com/
 
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxxPLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
cportizsanchez48
 
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdfUNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
Joan Ribes Gallén
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
https://gramadal.wordpress.com/
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
amayaltc18
 
El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10
Alejandrino Halire Ccahuana
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
JAVIER SOLIS NOYOLA
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
jmorales40
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
MauricioSnchez83
 
el pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdfel pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdf
almitamtz00
 
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
María Sánchez González (@cibermarikiya)
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
Distea V región
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
lautyzaracho4
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
https://gramadal.wordpress.com/
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
jecgjv
 

Último (20)

Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
 
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxxPLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
PLAN DE CAPACITACION xxxxxxxxxxxxxxxxxxx
 
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdfUNA VISITA A SAN PEDRO EN EL VATICANO.pdf
UNA VISITA A SAN PEDRO EN EL VATICANO.pdf
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
 
El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10El espiritismo desenmascarado.pdf. Lec. 10
El espiritismo desenmascarado.pdf. Lec. 10
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
 
Portafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPNPortafolio de servicios Centro de Educación Continua EPN
Portafolio de servicios Centro de Educación Continua EPN
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
 
el pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdfel pensamiento critico de paulo freire en basica .pdf
el pensamiento critico de paulo freire en basica .pdf
 
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
Aprender-IA: Recursos online gratuitos para estar al tanto y familiarizarse c...
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
 
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptxNuevos espacios,nuevos tiempos,nuevas practica.pptx
Nuevos espacios,nuevos tiempos,nuevas practica.pptx
 
Sesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdfSesión: El fundamento del gobierno de Dios.pdf
Sesión: El fundamento del gobierno de Dios.pdf
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJELA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJE
 

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.