En aquest tema, aprendrem com importar i exportar dades en R, una habilitat essencial per treballar amb dades reals. R ofereix diverses funcions i paquets per gestionar diferents formats de fitxers, com ara CSV, Excel, JSON, i bases de dades SQL.
Objectius d'Aprenentatge
- Comprendre com llegir fitxers de dades en diferents formats.
- Aprendre a exportar dades des de R a diferents formats.
- Familiaritzar-se amb els paquets més utilitzats per a la importació i exportació de dades.
- Importació de Dades
1.1. Llegir Fitxers CSV
Els fitxers CSV (Comma-Separated Values) són un dels formats més comuns per emmagatzemar dades tabulars. R proporciona la funció read.csv() per llegir aquests fitxers.
# Exemple de lectura d'un fitxer CSV
data <- read.csv("path/to/your/file.csv")
# Mostrar les primeres files del dataset
head(data)Explicació:
read.csv("path/to/your/file.csv"): Llegeix el fitxer CSV situat a la ruta especificada i el carrega en un data frame.head(data): Mostra les primeres sis files del data frame per verificar que les dades s'han carregat correctament.
1.2. Llegir Fitxers Excel
Per llegir fitxers Excel, podem utilitzar el paquet readxl.
# Instal·lar el paquet readxl si no està instal·lat
install.packages("readxl")
# Carregar el paquet readxl
library(readxl)
# Llegir un fitxer Excel
data <- read_excel("path/to/your/file.xlsx", sheet = "Sheet1")
# Mostrar les primeres files del dataset
head(data)Explicació:
read_excel("path/to/your/file.xlsx", sheet = "Sheet1"): Llegeix el fitxer Excel situat a la ruta especificada i la fulla de càlcul "Sheet1".
1.3. Llegir Fitxers JSON
Per treballar amb fitxers JSON, podem utilitzar el paquet jsonlite.
# Instal·lar el paquet jsonlite si no està instal·lat
install.packages("jsonlite")
# Carregar el paquet jsonlite
library(jsonlite)
# Llegir un fitxer JSON
data <- fromJSON("path/to/your/file.json")
# Mostrar les primeres files del dataset
head(data)Explicació:
fromJSON("path/to/your/file.json"): Llegeix el fitxer JSON situat a la ruta especificada i el converteix en un data frame.
1.4. Llegir Dades des d'una Base de Dades SQL
Per connectar-se a una base de dades SQL, podem utilitzar el paquet DBI juntament amb un connector específic com RMySQL o RSQLite.
# Instal·lar els paquets necessaris si no estan instal·lats
install.packages("DBI")
install.packages("RMySQL")
# Carregar els paquets
library(DBI)
library(RMySQL)
# Connectar-se a la base de dades
con <- dbConnect(RMySQL::MySQL(),
dbname = "database_name",
host = "host_name",
user = "user_name",
password = "password")
# Llegir dades d'una taula
data <- dbGetQuery(con, "SELECT * FROM table_name")
# Tancar la connexió
dbDisconnect(con)
# Mostrar les primeres files del dataset
head(data)Explicació:
dbConnect(): Estableix una connexió amb la base de dades.dbGetQuery(con, "SELECT * FROM table_name"): Executa una consulta SQL per obtenir dades de la taula especificada.dbDisconnect(con): Tanca la connexió amb la base de dades.
- Exportació de Dades
2.1. Escriure Fitxers CSV
Per exportar dades a un fitxer CSV, podem utilitzar la funció write.csv().
# Exemple d'escriptura d'un data frame a un fitxer CSV write.csv(data, "path/to/your/output_file.csv", row.names = FALSE)
Explicació:
write.csv(data, "path/to/your/output_file.csv", row.names = FALSE): Escriu el data framedataa un fitxer CSV situat a la ruta especificada. L'argumentrow.names = FALSEevita que s'afegeixin els noms de les files al fitxer CSV.
2.2. Escriure Fitxers Excel
Per exportar dades a un fitxer Excel, podem utilitzar el paquet writexl.
# Instal·lar el paquet writexl si no està instal·lat
install.packages("writexl")
# Carregar el paquet writexl
library(writexl)
# Escriure un data frame a un fitxer Excel
write_xlsx(data, "path/to/your/output_file.xlsx")Explicació:
write_xlsx(data, "path/to/your/output_file.xlsx"): Escriu el data framedataa un fitxer Excel situat a la ruta especificada.
2.3. Escriure Fitxers JSON
Per exportar dades a un fitxer JSON, podem utilitzar el paquet jsonlite.
Explicació:
write_json(data, "path/to/your/output_file.json"): Escriu el data framedataa un fitxer JSON situat a la ruta especificada.
Exercicis Pràctics
Exercici 1: Importar un Fitxer CSV
- Descarrega el fitxer CSV des de aquest enllaç.
- Llegeix el fitxer CSV en R i mostra les primeres files.
Exercici 2: Exportar un Data Frame a Excel
- Crea un data frame amb les següents dades:
| Nom | Edat | Ciutat |
|---|---|---|
| Anna | 28 | Barcelona |
| Marc | 34 | Madrid |
| Laura | 25 | València |
- Exporta el data frame a un fitxer Excel.
# Solució
# Crear el data frame
data <- data.frame(
Nom = c("Anna", "Marc", "Laura"),
Edat = c(28, 34, 25),
Ciutat = c("Barcelona", "Madrid", "València")
)
# Exportar a Excel
write_xlsx(data, "path/to/your/output_file.xlsx")Resum
En aquesta secció, hem après com importar i exportar dades en R utilitzant diferents formats de fitxers com CSV, Excel, JSON, i bases de dades SQL. Aquestes habilitats són fonamentals per treballar amb dades reals i preparar-les per a l'anàlisi. En el proper mòdul, ens endinsarem en la manipulació de dades, on aprendrem a treballar amb vectors, llistes, matrius, arrays, data frames, factors i més.
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
