Introducció

El paquet dplyr és una eina poderosa per a la manipulació de dades en R. Proporciona una sintaxi clara i eficient per realitzar operacions comunes com seleccionar, filtrar, agrupar i resumir dades. En aquest tema, aprendrem a utilitzar les funcions bàsiques de dplyr per manipular data frames de manera eficient.

Instal·lació i Càrrega del Paquet

Abans de començar, assegura't de tenir instal·lat el paquet dplyr. Pots instal·lar-lo i carregar-lo amb els següents comandos:

install.packages("dplyr")
library(dplyr)

Funcions Bàsiques de dplyr

  1. select(): Seleccionar Columnes

La funció select() s'utilitza per seleccionar columnes específiques d'un data frame.

# Exemple
data <- mtcars
selected_data <- select(data, mpg, cyl, hp)
head(selected_data)

  1. filter(): Filtrar Files

La funció filter() s'utilitza per filtrar files basant-se en condicions lògiques.

# Exemple
filtered_data <- filter(data, mpg > 20, cyl == 4)
head(filtered_data)

  1. mutate(): Crear o Modificar Columnes

La funció mutate() s'utilitza per crear noves columnes o modificar les existents.

# Exemple
mutated_data <- mutate(data, hp_per_cyl = hp / cyl)
head(mutated_data)

  1. arrange(): Ordenar Files

La funció arrange() s'utilitza per ordenar les files d'un data frame.

# Exemple
arranged_data <- arrange(data, desc(mpg))
head(arranged_data)

  1. summarize(): Resumir Dades

La funció summarize() s'utilitza per crear resums estadístics de les dades.

# Exemple
summary_data <- summarize(data, avg_mpg = mean(mpg), max_hp = max(hp))
summary_data

  1. group_by(): Agrupar Dades

La funció group_by() s'utilitza per agrupar dades abans d'aplicar funcions de resum.

# Exemple
grouped_data <- group_by(data, cyl)
summary_grouped_data <- summarize(grouped_data, avg_mpg = mean(mpg), max_hp = max(hp))
summary_grouped_data

Exemple Pràctic

A continuació, es mostra un exemple pràctic que combina diverses funcions de dplyr per realitzar una anàlisi de dades completa.

# Exemple Pràctic
data <- mtcars

# Seleccionar columnes rellevants
selected_data <- select(data, mpg, cyl, hp, wt)

# Filtrar dades per a cotxes amb més de 20 mpg
filtered_data <- filter(selected_data, mpg > 20)

# Crear una nova columna per a la relació pes/potència
mutated_data <- mutate(filtered_data, wt_hp_ratio = wt / hp)

# Agrupar per nombre de cilindres
grouped_data <- group_by(mutated_data, cyl)

# Resumir dades per grup
summary_grouped_data <- summarize(grouped_data, avg_mpg = mean(mpg), avg_wt_hp_ratio = mean(wt_hp_ratio))

# Ordenar el resultat per mpg mitjà
final_data <- arrange(summary_grouped_data, desc(avg_mpg))

# Mostrar el resultat final
print(final_data)

Exercicis Pràctics

Exercici 1

Utilitza el data frame mtcars per seleccionar les columnes mpg, cyl i gear. Filtra les files on mpg és superior a 25 i gear és igual a 4. Ordena el resultat per mpg en ordre descendent.

Solució

# Solució Exercici 1
data <- mtcars
result <- data %>%
  select(mpg, cyl, gear) %>%
  filter(mpg > 25, gear == 4) %>%
  arrange(desc(mpg))

print(result)

Exercici 2

Utilitza el data frame mtcars per crear una nova columna que representi la relació entre hp i wt. Agrupa les dades per cyl i calcula la mitjana de hp i wt per cada grup. Ordena el resultat per la mitjana de hp en ordre ascendent.

Solució

# Solució Exercici 2
data <- mtcars
result <- data %>%
  mutate(hp_wt_ratio = hp / wt) %>%
  group_by(cyl) %>%
  summarize(avg_hp = mean(hp), avg_wt = mean(wt)) %>%
  arrange(avg_hp)

print(result)

Conclusió

En aquesta secció, hem après a utilitzar les funcions bàsiques de dplyr per manipular dades de manera eficient. Aquestes eines són fonamentals per a qualsevol anàlisi de dades en R, i la seva comprensió és essencial per avançar en l'ús d'aquest llenguatge. En el proper mòdul, explorarem altres estructures de dades com les matrius i els arrays.

Programació en R: De Principiant a Avançat

Mòdul 1: Introducció a R

Mòdul 2: Manipulació de Dades

Mòdul 3: Visualització de Dades

Mòdul 4: Anàlisi Estadística

Mòdul 5: Gestió Avançada de Dades

Mòdul 6: Conceptes Avançats de Programació

Mòdul 7: Aprenentatge Automàtic amb R

Mòdul 8: Temes Especialitzats

Mòdul 9: Projecte i Estudis de Cas

© Copyright 2024. Tots els drets reservats