Esta es la primera parte de una serie de tres partes sobre el lenguaje de programación R. La Parte 1 muestra cómo importar datos a R, la Parte 2 se centra en la limpieza de datos (cómo escribir el código R que realizará las tareas básicas de limpieza de datos), y la Parte 3 da una mirada en profundidad a la visualización de datos.
Es difícil imaginar a un analista de negocios moderno que nunca crea, ve o manipula hojas de cálculo. El lenguaje de programación R, como un programa de hoja de cálculo, está diseñado para el análisis de datos. Su aplicabilidad en entornos empresariales sigue aumentando tanto por su creciente popularidad como por su enfoque pragmático del análisis de datos. Los profesionales de los negocios han encontrado que R es tan esencial para su trabajo diario como el venerable programa de hoja de cálculo.
A diferencia de muchos lenguajes de programación, la comunidad R se jacta de tener una membresía de una sorprendente variedad de orígenes. Durante años, los estadísticos y científicos han utilizado R y su predecesor, S, para el análisis de datos. El creciente almacenamiento de datos valiosos a disposición de las empresas ha hecho que la R sea adoptada por profesionales de otras disciplinas. Los profesionales de las empresas que han llevado las hojas de cálculo hasta sus límites se están uniendo a las filas de los usuarios de R que ya han estado tratando con grandes y complejos conjuntos de datos durante años.
Aunque es sofisticado y completo, R es flexible y fácil de usar para muchas operaciones de datos comunes. Echemos un vistazo a cómo crear e importar datos en R, centrándonos en replicar las funciones comunes de la hoja de cálculo de una manera que sea repetible y menos propensa a errores.
Limitaciones de la hoja de cálculo
Las hojas de cálculo son excelentes herramientas interactivas, pero carecen de los controles necesarios para los procesos repetibles. Los usuarios de negocios atrapados en un ciclo de realización de tareas complejas con una hoja de cálculo pueden encontrarse pensando que debe haber una mejor manera. Un simple clic o una secuencia de control de teclado puede causar un error significativo que no se manifiesta inmediatamente. R puede utilizarse de forma interactiva, pero al estar basada en comandos, puede ser programada para asegurar que se realicen exactamente las mismas acciones cada vez que se repita un proceso. Los procesos con guiones se prestan a una mayor disciplina y estructura. Esto abre la posibilidad de un procesamiento de datos que alcanza un grado mucho mayor de formalidad, control y optimización.
Funciones R y de hoja de cálculo
Los ejemplos que siguen se muestran usando R en el contexto de RStudio Desktop. Este software, así como todos los paquetes de terceros, están disponibles para su descarga gratuita. Consulte la página de RStudio Desktop para obtener instrucciones sobre cómo instalar RStudio Desktop y el propio lenguaje de programación R. La instalación del paquete se realiza una vez que estas herramientas se instalan localmente.
Paquetes R
Los paquetes R proporcionan gran parte de la funcionalidad que hace que R sea tan extensible y pertinente para una amplia gama de aplicaciones. Si es la primera vez que utiliza los paquetes que siguen, pueden ser instalados usando el comando install.packages o dentro de RStudio seleccionando la pestaña Packages y haciendo clic en el botón de instalación, lo cual abre un diálogo para realizar la instalación.
Los paquetes instalados están disponibles para su uso, pero deben ser cargados en la sesión R actual cuando se tiene la intención de usarlos realmente. Tres paquetes, incluidos tidyr, dplyr y ggplot2, se cargarán utilizando las declaraciones que figuran a continuación. Estos paquetes, todos escritos por el prolífico programador de R Hadley Wickham, comparten varios puntos en común y funcionan bien juntos. El paquete tidyr se utiliza para abordar los valores perdidos; dplyr para filtrar, ordenar y resumir los datos; y ggplot2 para crear gráficos y tablas.
library(tidyr)
library(dplyr)
library(ggplot2)
Importación de datos
El archivo separado por comas que se muestra a continuación representa los datos a procesar. Consiste en una serie de entradas que se parecen un poco a una chequera. NA indica un valor faltante.
«Año», «Mes», «Trimestre», «Saldo», «Retirada»
«1, 2000, 1, Q1, 10000, NA
«2»,NA, «2»,NA,NA,NA
«3»,NA, «3»,NA,NA,NA
«4»,NA, «4», «Q2»,6000,4000
«5»,NA, «5»,NA,NA,NA
«6»,NA, «6»,NA,NA,NA
«7»,NA, «7», «Q3»,NA,NA
«8»,NA, «8»,NA,3000,3000
«9»,NA, «9»,NA,2000,1000
«10»,NA, «10», «Q4»,NA,NA
«11»,NA, «11»,NA,NA,NA
«12»,NA, «12»,NA,1000,1000
Estos datos son más fáciles de ver cuando se abren en un programa de hoja de cálculo.
¿Pero cómo podemos llevar estos datos a R? Es posible añadirlos escribiendo un guión que crea los datos mediante programación. No es la forma más eficiente, pero si sigues el ejemplo, es fácil copiar este trozo de código, pegarlo en la consola de R y tener los datos disponibles al instante.
df <- data.frame(Year = c(2000, rep(NA, 11)),
Mes = as.factor(1:12),
Cuarto = c($0027Q1$0027, rep(NA, 2),
$0027Q2$0027, rep(NA, 2),
$0027Q3$0027, rep(NA, 2),
$0027Q4$0027,rep(NA, 2)),
Balance = c(10000,rep(NA, 2), 6000,
rep(NA, 3), 3000,
2000, rep(NA, 2), 1000),
Retirada = c(rep(NA, 3), 4000,
rep(NA, 3), 3000,
1000, rep(NA, 2), 1000)
)
Una vez más, esta no es la forma más fácil de introducir datos, y demuestra por qué la R se ve a menudo como oscura o poco práctica cuando se encuentra por primera vez. Para la gente curiosa sobre los detalles del código R listado, su propósito general es crear un marco de datos y asignarlo a una variable llamada df. Cada columna (Año, Mes, Trimestre, Saldo y Retirada) se describe por su nombre, seguido de un signo igual y una expresión que crea datos para una fila determinada.
La función c «combina» sus elementos en un vector; la serie de valores que comprende la columna. La función rep especifica que el elemento listado como primer argumento se «repita» el número de veces indicado por el segundo argumento. La expresión as.factor(1:12) toma una secuencia de números del uno al doce y los proyecta como variables factoriales, y se utilizan diversas variables de cadena (encerradas entre comillas), números y NAs (indicando que no están disponibles) para poblar los valores individuales. No hay necesidad de preocuparse por los detalles de este código, ya que simplemente se incluye para ilustrar que los datos pueden ser creados usando código, y que generalmente no es la mejor manera de construir un marco de datos. Es mucho más fácil importar datos de un formato estructurado.
R proporciona muchas funciones diferentes para importar y exportar datos en una variedad de formatos, lo que puede ser un poco desalentador para examinarlo inicialmente. RStudio proporciona una forma sencilla de importar los datos, y también produce una línea de código necesaria para realizar una importación.
Para replicar:
- Abrir un editor de texto
- Copie los datos mostrados en el archivo separado por comas anteriormente
- Pégalo en un nuevo archivo de texto
- Guárdalo como un archivo llamado test.csv en tu sistema de archivos local
Los datos pueden ser importados usando RStudio seleccionando la pestaña de Medio Ambiente y haciendo clic en el botón Importar Conjunto de Datos.
Esto traerá un diálogo de selección de archivos donde puedes navegar al directorio del archivo test.csv y abrirlo. Al abrir el archivo aparece un diálogo en el que se pueden configurar las opciones de importación.
En el campo del nombre se puede introducir el nombre del objeto que contendrá los datos (por defecto, se utiliza el nombre del archivo para rellenar este campo). Asegúrese de desmarcar la casilla Strings as factors (los factores son una forma de que los estadísticos representen los datos de las cadenas para fines de eficiencia y organización). Esto permitirá que los datos de cadenas no numéricas se traten de una manera familiar para los usuarios de las hojas de cálculo.
Cuando se hace clic en el botón de importación, los datos son realmente importados y presentados para su visualización.
La pestaña de Medio Ambiente muestra todos los objetos actualmente disponibles en el entorno de la sesión R. En este caso, el único objeto que se muestra es el marco de datos llamado df que contiene los datos importados. La consola R contiene los comandos que se construyeron y ejecutaron al hacer clic en el diálogo de importación. Estos pueden ser apartados y posteriormente utilizados en lugar de hacer clic a través de las opciones del diálogo.
df <- read.csv("~/Desktop/test.csv", stringsAsFactors=FALSE)
El segundo comando ( View(df) ) no es necesario pero es esencial para ver el estado actual de los datos. Abrió el panel superior izquierdo y lo rellenó con una vista de tipo hoja de cálculo de los datos importados.
Para llevar
La importación de datos es un requisito previo para todas las demás tareas de análisis de datos. Afortunadamente, RStudio hace que la importación de archivos CSV sea sencilla, y R soporta muchos formatos de archivo y métodos de importación diferentes. Ahora deberías tener un manejo de R y R Studio, así que adelante y comienza — y mantente atento a más posts de esta serie.