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

A15.SeleccionRegistros