Este documento describe los diferentes tipos de datos en R, incluyendo datos atómicos (caracteres, numéricos, enteros, complejos y lógicos), vectores, listas, matrices, dataframes y factores. Explica cómo crear y manipular objetos de cada tipo, así como funciones útiles como class(), str() y summary() para obtener información sobre los objetos. También cubre conversiones entre tipos de datos usando funciones como as.character() e is.list().
Inteligencia de negocios (BI) y Analítica de negocios (BA): Un enfoque en RLuis Joyanes
Conferencia en R Start Weekend 2015 de la Universidad Tecnológica de Pereira (Colombia). Analisis comparativo de Business Intelligence y Business Analytics, herramientas y aplicaciones con un enfoque en el lenguaje R
Si quiere descargar la presentación y los códigos fuente, dirijase a:
http://programaciondecomputadoresunalmzl.wikispaces.com/codigos_y_diapositivas
Le agradecería si me reporta los errores que encuentre en la diapositiva (daalvarez arroba unal punto edu punto co)
Presentación de la conferencia sobre la basílica de San Pedro en el Vaticano realizada en el Ateneo Cultural y Mercantil de Onda el jueves 2 de mayo de 2024.
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...JAVIER SOLIS NOYOLA
El Mtro. JAVIER SOLIS NOYOLA crea y desarrolla el “ROMPECABEZAS DE ECUACIONES DE 1ER. GRADO OLIMPIADA DE PARÍS 2024”. Esta actividad de aprendizaje propone retos de cálculo algebraico mediante ecuaciones de 1er. grado, y viso-espacialidad, lo cual dará la oportunidad de formar un rompecabezas. La intención didáctica de esta actividad de aprendizaje es, promover los pensamientos lógicos (convergente) y creativo (divergente o lateral), mediante modelos mentales de: atención, memoria, imaginación, percepción (Geométrica y conceptual), perspicacia, inferencia, viso-espacialidad. Esta actividad de aprendizaje es de enfoques lúdico y transversal, ya que integra diversas áreas del conocimiento, entre ellas: matemático, artístico, lenguaje, historia, y las neurociencias.
Ponencia en I SEMINARIO SOBRE LA APLICABILIDAD DE LA INTELIGENCIA ARTIFICIAL EN LA EDUCACIÓN SUPERIOR UNIVERSITARIA. 3 de junio de 2024. Facultad de Estudios Sociales y Trabajo, Universidad de Málaga.
LA PEDAGOGIA AUTOGESTONARIA EN EL PROCESO DE ENSEÑANZA APRENDIZAJEjecgjv
La Pedagogía Autogestionaria es un enfoque educativo que busca transformar la educación mediante la participación directa de estudiantes, profesores y padres en la gestión de todas las esferas de la vida escolar.
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)]
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.