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
Explicació:
df$Nom
accedeix a la columna "Nom".df[, 1]
accedeix a la primera columna del data frame.
Accés per Files
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
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
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
Explicació:
df$Edat[1] <- 24
modifica el valor de la primera fila de la columna "Edat".
Operacions Comunes
Ordenar
Explicació:
df[order(df$Edat), ]
ordena el data frame per la columna "Edat".
Filtrar
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ó:
Exercici 3
Afegeix una nova columna "Ocupació" amb els valors "Estudiant", "Enginyer", "Metge", "Professor".
Solució:
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
- Introducció a R i RStudio
- Sintaxi Bàsica de R
- Tipus de Dades i Estructures
- Operacions i Funcions Bàsiques
- Importació i Exportació de Dades
Mòdul 2: Manipulació de Dades
- Vectors i Llistes
- Matrius i Arrays
- Data Frames
- Factors
- Manipulació de Dades amb dplyr
- Manipulació de Cadenes
Mòdul 3: Visualització de Dades
- Introducció a la Visualització de Dades
- Gràfics Base de R
- Conceptes Bàsics de ggplot2
- ggplot2 Avançat
- Visualitzacions Interactives amb plotly
Mòdul 4: Anàlisi Estadística
- Estadístiques Descriptives
- Distribucions de Probabilitat
- Proves d'Hipòtesi
- Correlació i Regressió
- ANOVA i Proves de Chi-Cuadrat
Mòdul 5: Gestió Avançada de Dades
- Gestió de Dates i Hores
- Reestructuració de Dades
- Treballant amb Grans Conjunts de Dades
- Web Scraping
- APIs i JSON
Mòdul 6: Conceptes Avançats de Programació
- Escriure Funcions
- Depuració i Gestió d'Errors
- Programació Orientada a Objectes en R
- Programació Funcional
- Computació Paral·lela
Mòdul 7: Aprenentatge Automàtic amb R
- Introducció a l'Aprenentatge Automàtic
- Preprocessament de Dades
- Aprenentatge Supervisat
- Aprenentatge No Supervisat
- Avaluació i Ajust de Models
Mòdul 8: Temes Especialitzats
- Anàlisi de Sèries Temporals
- Anàlisi de Dades Espacials
- Mineria de Text i Processament del Llenguatge Natural
- Bioinformàtica amb R
- Anàlisi de Dades Financeres