Data Frames

Crear cinco vectores

  • Nombres
  • Edades
  • Generos
  • Profesiones
  • Deportes
nombres <- c("Rubén", "Dany", "Alma", "Carlos","Daniel", "Dell", "Francisco","Isaac", 'Javier', 'Jesús', "Laura","Luis", "Maria", "Verenice", "Gabriel", "Jeorgina", "Claudia", "Adriana", "Javier", "Ernesto")

edades <- c(50, 34, 45, 35, 38, 36, 29, 43, 40, 28, 28, 30, 28, 45, 40, 39, 28, 32, 45, 35)

generos <- c('M', 'F', 'F', 'M', 'M', 'M', 'M','M', 'M', 'M', 'F','M', 'F', 'F', 'M', 'F', 'F', 'F', 'M', 'M' )

profesiones <- rep(c("Informática", "Sistemas", "Civil", "Administración", "Arquitectura"),4)

deportes <- rep(c(TRUE, FALSE), 10)

Mostrarlos

Visualizar cada vector

nombres
##  [1] "Rubén"     "Dany"      "Alma"      "Carlos"    "Daniel"    "Dell"     
##  [7] "Francisco" "Isaac"     "Javier"    "Jesús"     "Laura"     "Luis"     
## [13] "Maria"     "Verenice"  "Gabriel"   "Jeorgina"  "Claudia"   "Adriana"  
## [19] "Javier"    "Ernesto"
edades
##  [1] 50 34 45 35 38 36 29 43 40 28 28 30 28 45 40 39 28 32 45 35
generos
##  [1] "M" "F" "F" "M" "M" "M" "M" "M" "M" "M" "F" "M" "F" "F" "M" "F" "F" "F" "M"
## [20] "M"
profesiones
##  [1] "Informática"    "Sistemas"       "Civil"          "Administración"
##  [5] "Arquitectura"   "Informática"    "Sistemas"       "Civil"         
##  [9] "Administración" "Arquitectura"   "Informática"    "Sistemas"      
## [13] "Civil"          "Administración" "Arquitectura"   "Informática"   
## [17] "Sistemas"       "Civil"          "Administración" "Arquitectura"
deportes
##  [1]  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE
## [13]  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE

Crear un dataframe

  • A partir de los cinco vectores
datos <- data.frame(nombres, edades, generos, profesiones, deportes)

datos
##      nombres edades generos    profesiones deportes
## 1      Rubén     50       M    Informática     TRUE
## 2       Dany     34       F       Sistemas    FALSE
## 3       Alma     45       F          Civil     TRUE
## 4     Carlos     35       M Administración    FALSE
## 5     Daniel     38       M   Arquitectura     TRUE
## 6       Dell     36       M    Informática    FALSE
## 7  Francisco     29       M       Sistemas     TRUE
## 8      Isaac     43       M          Civil    FALSE
## 9     Javier     40       M Administración     TRUE
## 10     Jesús     28       M   Arquitectura    FALSE
## 11     Laura     28       F    Informática     TRUE
## 12      Luis     30       M       Sistemas    FALSE
## 13     Maria     28       F          Civil     TRUE
## 14  Verenice     45       F Administración    FALSE
## 15   Gabriel     40       M   Arquitectura     TRUE
## 16  Jeorgina     39       F    Informática    FALSE
## 17   Claudia     28       F       Sistemas     TRUE
## 18   Adriana     32       F          Civil    FALSE
## 19    Javier     45       M Administración     TRUE
## 20   Ernesto     35       M   Arquitectura    FALSE

Acceder a las variables del dataframe

  • Se utiliza el $
  • Los corchetes [R,C]
Acceder a un vector del data.frame
  • Se utiliza $
datos$nombres
##  [1] Rubén     Dany      Alma      Carlos    Daniel    Dell      Francisco
##  [8] Isaac     Javier    Jesús     Laura     Luis      Maria     Verenice 
## [15] Gabriel   Jeorgina  Claudia   Adriana   Javier    Ernesto  
## 19 Levels: Adriana Alma Carlos Claudia Daniel Dany Dell Ernesto ... Verenice
datos$deportes
##  [1]  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE
## [13]  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE
Acceder por medio de corchetes []
datos
##      nombres edades generos    profesiones deportes
## 1      Rubén     50       M    Informática     TRUE
## 2       Dany     34       F       Sistemas    FALSE
## 3       Alma     45       F          Civil     TRUE
## 4     Carlos     35       M Administración    FALSE
## 5     Daniel     38       M   Arquitectura     TRUE
## 6       Dell     36       M    Informática    FALSE
## 7  Francisco     29       M       Sistemas     TRUE
## 8      Isaac     43       M          Civil    FALSE
## 9     Javier     40       M Administración     TRUE
## 10     Jesús     28       M   Arquitectura    FALSE
## 11     Laura     28       F    Informática     TRUE
## 12      Luis     30       M       Sistemas    FALSE
## 13     Maria     28       F          Civil     TRUE
## 14  Verenice     45       F Administración    FALSE
## 15   Gabriel     40       M   Arquitectura     TRUE
## 16  Jeorgina     39       F    Informática    FALSE
## 17   Claudia     28       F       Sistemas     TRUE
## 18   Adriana     32       F          Civil    FALSE
## 19    Javier     45       M Administración     TRUE
## 20   Ernesto     35       M   Arquitectura    FALSE
datos [3, ]  # Todas las columnas
##   nombres edades generos profesiones deportes
## 3    Alma     45       F       Civil     TRUE
datos[5, c(1,4)] # Columnas 1 y 4 del reg. 5
##   nombres  profesiones
## 5  Daniel Arquitectura
datos[-5, -5] 
##      nombres edades generos    profesiones
## 1      Rubén     50       M    Informática
## 2       Dany     34       F       Sistemas
## 3       Alma     45       F          Civil
## 4     Carlos     35       M Administración
## 6       Dell     36       M    Informática
## 7  Francisco     29       M       Sistemas
## 8      Isaac     43       M          Civil
## 9     Javier     40       M Administración
## 10     Jesús     28       M   Arquitectura
## 11     Laura     28       F    Informática
## 12      Luis     30       M       Sistemas
## 13     Maria     28       F          Civil
## 14  Verenice     45       F Administración
## 15   Gabriel     40       M   Arquitectura
## 16  Jeorgina     39       F    Informática
## 17   Claudia     28       F       Sistemas
## 18   Adriana     32       F          Civil
## 19    Javier     45       M Administración
## 20   Ernesto     35       M   Arquitectura
datos[, "nombres"]
##  [1] Rubén     Dany      Alma      Carlos    Daniel    Dell      Francisco
##  [8] Isaac     Javier    Jesús     Laura     Luis      Maria     Verenice 
## [15] Gabriel   Jeorgina  Claudia   Adriana   Javier    Ernesto  
## 19 Levels: Adriana Alma Carlos Claudia Daniel Dany Dell Ernesto ... Verenice

Algunas funciones de dataframes

La función subset()
  • subset. Es un subconjunto de un conjunto de datos
  • El resultado de aplicar subset() es un nuevo dataet
  • Para esta práctica se generan nuevas variables
losquehacendeporte <- subset(datos, deportes == TRUE)
losquehacendeporte
##      nombres edades generos    profesiones deportes
## 1      Rubén     50       M    Informática     TRUE
## 3       Alma     45       F          Civil     TRUE
## 5     Daniel     38       M   Arquitectura     TRUE
## 7  Francisco     29       M       Sistemas     TRUE
## 9     Javier     40       M Administración     TRUE
## 11     Laura     28       F    Informática     TRUE
## 13     Maria     28       F          Civil     TRUE
## 15   Gabriel     40       M   Arquitectura     TRUE
## 17   Claudia     28       F       Sistemas     TRUE
## 19    Javier     45       M Administración     TRUE
lasmujeres <- subset(datos, generos == 'F')
lasmujeres
##     nombres edades generos    profesiones deportes
## 2      Dany     34       F       Sistemas    FALSE
## 3      Alma     45       F          Civil     TRUE
## 11    Laura     28       F    Informática     TRUE
## 13    Maria     28       F          Civil     TRUE
## 14 Verenice     45       F Administración    FALSE
## 16 Jeorgina     39       F    Informática    FALSE
## 17  Claudia     28       F       Sistemas     TRUE
## 18  Adriana     32       F          Civil    FALSE
muj.depor.sist <- subset(datos, generos == 'F' & deportes == TRUE & profesiones == 'Sistemas')

muj.depor.sist
##    nombres edades generos profesiones deportes
## 17 Claudia     28       F    Sistemas     TRUE

Contar registros y determinar los nombres

  • nrow(): cuenta registro de un dataframe
n <- nrow(datos) 
n
## [1] 20
ncols <- ncol(datos)
ncols
## [1] 5
names(datos)
## [1] "nombres"     "edades"      "generos"     "profesiones" "deportes"
otrosdatos <- datos

colnames(otrosdatos) <- c("nom", 'eda', 'gen', 'pro', 'dep')

otrosdatos
##          nom eda gen            pro   dep
## 1      Rubén  50   M    Informática  TRUE
## 2       Dany  34   F       Sistemas FALSE
## 3       Alma  45   F          Civil  TRUE
## 4     Carlos  35   M Administración FALSE
## 5     Daniel  38   M   Arquitectura  TRUE
## 6       Dell  36   M    Informática FALSE
## 7  Francisco  29   M       Sistemas  TRUE
## 8      Isaac  43   M          Civil FALSE
## 9     Javier  40   M Administración  TRUE
## 10     Jesús  28   M   Arquitectura FALSE
## 11     Laura  28   F    Informática  TRUE
## 12      Luis  30   M       Sistemas FALSE
## 13     Maria  28   F          Civil  TRUE
## 14  Verenice  45   F Administración FALSE
## 15   Gabriel  40   M   Arquitectura  TRUE
## 16  Jeorgina  39   F    Informática FALSE
## 17   Claudia  28   F       Sistemas  TRUE
## 18   Adriana  32   F          Civil FALSE
## 19    Javier  45   M Administración  TRUE
## 20   Ernesto  35   M   Arquitectura FALSE

Graficar barras

Realiar algunas gráficas de barras

Graficar nombres y edades
barplot(datos$edades, names.arg = datos$nombres)