Manipulación de datos en R: qué es, variables, uso del paquete dplyr

Publicado: 2020-03-26

Tabla de contenido

Introducción

Aparte del personal y la infraestructura, los datos son el nuevo bloque de construcción de cualquier empresa. Desde grandes corporaciones hasta industrias de pequeña escala, los datos son el combustible que impulsa sus negocios. Estos datos están asociados con sus transacciones comerciales diarias, datos de compras de clientes, datos de ventas, gráficos financieros, estadísticas comerciales, campañas de marketing y mucho más. Por eso , Tim O'Reilly, fundador de O'Reilly Media, dijo que estamos entrando en una situación en la que los datos van a ser más importantes que el software.

Pero, ¿qué hacer con tantos datos? Las empresas utilizan estos datos para obtener información valiosa sobre el rendimiento de su negocio. Contratan científicos de datos que realizan la manipulación de datos en R para dar sentido a estos datos. Por ejemplo, comprender los datos de ventas y marketing del último año les dará una idea de cuál es su posición. Un estudio reciente mostró que se espera que el mercado de análisis de datos tenga un valor de $ 77.6 mil millones para 2023.

Los científicos de datos son contratados para dar sentido a estos datos mediante un proceso llamado manipulación de datos.

¿Qué es la manipulación de datos?

La manipulación de datos es el proceso de organizar datos para leerlos y comprenderlos mejor. Por ejemplo, los funcionarios de la empresa pueden obtener datos de los clientes de sus sistemas y libros de registro. En su mayoría, estos datos se almacenarán en el software CRM (Gestión de relaciones con el cliente) y hojas de Excel. Pero puede que no esté bien organizado. La manipulación de datos incluye formas de organizar todos estos datos, como por orden alfabético.

Los datos se pueden ordenar según fecha, hora, número de serie o cualquier otro campo. Las personas del departamento de cuentas de una empresa utilizan los datos para determinar las tendencias de ventas, las preferencias de los usuarios, las estadísticas de mercado y los precios de los productos. Los analistas financieros usan datos para comprender cómo se está comportando el mercado de valores, las tendencias y las mejores acciones en las que deberían invertir.

Además, los datos del servidor web se pueden utilizar para comprender cuánto tráfico tiene el sitio web. En esta era tecnológica, IoT es un ejemplo de una tecnología en la que los datos provienen de sensores conectados a máquinas. Estos datos se utilizan para determinar el rendimiento de la máquina y si tiene algún defecto. La manipulación de datos es crucial en IoT, ya que el mercado tendrá un valor de $ 81,67 mil millones para 2025.

La manipulación de datos se realiza popularmente utilizando un lenguaje de programación llamado R. Conozcamos un poco mejor el lenguaje.

¿Qué es R?

Para comprender la manipulación de datos en R , debe conocer los conceptos básicos de R. Es un lenguaje de programación moderno que se utiliza para análisis de datos, computación estadística e inteligencia artificial. El lenguaje fue creado en 1993 por Ross Ihaka y Robert Gentleman . Hoy en día, investigadores, analistas de datos, científicos y estadísticos usan R para analizar, limpiar y visualizar datos.

R tiene un enorme catálogo que consta de métodos gráficos y estadísticos que pueden admitir el aprendizaje automático, la regresión lineal, la inferencia estadística y las series temporales. Bajo la Licencia Pública General GNU, el lenguaje está disponible gratuitamente para sistemas operativos como Windows, Mac y Linux. Es amigable con la plataforma, lo que significa que el código R escrito en una plataforma se puede ejecutar fácilmente en otra.

R ahora se considera el principal lenguaje de programación para la ciencia de datos. Pero es un lenguaje integral, ya que puede usarlo para el desarrollo de software, así como para tareas complicadas como el modelado estadístico. Puedes desarrollar aplicaciones web utilizando su paquete RShiny.

Es un lenguaje tan poderoso que algunas de las mejores empresas del mundo, como Google y Facebook, lo están utilizando.

Veamos algunas de las características más importantes de R:

  • Cuenta con CRAN (Comprehensive R Archive Network) que es un repositorio con más de 10.000 paquetes R, teniendo todas las funcionalidades requeridas para trabajar con datos
  • Es un lenguaje de programación de código abierto . Esto significa que puede descargarlo de forma gratuita e incluso contribuir a su desarrollo, actualizar sus características y personalizar sus funcionalidades existentes.
  • Puede crear visualizaciones de alta calidad a partir de los datos disponibles de las útiles bibliotecas gráficas de R, como ggplot2 y plotly.
  • R es un lenguaje muy rápido. Como es un lenguaje de programación interpretado , no se requiere un compilador para convertir los programas R en código ejecutable, por lo que un script R se ejecuta más rápido.
  • R puede realizar una variedad de cálculos complicados en un santiamén, que consisten en matrices, marcos de datos y vectores . Hay muchos operadores para realizar estos cálculos.
  • Maneja datos estructurados y no estructurados. Las extensiones para Big Data y SQL están disponibles para manejar todo tipo de datos
  • R tiene una comunidad en continuo crecimiento que tiene las mentes más brillantes. Estas personas contribuyen constantemente al lenguaje de programación mediante el desarrollo de bibliotecas y actualizaciones.
  • Puede integrar fácilmente R con otros lenguajes de programación como Python, Java y C++. También puedes combinarlo con Hadoop para computación distribuida

Ahora que ha reunido los conceptos básicos del lenguaje de programación R, ¡vamos a sumergirnos en las cosas emocionantes!

Variables en R

Mientras programa en R o realiza cualquier manipulación de datos en R , debe lidiar con variables. Las variables se utilizan para almacenar datos que pueden estar en forma de cadenas, enteros, enteros de punto flotante o simplemente valores booleanos. Estas variables reservan un espacio en la memoria para su contenido. A diferencia de los lenguajes de programación tradicionales, las variables en R se asignan junto con los objetos R.

Las variables no tienen un tipo de datos, pero obtienen el tipo del objeto R al que están asignadas. Los objetos R más populares son:

  • Vectores
  • Liza
  • arreglos
  • Matrices
  • factores
  • marcos de datos

Estas estructuras de datos son extremadamente importantes para la manipulación de datos en R y el análisis de datos. Veámoslos con un poco más de detalle para comprender la manipulación básica de datos:

Vectores

Son las estructuras de datos más básicas y se utilizan para datos unidimensionales. Los tipos de vectores atómicos son:

  • Entero
  • Lógico
  • Numérico
  • Complejo
  • Personaje

Cuando crea valor en R, se convierte en un vector de un solo elemento de longitud 1. Por ejemplo,

imprimir(“ABC”); # vector de un solo elemento de tipo carácter

print(10.5) # vector de un solo elemento de tipo doble

Se accede a los elementos de los vectores utilizando sus números de índice. Las posiciones de índice en vectores comienzan desde 1. Por ejemplo,

t <- c(“Lun”,”Mar”,”Mie”,”Sab”)

tu <- t[c(1,2,3)]

imprimir (u)

El resultado será “lunes” “martes” “miércoles”

Liza

Estos son objetos en R que se utilizan para contener diferentes tipos de elementos en su interior. Estos pueden ser números enteros, cadenas e incluso listas. Si los datos no se pueden almacenar en un marco de datos o en una matriz, esta es la mejor opción. Las listas también pueden contener una matriz. Puede crear listas utilizando el método list().

Use el siguiente código para crear una lista:

lista_datos <- lista(“Negro”, “Verde”, c(11,4,14), VERDADERO, 31.22, 120.5)

imprimir (lista_datos)

Se puede acceder a los elementos de la lista usando índices de lista.

print(list_data[1]) #el código imprime el primer elemento de la lista

Ejemplo de manipulación de datos con listas:

list_data[4] <- NULL # este código elimina el último elemento de la lista si tiene 4 elementos

Leer: R vs Python para ciencia de datos

arreglos

Las matrices son objetos que se pueden usar para almacenar un solo tipo de datos. Los datos de más de dos dimensiones se pueden almacenar en matrices. Para esto, debe usar la función array() que toma los vectores como entrada. Utiliza el valor en el parámetro dim para crear la matriz.

Por ejemplo, mira el siguiente código:

resultado_vector <- array(c(vectorA,vectorB),dim = c(3,3,2))

imprimir (vector_resultado)

Matrices

En estos objetos R, los elementos están organizados en un diseño bidimensional. Las matrices contienen elementos de tipos atómicos similares. Estos son beneficiosos cuando los elementos pertenecen a una sola clase. Las matrices que tienen elementos numéricos se crean para cálculos matemáticos. Puede crear matrices utilizando la función matrix().

La sintaxis básica para crear una matriz se da a continuación:

matriz (datos, nrow, ncol, byrow, dimnames)

  • Datos : este es el vector de entrada que se convierte en el elemento de datos para la matriz.
  • Nrow : este es el número de filas que desea crear
  • Ncol : este es el número de columnas que desea crear
  • Byrow –Esta es una pista lógica. Si su valor es VERDADERO, los elementos del vector se ordenarán por fila
  • Dimname – Nombres dados a las columnas y filas

factores

Estos objetos R se utilizan para categorizar datos y almacenarlos como niveles. Son buenos para el modelado estadístico y el análisis de datos. Tanto los enteros como las cadenas se pueden almacenar en factores. Puede usar la función factor() para crear un factor proporcionando un vector como entrada al método.

marcos de datos

Tiene una estructura bidimensional como una matriz que tiene filas y columnas. Aquí, cada fila tiene un conjunto de valores que pertenecen a cada columna. Las columnas contienen el valor de una variable. Se utilizan para representar datos de hojas de cálculo. Estos se pueden utilizar para almacenar datos de tipo factor, numérico o carácter.

Un marco de datos tiene las siguientes características:

  • Los nombres de las filas deben ser únicos
  • Los nombres de las columnas no deben estar vacíos
  • El número de elementos de datos en cada columna debe ser el mismo

Manipulación de datos en R

Durante la manipulación de datos en R , el primer paso es crear pequeñas muestras de datos a partir de un gran conjunto de datos. Esto se hace porque no se puede analizar todo el conjunto de datos a la vez. Por lo general, los analistas de datos crean un subconjunto representativo del conjunto de datos. Esto les ayuda a identificar las tendencias y patrones en el conjunto de datos más grande. Este proceso de muestreo también se denomina creación de subconjuntos .

Las diferentes formas de crear un subconjunto en R son las siguientes:

  • $ – Esto selecciona un solo elemento de datos y su resultado es siempre un vector
  • [[: este operador de subconjunto también devuelve un solo elemento, pero puede hacer referencia a los elementos por su posición

  • [ – Este operador se utiliza para devolver múltiples elementos de datos

Algunas de las funciones básicas para la manipulación de datos en R son:

función muestra()

Como sugiere el nombre, el método sample() se usa para crear muestras de datos a partir de un conjunto de datos más grande. Junto con este comando, menciona la cantidad de muestras que desea extraer del conjunto de datos o un vector. La sintaxis básica es la siguiente:

muestra (x, tamaño, reemplazar = FALSO, prob = NULL)

x : puede ser un vector o un conjunto de datos de múltiples elementos de los que se debe elegir la muestra

tamaño : este es un número entero positivo que denota la cantidad de elementos para seleccionar

reemplazar: esto puede ser verdadero o falso, ya sea que desee el muestreo con o sin reemplazo

prob : es un argumento utilizado para proporcionar un vector de pesos para obtener los elementos del vector que se está muestreando

Función de tabla ()

Esta función crea una tabla de frecuencias que se usa para calcular el número de valores únicos de una variable en particular. Por ejemplo, creemos una tabla de frecuencias con el conjunto de datos del iris:

table(iris$Especies)

El código escrito arriba crea una tabla que representa los tipos de especies en el conjunto de datos del iris.

duplicado()

El método duplicado() se utiliza para identificar y eliminar valores duplicados de un conjunto de datos. Toma un vector o marco de datos como argumento y devuelve True para los elementos que están duplicados. Por ejemplo,

duplicado (c (1,1,3))

Esto verificará cuáles de estos elementos son duplicados y devolverá Verdadero o Falso.

Lea también : Árbol de decisión en R

Manipulación de datos en R usando el paquete dplyr

R proporciona un paquete simple y fácil de usar llamado dplyr para la manipulación de datos. El paquete tiene algunos métodos incorporados para la manipulación, exploración y transformación de datos. Veamos algunas de las funciones más importantes de este paquete:

Seleccione()

El método select() es una de las funciones básicas para la manipulación de datos en R. Este método se usa para seleccionar columnas en R. Con esto, puede seleccionar datos como con su nombre de columna. Las columnas se pueden seleccionar en función de ciertas condiciones. Supongamos que queremos seleccionar la columna 3 y 4 de un marco de datos llamado myData , el código será:

seleccionar(misDatos,3:4)

filtrar()

Este método se utiliza para filtrar filas de un conjunto de datos que coinciden con criterios específicos. Puede funcionar como select (), primero pasa el marco de datos y luego una condición separada con una coma.

Por ejemplo, si desea filtrar las columnas que tienen automóviles de color rojo en un conjunto de datos, debe escribir:

filter(coches, color==”Rojo”)

Como resultado, se mostrarán las filas coincidentes.

mudar()

Puede usar el método mutate() para crear nuevas columnas en un conjunto de datos y conservar las antiguas. Estas columnas se pueden crear especificando una condición. Por ejemplo,

mutate(mtcars, mtcars_new_col = mpg / cil)

En este comando, en el conjunto de datos mtcars, se crea una nueva columna mtcars_new_col que contiene los valores de la columna mpg dividida por la columna cyl.

arreglar()

Esto se usa para ordenar filas en orden ascendente o descendente, usando una o más variables. En lugar de aplicar el método desc(), puede agregar un símbolo menos (-) antes de la variable de clasificación. Esto indicará el orden descendente de clasificación. Por ejemplo,

organizar (mi_conjunto de datos, -Sepal.Length)

agrupar por()

El método group_by() se usa para agrupar observaciones en un conjunto de datos por una o múltiples variables.

resumir()

La función summarise() es beneficiosa para determinar información de datos como la media, la mediana y la moda. Se usa junto con datos agrupados creados por otro método group_by. summarise() ayuda a reducir múltiples valores en uno solo.

unir()

El método merge() combina o fusiona conjuntos de datos. Esto es útil para agrupar varias fuentes de datos de entrada.

El método le ofrece 4 formas de fusionar conjuntos de datos . Se mencionan a continuación:

  • Unión natural : se utiliza para mantener las filas que coinciden con la condición especificada dentro de los marcos de datos.
  • Unión externa completa: combina y almacena todas las filas de ambos marcos de datos
  • Unión externa izquierda: almacena todas las filas de un marco de datos A y las de B que coinciden
  • Unión externa derecha: almacena todas las filas de un marco de datos B y las de A que coinciden

renombrar_si()

Esta es una función que puede usar para cambiar el nombre de las columnas de un marco de datos cuando se cumple la condición especificada.

cambiar el nombre de todos()

Esto se usa para cambiar el nombre de todas las columnas de un marco de datos sin especificar ninguna condición.

Obtenga cursos de ciencia de datos de las mejores universidades del mundo. Únase a nuestros programas Executive PG, programas de certificación avanzada o programas de maestría para acelerar su carrera.

Operador de tubería

El operador de tubería está disponible en paquetes como magrittr y dplyr para simplificar su código general. El operador le permite combinar múltiples funciones juntas. Denotado por el símbolo %>%, se puede usar con métodos populares como summarise(), filter(), select() y group_by() mientras se manipulan datos en R.

Además de dplyr, hay muchos otros paquetes en CRAN para la manipulación de datos en R. De hecho, encontrará más de 7000 paquetes para reducir su codificación y también sus errores. Muchos de estos paquetes son creados por desarrolladores expertos, por lo que está en buenas manos. Éstos incluyen:

  • tabla de datos
  • lubricar
  • ggplot2
  • leer
  • remodelar2
  • ordenar

Conclusión

Si es un principiante en la manipulación de datos en R , puede optar por las funciones base integradas disponibles en R. Estas incluyen métodos como with(), within(), duplicated(), cut(), table(), muestra() y ordenar(). Pero son lentos y repetitivos. No es una opción muy eficiente.

Por lo tanto, la mejor manera de avanzar es utilizar la gran cantidad de paquetes en CRAN, como dplyr. Estos son súper útiles y hacen que sus programas sean más eficientes.

¿Qué paquete es útil para la manipulación de datos en R?

El proceso de manipulación de datos se utiliza para modificar los datos disponibles y facilitar su lectura además de hacerlo más organizado. A menudo hay muchos errores e imprecisiones por parte de las máquinas que han recopilado datos. La manipulación de datos le permite eliminar esas imprecisiones y proporcionar datos más precisos.

Hay muchas formas de realizar la manipulación de datos en R, como usar paquetes como ggplot2, readr, dplyr, etc. y usar funciones base de R como within(), with(), etc. Sin embargo, el paquete dplyr se considera muy útil para la manipulación de datos en R. Este paquete consta de varias funciones que se han creado específicamente para la manipulación de datos y permite que los datos se procesen más rápido en comparación con otros métodos y paquetes.

¿Cuál es el propósito del paquete dplyr en R?

Se sabe que el paquete dplyr es el mejor para la manipulación de datos en R con la máxima eficiencia. Anteriormente, existía este paquete llamado plyr, y se ha iterado para formar dplyr. Ahora, dplyr se enfoca completamente en los marcos de datos. Es por eso que es mucho más rápido, tiene una API mejor y más consistente, y también es bastante fácil de usar.

El paquete dplyr funciona para aprovechar al máximo los datos disponibles con un rendimiento mejorado en comparación con otros paquetes de manipulación de datos en R.

¿Cómo se pueden manipular los datos?

Para realizar la manipulación de datos, debe realizar ciertos pasos en un orden general. Siga los pasos a continuación:

1. En primer lugar, necesitará una base de datos creada a partir de fuentes de datos.
2. A continuación, debe limpiar, reorganizar y reestructurar los datos disponibles con manipulación de datos.
3. Ahora, debe desarrollar una base de datos en la que trabajará.
4. Aquí podrá fusionar, eliminar y modificar la información disponible.
5. Por último, analizar los datos disponibles y generar información útil a partir de ellos.