Manipulación de datos en R
Presentado por Margarita Marín
Contenido
Importar datos
Exportar datos
Funciones cbind y rbind
Función merge
Funciones melt, cast y reshape
Importar datos
Importar datos
R permite leer datos en diferentes formatos.
En su paquete básico permite leer formatos de block de notas (.txt) y csv
(.csv)
Otros formatos como Excel (.xls), Stata (.dta), SPSS (.sav) entre otros,
necesitan la instalación de paquetes
Importar datos - .txt
Es el formato más utilizado para lectura de datos, pues:
la mayoría de las bases de cualquier programa se pueden exportar a
este formato
No ocupa tanto espacio en el disco
Se puede abrir en cualquier computador con cualquier sistema
operativo
Se utiliza el comando read.table()
Importar datos - .txt
Esta
El nombre del archivo se instrucción le R por defecto toma para esta
introduce en “” y se pone dice a R que función el separador de columnas
su extensión los datos como tabulación. Si su separador
tienen id de de columnas es otro (por ejemplo
individuos en “;”) se debe usar la instrucción
la 1era sep=“;”
columna
Esta instrucción le
Esta instrucción le
dice a R que el
dice a R que los
separador de
datos tienen
decimales es “,”. Por
etiquetas (nombres
defecto R usa “.”
de variables) en la
primera fila
Importar datos - .csv
Es el formato más utilizado para lectura de datos, pues:
la mayoría de las bases de cualquier programa se pueden exportar a
este formato
No ocupa tanto espacio en el disco
Se puede abrir en cualquier computador con cualquier sistema
operativo
Se utiliza el comando read.csv()
Importar datos - .txt
Ejercicio: Importar datos en .txt
y .csv
Lea los datos de Tipologías municipales de DNP que se
encuentran disponibles en el aula virtual
Lealo tanto en .txt como en .csv
Importar datos en excel
Una de las formas más populares de importar datos en R es en
archivos de formato Excel.
Una forma de hacer esto es recurrir a la función read.xlsx del
paquete “xlsx”.
Otra forma es utilizar la función read_excel() del paquete “readxl”
En ambos casos se debe tener en cuenta la hoja de Excel que se
desea leer.
Importar datos en excel
Ejercicio: Importar datos en excel
Utilice la función de ayuda de la función read.xlsx y lea los datos
de urbanpop de la hoja 3.
Importar datos en otros formatos
En R también se puede exportar en otros datos.
En R se pueden importar datos de programa como stata (.dta), SPSS (.sav)
o SAS (.xpt).
Para esto podemos usar las funciones del paquete “foreign” tales como:
read.dta
read.spss
También podemos usar las funciones del paquete “Hmisc” tales como:
spss.get
sasxport.get
Importar datos en otros formatos
Ejercicio: Importar datos en otros
formatos
Utilice alguna de las funciones anteriores para leer los datos
Enero 2018.dta que muestran los datos de la Encuesta Nacional
de Calidad de Vida para 2018.
Exportar datos
Igualmente, es posible exportar los datos a diferentes formatos.
Entre los formatos más usuales tenemos
.txt
.csv
.xls
.dta
.sav
Tenga en cuenta que en la mayoría de los casos se podrá exportar
data frames (y sus sub clases?)
Exportar datos a formato .txt
Para exportar datos a este formato se utiliza el comando
write.table()
Esta función lee bases de datos precargadas en R o
descargadas en paquetes
El separador de
los datos es
tabulación
Ejercicio: Exportar datos en
formato .txt
Utilice los datos de “iris” y guárdelos en formato .txt
Exportar datos en formato.csv
Análogamente, es posible exportar dataframe a archivos .csv mediante
la función write.csv()
La diferencia principal entre las dos funciones:
La primera usa . Como separador decimal y , como separador de columna,
La segunda usa , como separador decimal y ; como separador de columna
Ejercicio: Exportar datos en
formato .csv
Utilice los datos de “iris” y guárdelos en formato .csv con
separados decimal ,
Exportar en otros formatos
Las librerias usadas para importar otro tipo de datos tienen su
contraparte para guardar el archivo en ese formato.
Por ejemplo, para formato .dta la función es write.dta() de la
librería “foreing”
Ejercicio: Exportar datos en otros
formatos
Utilice los datos de “iris” y guárdelos en formato .dta
Funciones cbind y rbind
Función cbind
Esta función permite unir vectores, matrices o data frames por columnas.
Es necesario que los objetos que se van a unir tengan el mismo número de filas
Ejercicio
Crear los siguientes objetos
activity <-data.frame(opid=c("Op01","Op02","Op03",
"Op04","Op05","Op06","Op07"), units=c(23,43,21,32,13,12,32))
names <- data.frame(operator=c("Larry","Curly","Moe",
"Jack","Jill","Kim","Perry"))
Unirlos utilizando la función cbind()
Función rbind()
Esta función permite unir vectores, matrices o data frames por filas.
Es necesario que los objetos que se van a unir tengan el mismo número de
columnas
Ejercicio
Crear lo objetos
Df1=data.frame(Subtype= c(“A”, “A”, “B”, “C”), Gender=c(“m”,
“f”, “f”, “m”))
Df2= data.frame(Subtype= c(“D”, “D”, “D”, “C”, “B”),
Gender=c(“m”, “m”, “f”, “m”, “f”))
Unirlos utilizando la función rbind()
Función merge
Función merge
Esta función permite fusionar dos bases de datos de acuerdo con una o varias variables
identificadoras (denominadas llaves).
Existen varios tipos de merge:
Natural join: conserva las filas que coincide en ambas bases. Especificar all=FALSE.
Full outer join: mantiene todas las filas de ambas bases de datos. Rellena con NA los valors
faltantes en alguna de las bases. Especificar all=TRUE.
Left outer join: conserva todas las filas en la base 1 y solo las que coinciden de la base 2.
Especificar all.x=TRUE.
Right outer join: conserva todas las filas en la base 2 y solo las que coinciden de la base 1.
Especificar all.y=TRUE.
Fuente: https://www.dummies.com/programming/r/how-to-use-the-merge-function-with-data-sets-in-r/
Función merge
Ejercicio
Usando los datos anteriores, realice los otros tipo de merge
Funciones melt, cast y reshape
Formato ancho vs formato largo
En el formato ancho las respuestas repetidos de un mismo individuo estaran
representadas en la misma fila y separadas por columnas
Formato ancho vs formato largo
En el formato largo, las respuestas diferentes para un individuo esta dada en una fila
diferente
Función melt
La función melt() del paquete “reshape2” permite convertir los datos de formato
ancho a formato largo.
Es necesario especificar la columna que contiene el identificador de los individuos
y la columna de agrupamiento.
Función melt
Ejercicio
Utilice los datos “iris” y cambie el formato de la base de ancho a largo
utilizando como variable de agrupación el tipo de flor.
Guarde este resultado
Función cast
La función cast() del paquete “reshape” permite hacer una agregación de los
datos que se encuentran en formato largo, al realizer alguna operación (por
ejemplo suma o promedio) los valores en la columan ”value” de cada
categoría de la columna “variable”.
Cuando no se le especifica la operación de agregación, la función por defecto
hace la operación “length” que corresponde al recuento.
Función cast
Ejercicio
Utilice la función cast() sobre los resultados obtenidos en el
ejercicio anterior (ejercicio de iris), usando como operación de
agrupación la operación promedio
Función reshape
La función reshape() del paquete “reshape2” permite transformer datos
del formato largo a acho y del formato largo a ancho.
Para ir de ancho a largo debemos darle:
Las variables que se medirán repetidamente(varying),
El nuevo nombre que tendrán estas mediciones(v.names),
El nuevo nombre que tendrá la variable de etiquetas de las variables que se
midieron de manera repetida (timevar),
El nombre que tendrán las etiqueta de la variable creada en timevar(times)
Un indicador que le dice que va a convertir a largo(direction).
Se pueden dar más opciones, por ejemplo el nombre de las filas.
Función reshape
La llava se conforma por el id del
individuo, el sexo, la raza, el ses, el
schtyp y el programa
Ejercicio
Utilice la función reshape para llevar los datos de iris al formato
largo, usando como llave el id de la plata y su especie y guarde
estos resultados en un objeto
Función reshape
La función reshape() del paquete “reshape2” permite transformer datos
del formato largo a acho y del formato largo a ancho.
Para ir de largo a ancho debemos darle:
El nombre de la variable que contiene las etiquetas de las mediciones
repetidas(timevar),
El nombre de las variables llave (idvar),
Un indicador que le dice que va a convertir a ancho(direction).
Función reshape
Ejercicio
Cambie de largo a ancho del objeto creado en el ejercicio anterior
EXPORTACIÓ N DE PROGRAMAS
GRACIAS