hllinas2023

1 Data frame

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 este documento explicaremos algunas funciones de R que nos permiten revisar propiedades de los data frames. Para más detalles relacionados con los data frames, se puede consultar el documento Rpubs :: data frames (generalidades).

2 Nuestro data frame

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

3 Visualizar toda la información

Es importante resaltar que datosCompleto es un objeto, hablando estrictamente en el lenguaje de R. Es decir, es simplemente una estructura de datos que tiene algunos métodos y atributos. Escribiendo el nombre de ese objeto (como se muestra abajo, a manera de ejemplo), podemos ver todo el datasets completo. Por razones obvias, al ser un datasets muy grande, decidí no mostrarla.

datosCompleto             #1) Todos los datos

4 Visualizar una parte de la información

Para visualizar solo una parte de los datos, se pueden utilizar las funciones head y/o tail:

head(datosCompleto)       #2) Por defecto, solo las primeras 6 observaciones 
head(datosCompleto, 3)    #3) Solo las primeras 3 observaciones 
tail(datosCompleto)       #4) Por defecto, solo las últimas 6 observaciones 
tail(datosCompleto, 2)    #5) Solo las últimas 2 observaciones 

Por ejemplo, con head(datosCompleto) le pedimos a R que muestre las 6 primeras observaciones, con todas las variables del data frame (que son 46, como se explicará más adelante). Para una mejor visualización del head, solo se muestra una parte de su salida (6 observaciones y 8 variables):

##   Observacion               ID      Sexo SexoNum  Edad Fuma Estatura Colegio
## 1           1 SB11201910010435  Femenino       0 21.36   No     Alta Privado
## 2           2 SB11201910004475 Masculino       1 21.07   Si     Baja Privado
## 3           3 SB11201910011427 Masculino       1 20.92   Si     Alta Privado
## 4           4 SB11201910041975 Masculino       1 18.41   Si     Alta Privado
## 5           5 SB11201910013623  Femenino       0 16.64   Si     Alta Privado
## 6           6 SB11201910038122  Femenino       0 16.02   No     Baja Privado

4.1 Explorar atributos y funciones

str(datosCompleto)   #6)  Estructura de los datos
class(datosCompleto) #7)  Muestra el tipo de objeto.
names(datosCompleto) #8)  Muestra los nombres de las columnas.
help(datosCompleto)  #9)  Muestra la ayuda asociada para el archivo de datos (si la hay). 
??datosCompleto      #10) Muestra la ayuda asociada para el archivo de datos en la web (si la hay).

Explicación de los códigos anteriores:

  1. str() se utiliza para mostrar de forma compacta la estructura interna de un objeto R. 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.
## Classes 'tbl_df', 'tbl' and 'data.frame':    400 obs. of  8 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" ...
  1. class() se utiliza para revisar la clase de objeto que es datosCompleto.
## [1] "tbl_df"     "tbl"        "data.frame"
  1. names() es una función que nos permite obtener o establecer los nombres de las variables de un objeto. En este caso, vemos que datosCompleto tiene 46 variables.
##  [1] "Observacion"  "ID"           "Sexo"         "SexoNum"      "Edad"        
##  [6] "Fuma"         "Estatura"     "Colegio"      "Estrato"      "Financiacion"
## [11] "Acumulado"    "P1"           "P2"           "P3"           "Final"       
## [16] "Definitiva"   "Gastos"       "Ingreso"      "Gas"          "Clases"      
## [21] "Ley"          "PandemiaCat"  "PandemiaNum"  "Likert1"      "Likert2"     
## [26] "Likert3"      "Likert4"      "Likert5"      "AGPEQ1"       "AGPEQ2"      
## [31] "AGPEQ3"       "SATS1"        "SATS2"        "SATS3"        "SATS4"       
## [36] "IDARE1.1"     "IDARE1.2"     "IDARE1.3"     "IDARE1.4"     "IDARE1.5"    
## [41] "IDARE2.6"     "IDARE2.7"     "IDARE2.8"     "IDARE2.9"     "IDARE2.10"   
## [46] "Puntaje"
  1. help() muestra la ayuda asociada para el archivo de datos. En este caso, no la hay.
## No documentation for 'datosCompleto' in specified packages and libraries:
## you could try '??datosCompleto'
  1. ??Objeto muestra la ayuda asociada para el archivo de datos en la web. En este caso, no la hay.

4.2 Verificar tamaños

length(datosCompleto)    #11) Revisando número de variables del objeto
dim(datosCompleto)       #12) Muestra las dimensiones del objeto.
ncol(datosCompleto)      #13) Muestra el número de columnas del objeto.
nrow(datosCompleto)      #14) Muestra el número de filas del objeto.

Explicación de los códigos anteriores:

  1. length() nos indica el número de columnas (variables) del objeto.
## [1] 46
  1. dim() nos entrega tanto el número de observaciones como el número de variables del objeto.
## [1] 400  46
  1. ncol() nos indica el número de columnas (variables) del objeto.
## [1] 46
  1. nrow() nos indica el número de filas (observaciones) del objeto.
## [1] 400

5 Ejercicios

Crear un nuevo documento R Markdown, realizando las siguientes actividades: Descargue un datasets de R y revise sus propiedades.

Bibliografía

Consultar el documento RPubs :: Enlace y materiales de ayuda.

 

 
If you found any ERRORS or have SUGGESTIONS, please report them to my email. Thanks.