Manejo de Datos
Librerias
Paquete dplyr
Archivos
Archivo de datos hupac.csv como hupac
Operadores Relacionales
Igual que ==
Mayor o igual que >=
Menor o igual que <=
Mayor que >
Menor que <
No es igual a (distinto de) !=
Operadores logicos
Lógico No: !
Operador Elemental Y: &
Operador Global Y: &&
Operador Elemental O (disjuncion): |
Operador Global O (disjuncion): ||
Acceso a valores en las tablas
Hay diferentes maneras de accesar los valores en una tabla (=data.frame), una es accesando todo el vector de datos (variable) o bien solamente un segmento del vector, el otro accesando valores individuales a través de corchetes. La tabla de datos empleada como ejemplo es hupac. El archivo hupac.csv es una tabla de datos (=data frame) que contiene una parte de las respuestas de 283 productores de palma de hule y productores de aceite del sur de Veracruz, realizados ca. 2001. El significado de las variables (columnas) y los posibles valores que puede tomar es el siguiente:
PROG, programa al que pertenece el productor (hule o palma de aceite) : PNHU o PPAC
MPIO, municipio donde radica el productor, abreviado a 4 caracteres: "CHOA" "HIDA" "JESU" "MINA" "PLAY" "SANA" "TEZO" "ACAY" "CHIN" "COSO" "HUEY" "JALT" "MECA" "PAJA" "SANJ" "SAYU" "SOCO" "SOTE" "TEXI"
IDMPIO, clave numérica del municipio
CANT, Superficie (ha)
APORT, Aportación federal (cantidad de dinero)
APOYO, Recibió el apoyo? 1 si, 2 si pero diferente al solicitado, 3 no recibió
CNA, ?
BNFR, tipo de beneficiario: 0 no, 1 individual, 2 uso en grupo
ORG, Pertenece a organización de productores?, 0 no, 1 si
BENF, tipo de beneficio obtenido.
SEXO, hombre H o mujer M
EDAD, edad en años
ESCOL, Años en la escuela
MHOGAR, miembros de la familia
HABIT, número de habitaciones en casa
AGUAP, tiene agua potable, 0 no, 1 si
ELECT, tiene electricidad, 0 no, 1 si
PISO, tiene piso de cemento, 0 no, 1 si
REFRI, tiene refrigerador, 0 no, 1 si
TV, tienen televisión, 0 no, 1 sí
ESTUF, tiene estufa, 0 no, 1 si
LINDIG, habla lengua indígena, 0 no, 1 si.
1. Acceso a los vectores (columnas o variables) de la tabla. En este caso, se utiliza el símbolo $ que une el nombre de la tabla con el nombre de la columna (variable). Por ejemplo, listar los valores que contiene la variable edad.
hupac$EDAD
Listar los registros 1 al 6 de edad.
hupac$EDAD[1:6]
2. Acceso a elementos individuales de la tabla. En esta situación se accesan empleando corchetes y dentro de los mismos los índices de hilera y columna, separados por una coma, en ese orden:
Acceso al elemento de la quinta hilera, segunda columna (municipio MPIO, valor es las Choapas 'CHOA')
hupac[5, 2]
Accesando todos los elementos de una hilera, la tercera en este caso
hupac[3, ]
Accesando todas las columnas de la tercera a la novena hilera:
hupac[3:9, ]
Accesando todos elementos de la tercera columna, equivalente a hupac$IDMPIO
hupac[, 3]
Accesando la segunda y tercera columnas (municipio MPIO y su identificador IDMPIO),
hupac[, 2:3]
Acceso a los nombres de las columnas
Esto se hace con la función colnames(), con esto se pueden modificar los nombres de las columnas o simplemente listarlos en la consola.
colnames(hupac)
Para cambiar el nombre de BNFR a beneficiario :
colnames(hupac)[8]<- "beneficiario"
Seleccion de registros (observaciones) o columnas = Variables con notación [hil, col] y subset
Seleccionar sexo, edad y escolaridad de la tabla hupac:
sxedes<- hupac[, c("SEXO","EDAD","ESCOL")]
Seleccionar los registros que sean de mujeres únicamente:
mujeres<- sxedes[sxedes$SEXO=="M", ]
Seleccionar los registros de mujeres de edad mayor a 40 años:
mujeres2<- sxedes[which(sxedes$SEXO=="M" & sxedes$EDAD > 40), ]
Seleccion de productores de Jaltipan, solamente sexo y edad:
jalt<- subset(hupac, MPIO=="JALT", select= c("SEXO","EDAD"))
Seleccion solamente productores del programa de hule y sus atributos personales (sexo, edad, escolaridad, mpio de origen, lengua indigena) asi como indicadores de bienestar (Electric, Piso, TV, Agua Potable, Estufa... )
Primero seleccionar las columnas = variables deseadas
datos<- hupac[, c('PROG','MPIO', 'SEXO', 'EDAD', 'ESCOL', 'MHOGAR', 'HABIT', 'AGUAP', 'ELECT', 'PISO', 'REFRI', 'TV', 'ESTUF', 'LINDIG')]
Posteriormente seleccionar hileras que corresponden a productores de Hule
datos<- datos[datos$PROG== 'PNHU',]
# Seleccionar mujeres de minatitlan
mujmin<- datos[datos$SEXO== 'M' & datos$MPIO== 'MINA', ]
Seleccion de Variables y Registros con funciones filter y select de la libreria dplyr
Para realizar las operaciones de manejo de datos (filtrado, selección) hay que activar el paquete dplyr. Esta opción es para seleccionar registros (hileras) de datos que conforman con ciertas características, es decir, que satisfacen ciertos criterios.
Ejemplo 1.
Selección de productores de hule.
prodHU<- filter(hupac, PROG== "PNHU")
Ejemplo 2.
Selección de mujeres del programa de aceite.
prodMAC<- filter(hupac, PROG== "PPAC" & SEXO== "M")
Ejemplo 3.
Seleccion de productores hombres, mayores de 50 años y del municipio de minatitlan
prodH50Mina<- filter(hupac, SEXO=="H", EDAD > 50, MPIO== "MINA")
Observe que el operador AND se puede representar por el simbolo '&' o bien por una coma ','.
Otros operadores boleanos están descritos en el sitio:
http://www.statmethods.net/management/operators.html
Selección de variables (columnas)
Esta operación permite seleccionar un subconjunto de variables de la tabla (= data frame).
Ejemplo 1.
Seleccionar variables relacionadas con el programa, sitio y perfil demográfico (municipio, sexo, edad, escolaridad)
prodMSEE<- select(hupac, MPIO, SEXO, EDAD, ESCOL)
Ejemplo 2.
Seleccionar variables relacionadas con servicios públicos de productores de Hule:
pHserv<- select(prodHU, MPIO, SEXO, AGUAP, ELECT, PISO, REFRI, TV, ESTUF)
Enlaces recomendados
https://www.statmethods.net/management/subset.html
https://stats.stackexchange.com/questions/6187/filtering-a-dataframe
http://www.sthda.com/english/wiki/subsetting-data-frame-rows-in-r
https://stackoverflow.com/questions/39882463/difference-between-subset-and-filter-from-dplyr