Introducció

Els data frames són una de les estructures de dades més utilitzades en R. Són similars a les taules de bases de dades o fulls de càlcul, on les dades es poden organitzar en files i columnes. Cada columna pot contenir un tipus de dada diferent (numèric, caràcter, factor, etc.), però totes les columnes han de tenir la mateixa longitud.

Creació de Data Frames

Exemple Bàsic

# Creació d'un data frame simple
df <- data.frame(
  Nom = c("Anna", "Bernat", "Carla"),
  Edat = c(23, 35, 28),
  Ciutat = c("Barcelona", "Girona", "Lleida")
)

# Mostra el data frame
print(df)

Explicació:

  • data.frame() és la funció utilitzada per crear un data frame.
  • Cada argument dins de data.frame() representa una columna del data frame.
  • Les columnes poden ser de diferents tipus de dades.

Exploració del Data Frame

# Veure les primeres files del data frame
head(df)

# Veure les últimes files del data frame
tail(df)

# Resum del data frame
summary(df)

# Estructura del data frame
str(df)

Explicació:

  • head(df) mostra les primeres 6 files del data frame.
  • tail(df) mostra les últimes 6 files del data frame.
  • summary(df) proporciona un resum estadístic de cada columna.
  • str(df) mostra l'estructura del data frame, incloent el tipus de cada columna.

Accés a les Dades

Accés per Columnes

# Accés a una columna per nom
df$Nom

# Accés a una columna per índex
df[, 1]

Explicació:

  • df$Nom accedeix a la columna "Nom".
  • df[, 1] accedeix a la primera columna del data frame.

Accés per Files

# Accés a una fila per índex
df[1, ]

# Accés a una fila per condició
df[df$Edat > 30, ]

Explicació:

  • df[1, ] accedeix a la primera fila del data frame.
  • df[df$Edat > 30, ] accedeix a les files on l'edat és superior a 30.

Accés a Subsets

# Accés a un subset de files i columnes
df[1:2, c("Nom", "Edat")]

Explicació:

  • df[1:2, c("Nom", "Edat")] accedeix a les primeres dues files i a les columnes "Nom" i "Edat".

Modificació de Data Frames

Afegir Columnes

# Afegir una nova columna
df$Gènere <- c("F", "M", "F")
print(df)

Explicació:

  • df$Gènere <- c("F", "M", "F") afegeix una nova columna "Gènere" al data frame.

Afegir Files

# Afegir una nova fila
df <- rbind(df, data.frame(Nom = "David", Edat = 40, Ciutat = "Tarragona", Gènere = "M"))
print(df)

Explicació:

  • rbind(df, data.frame(...)) afegeix una nova fila al data frame.

Modificar Valors

# Modificar un valor específic
df$Edat[1] <- 24
print(df)

Explicació:

  • df$Edat[1] <- 24 modifica el valor de la primera fila de la columna "Edat".

Operacions Comunes

Ordenar

# Ordenar per una columna
df <- df[order(df$Edat), ]
print(df)

Explicació:

  • df[order(df$Edat), ] ordena el data frame per la columna "Edat".

Filtrar

# Filtrar files basat en una condició
df_joves <- subset(df, Edat < 30)
print(df_joves)

Explicació:

  • subset(df, Edat < 30) crea un nou data frame amb les files on l'edat és inferior a 30.

Exercicis Pràctics

Exercici 1

Crea un data frame amb les següents dades:

Nom Edat Ciutat Gènere
Laura 22 Barcelona F
Marc 30 Girona M
Júlia 27 Lleida F
Pau 35 Tarragona M

Solució:

df <- data.frame(
  Nom = c("Laura", "Marc", "Júlia", "Pau"),
  Edat = c(22, 30, 27, 35),
  Ciutat = c("Barcelona", "Girona", "Lleida", "Tarragona"),
  Gènere = c("F", "M", "F", "M")
)
print(df)

Exercici 2

Filtra el data frame per mostrar només les persones que viuen a "Girona" o "Lleida".

Solució:

df_filtrat <- subset(df, Ciutat %in% c("Girona", "Lleida"))
print(df_filtrat)

Exercici 3

Afegeix una nova columna "Ocupació" amb els valors "Estudiant", "Enginyer", "Metge", "Professor".

Solució:

df$Ocupació <- c("Estudiant", "Enginyer", "Metge", "Professor")
print(df)

Conclusió

Els data frames són una eina poderosa i flexible per treballar amb dades en R. Permeten organitzar, accedir i manipular dades de manera eficient. Amb la pràctica, es poden realitzar operacions complexes de manera senzilla i intuïtiva. En el proper mòdul, explorarem altres estructures de dades com matrius i arrays per ampliar les nostres habilitats en la manipulació de dades.

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