Cinco formas de seleccionar columnas de una base de datos en R.

Posted by | · · | Tutorial R | No Comments on Cinco formas de seleccionar columnas de una base de datos en R.

0
shares
Compartir en Facebook
Twittear
Compartir en Google+
Compartir en LinkedIn
Compartir en Pinterest
+
Trends

Carguemos una base de datos de prueba: En los siguientes tabs puedes elegir entre varias opciones

Bases de Prueba

Data de R. El paquete “datasets” tiene más de 90 bases de datos para trabajar. Revisar

library(help="datasets")

Puedes bajar una base de la ENAHO 2014 (Módulo de Gobernabilidad) desde estos links:
Bloque 1, Bloque 2,Bloque 3
o también el módulo de sumarias (variables cálculadas): Bloque 4

Puedes descargar bases de datos de resultados que INFOGOB pone a disposición desde este link:
INFOGOB

En este caso trabajaremos con el módulo de gobernabilidad de la ENAHO. En un post anterior vimos como filtrar la base de datos utilizando algunas condiciones para las variables (campos). En esta oportunidad veremos como seleccionar columnas.


Recuerda que un objeto en formato base de datos tiene dos dimensiones: filas(casos) y columnas(variables)

Recuerda

Revisa el PDF “Cuestionario” podrás obtener información de las variables que tiene la base de la ENAHO

En R

LLamemos la librería que necesitamos


install.packages("foreign") # Recuerda que solo se instala una vez

library(foreign)

Puedes revisar como subir una data en SPSS en este post

setwd("D:/Dropbox/personales/Web joseincio.com/Post R/Bd_para R/Gobernabilidad_2013")
#Esta es la carpeta en la que estoy trabajando.
data<-read.spss("Enaho01B-2013-1.sav", to.data.frame = TRUE, use.value.labels = TRUE) # #Además de base de datos, le #estamos diciendo al R que las variables con categorías #respete las categorias, caso contrario las subirá como números
## Warning in read.spss("Enaho01B-2013-1.sav", to.data.frame = TRUE,
## use.value.labels = TRUE): Enaho01B-2013-1.sav: Unrecognized record type 7,
## subtype 18 encountered in system file

Conozcamos la “anatomía” de nuestra data

dim(data) #Aquí le pedimos que nos de información sobre las dimensiones. Nos dará el número de casos y variables. 
## [1] 30453    94
names(data) #le pedimos que nos de los nombres de las columnas (variables) de nuestra #base de datos.
##  [1] "AÑO"        "MES"        "CONGLOME"   "VIVIENDA"   "HOGAR"     
##  [6] "CODPERSO"   "CODINFOR"   "UBIGEO"     "DOMINIO"    "ESTRATO"   
## [11] "P1.01"      "P1.02"      "P1.03"      "P1.04"      "P1.05"     
## [16] "P1.06"      "P1.07"      "P1.08"      "P1.09"      "P1.10"     
## [21] "P1.11"      "P1.12"      "P1.13"      "P1.14"      "P1.15"     
## [26] "P1.16"      "P2_1.01"    "P2_1.02"    "P2_1.03"    "P2_1.04"   
## [31] "P2_1.05"    "P2_1.06"    "P2_1.07"    "P2_1.08"    "P2_1.09"   
## [36] "P2_1.10"    "P2_1.11"    "P2_1.12"    "P2_1.13"    "P2_1.14"   
## [41] "P2_1.15"    "P2_1.16"    "P2_1.17"    "P2_2.01"    "P2_2.02"   
## [46] "P2_2.03"    "P2_2.04"    "P2_2.05"    "P2_2.06"    "P2_2.07"   
## [51] "P2_2.08"    "P2_2.09"    "P2_2.10"    "P2_2.11"    "P2_2.12"   
## [56] "P2_2.13"    "P2_2.14"    "P2_2.15"    "P2_2.16"    "P2_2.17"   
## [61] "P2A1.1"     "P2A1.2"     "P2A1.3"     "P2A1.4"     "P3"        
## [66] "P4"         "P5.1"       "P5.2"       "P5.3"       "P5.4"      
## [71] "P5.5"       "P6"         "P7"         "P8.1"       "P8.2"      
## [76] "P8.3"       "P8.4"       "P9"         "P10.1"      "P10.2"     
## [81] "P10.3"      "P10.4"      "P21"        "P203_01"    "P204_01"   
## [86] "P205_01"    "P206_01"    "P207_01"    "P208_01"    "P209_01"   
## [91] "P301_01"    "TICUEST01B" "FACGOB07"   "T2_1.16"

Veamos las opciones que tenemos para seleccionar las columnas.

data1<-data[,c(1:5)] # Con esto me quedo con las columnas del 1 al 5. 
data2<-data[,c("AÑO", "VIVIENDA", "P8.3")] #También puedo llamarlas por su nombre. Pero #sí  vas a seleccionar muchas puede ser trabajoso
data3<-data[,c(2:4,15, 19:23)] #Puedes mezclar secuencias y pedidos puntuales. 
columnas<-c(1:7) #creas una lista
data4<-data[,columnas] # La puedes usar como condición.


Veamos como queda

data1[1:2,] #seleccionando los dos primeros casos
##    AÑO MES CONGLOME VIVIENDA HOGAR
## 1 2013  01     0027      025    11
## 2 2013  01     0027      028    11
data2[1:2,]
##    AÑO VIVIENDA P8.3
## 1 2013      025   NA
## 2 2013      028    3
data3[1:2,]
##   MES CONGLOME VIVIENDA      P1.05 P1.09      P1.10      P1.11 P1.12 P1.13
## 1  01     0027      025 Suficiente  Nada Suficiente       Nada  Nada  Nada
## 2  01     0027      028 Suficiente  Nada Suficiente Suficiente  Nada  Nada
data4[1:2,]
##    AÑO MES CONGLOME VIVIENDA HOGAR CODPERSO CODINFOR
## 1 2013  01     0027      025    11       02       02
## 2 2013  01     0027      028    11       01       01

Bonus track

¿Cómo hago si solo quiero quedarme con las variables que el R reconoce como Factor?

lista<-sapply(data, is.factor) #le estoy pidiendo a R que evalúe todas la variables para #saber cuales son factor.
data5<-data[,lista] #ahora le pido que solo nos quedemos con esas. 

¿Cómo queda?

head(data5) #pide esto en tu R y veras que solo tienes las variables que son factores. 

Hasta la próxima

Compartir en Facebook
Twittear
Compartir en Google+
Compartir en LinkedIn
Compartir en Pinterest
+

No Comments

Leave a comment