Está en la página 1de 47

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

También podría gustarte