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 framedata
a un fitxer CSV situat a la ruta especificada. L'argumentrow.names = FALSE
evita 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 framedata
a 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 framedata
a 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