22/07/25
Abstract
La teoría mencionada puede revisarse en el capítulo 1 de mis notas de clase que aparecen en el siguiente documento: 1.1. Estadística básica. Otros documentos de posible interés se pueden ver en Rpubs :: toc.
Recuerde que el data frame (básicamente una tabla) es en realidad solo un tipo específico de otra estructura de datos (la lista). Actualmente, es el formato de entrada de nuestros datos más frecuente para los análisis estadísticos (dentro de R, pero también para otros programas estadísticos y, por supuesto, para softwares de hojas de cálculo). Por esta razón, primero, es importante importar/cargar los datos antes de iniciar nuestro análisis. Esto ya se explicó en el documento Rpubs :: Importar datasets.
En el documento Rpubs :: Examinar data frames explicamos algunas funciones de R que nos permiten revisar propiedades de los data frames. En este documento, explicaremos como revisar los tipos de variables y sus propiedades. Para más detalles relacionados con los data frames, se puede consultar el documento Rpubs :: data frames (generalidades).
Cuando se realiza una asignación se obtiene un objeto, el cual es simplemente una estructura de datos que tiene algunos métodos y atributos. Podemos ver el resultado o contenido de un objeto de varias formas, como se explicará más adelante.
Los objetos pueden ser de muchos tipos. Entre otros, los más importantes son:
Integer: Objetos con valores enteros. Convertimos objetos en enteros con la función as.integer() y preguntamos si es entero con is.integer().
Numeric: Objetos que admiten numéros reales (incluyendo, los números \(\pi\) y Euler \(e\)). Convertimos objetos en numéricos con la función as.numeric() y preguntamos si es numérico con is.numericr().
Character: Son los objetos nominales. Convertimos objetos en valores de caracteres con la función as.character() y preguntamos si es de tipo caracter con is.character(). Ejemplos: letras del alfabeto, identificaciones, etc. Todo elemento escrito entre comillas es considerado por R como un caracter.
Factor: Objetos categóricos con niveles. Convertimos objetos en factores con la función as.factor() y preguntamos si es de tipo factor con is.factor(). Ejemplos: Sexo, Raza, etc.
Logical: Objetos con valores lógicos. y solo acepta a elementos como TRUE, FALSE y NA (que son palabras reservadas para R). El símbolo NA significa “not available”, es decir, un valor faltante. Convertimos objetos en factores con la función as.logical() y preguntamos si es de tipo lógico con is.logical().
Complex: Objetos que corresponden a números complejos. Para definir un número complejo es necesario considerar el número imaginario \(i\) (que es el símbolo utilizado en R para denotar a \(\sqrt{-1}\)). Preguntamos si es de tipo complejo con is.complex().
En la figura de abajo, se muestran las clasificaciones de las variables (desde el lenguaje estadístico), comparado o asociado con la asignación de un tipo de objeto.
Vamos a utilizar un conjunto de datos, que fueron recogidos aplicando una encuesta a una muestra de estudiantes universitarios. Es un data frame con 400 observaciones y 46 variables, las cuales se describen en este enlace (click aquí). En este documento, se importará la base de datos desde una dirección web (dos opciones):
Opción A (web, desde github): Para esta opción, se necesita cargar la librería “repmis”:
library(repmis)
source_data("https://github.com/hllinas/DatosPublicos/blob/main/Estudiantes.Rdata?raw=false")
datosCompleto <- Estudiantes
Opción B (web, desde Google Drive):
url.dat<- "http://bit.ly/Database-Estudiantes"
datosCompleto <- read.delim(url.dat)
Recuérdense las otras opciones, si tienen las bases de datos descargadas en su sesión de trabajo (ya sea en extensiones en Rdata, en excel o en otros formatos). Para más detalles, véase el documento R básico. A manera de ejemplo:
Opción C (local, con archivo en Rdata):
load(file="Estudiantes.Rdata")
datosCompleto <- Estudiantes
Opción D (local, con archivo en excel):
datosCompleto <- read.delim('clipboard')
Ejemplo 1 (Estructura del data frame)
Con la función str, aplicada al data frame datosCompleto, podemos observar su estructura. Ella proporciona información sobre el tipo de objeto, el número de filas (observaciones) y columnas (variables), junto con información adicional como los nombres de las variables y su tipo seguido de algunas de las observaciones iniciales de cada una de ellas. A manera de ejemplo, se visualiza solo una parte de la información.
str(datosCompleto) #A) Estructura de los datos
## Classes 'tbl_df', 'tbl' and 'data.frame': 400 obs. of 10 variables:
## $ Observacion : num 1 2 3 4 5 6 7 8 9 10 ...
## $ ID : chr "SB11201910010435" "SB11201910004475" "SB11201910011427" "SB11201910041975" ...
## $ Sexo : chr "Femenino" "Masculino" "Masculino" "Masculino" ...
## $ SexoNum : num 0 1 1 1 0 0 0 0 0 1 ...
## $ Edad : chr "21.36" "21.07" "20.92" "18.41" ...
## $ Fuma : chr "No" "Si" "Si" "Si" ...
## $ Estatura : chr "Alta" "Baja" "Alta" "Alta" ...
## $ Colegio : chr "Privado" "Privado" "Privado" "Privado" ...
## $ Estrato : num 1 2 2 2 1 2 1 1 2 1 ...
## $ Financiacion: chr "Beca" "Beca" "Beca" "Beca" ...
Ejemplo 1 (Nominales o Caracter)
Observe que R lee muchas de las variables como de tipo caracter (por el símbolo chr), pero algunas están mal definidas y, por esta razón, debemos redefinirlas (véase ejemplos siguientes).
Codigo <- datosCompleto$ID #B) Tipo caracter (es correcto)
Edad <- datosCompleto$Edad #C) Tipo caracter (es incorrecto, ver ejemplo 2)
Sexo <- datosCompleto$Sexo #D) Tipo caracter (es incorrecto, ver ejemplo 3)
Fuma <- datosCompleto$Fuma #E) Tipo caracter (es incorrecto, ver ejemplo 4)
Ejemplo 2 (Numéricas)
Edad <- as.numeric(datosCompleto$Edad) #F) Convirtiendo en numérica
P1 <- as.numeric(datosCompleto$P1) #G) Convirtiendo en numérica
Puntaje <- datosCompleto$Puntaje #H) Ya R la ve como numérica
Ejemplo 3 (Categórica o factor: Sexo)
Sexo <- as.factor(Sexo) #I) Convirtiendo a factor
class(Sexo) #J) Sale: "factor"
str(Sexo) #K) Sale: Factor w/ 2 levels "Femenino","Masculino": 1 2 2 2 1 1 1 1 1 2 ...
levels(Sexo) #L) Sale: "Femenino" "Masculino"
Ejemplo 4 (Categórica o factor: Fuma)
Fuma <- as.factor(Fuma) #M) Convirtiendo a factor
class(Fuma) #N) Sale: "factor"
str(Fuma) #O) Sale: Factor w/ 2 levels "No","Si": 1 2 2 2 2 1 2 2 2 2 ...
levels(Fuma) #P) Sale: "No" "Si"
Ejemplo 5 (Otras categóricas o factores)
Estatura <- as.factor(datosCompleto$Estatura) #Q)
Colegio <- as.factor(datosCompleto$Colegio) #R)
Estrato <- as.factor(datosCompleto$Estrato) #S)
Crear un nuevo documento R Markdown, realizando las siguientes actividades:
Consultar el documento RPubs :: Enlace y materiales de ayuda.
If you found any ERRORS or have SUGGESTIONS, please report them to my email. Thanks.