Introducció
En aquest tema, aprendrem sobre dues de les estructures de dades més fonamentals en R: els vectors i les llistes. Els vectors són seqüències d'elements del mateix tipus, mentre que les llistes poden contenir elements de diferents tipus. Comprendre aquestes estructures és essencial per manipular i analitzar dades en R.
Vectors
Creació de Vectors
Els vectors en R es poden crear utilitzant la funció c()
, que significa "combine" (combinar). Tots els elements d'un vector han de ser del mateix tipus (numèric, caràcter, lògic, etc.).
# Vector numèric num_vector <- c(1, 2, 3, 4, 5) print(num_vector) # Vector de caràcters char_vector <- c("a", "b", "c", "d") print(char_vector) # Vector lògic log_vector <- c(TRUE, FALSE, TRUE) print(log_vector)
Operacions amb Vectors
Els vectors permeten realitzar operacions elementals de manera eficient.
# Suma de vectors v1 <- c(1, 2, 3) v2 <- c(4, 5, 6) sum_vector <- v1 + v2 print(sum_vector) # Resultat: 5 7 9 # Multiplicació per un escalar scalar_mult <- v1 * 2 print(scalar_mult) # Resultat: 2 4 6 # Funcions estadístiques mean_v1 <- mean(v1) print(mean_v1) # Resultat: 2 sum_v1 <- sum(v1) print(sum_v1) # Resultat: 6
Indexació i Subsetting
Podem accedir a elements específics d'un vector utilitzant la indexació.
# Accedir al segon element second_element <- v1[2] print(second_element) # Resultat: 2 # Accedir a múltiples elements subset_vector <- v1[c(1, 3)] print(subset_vector) # Resultat: 1 3 # Excloure elements exclude_second <- v1[-2] print(exclude_second) # Resultat: 1 3
Llistes
Creació de Llistes
Les llistes poden contenir elements de diferents tipus i estructures, incloent vectors, altres llistes, data frames, etc.
# Creació d'una llista my_list <- list( num = 1:5, char = c("a", "b", "c"), log = c(TRUE, FALSE, TRUE) ) print(my_list)
Accés a Elements de Llistes
Podem accedir als elements d'una llista utilitzant el símbol $
o la notació de doble claudàtor [[ ]]
.
# Accedir a un element per nom num_elements <- my_list$num print(num_elements) # Resultat: 1 2 3 4 5 # Accedir a un element per posició char_elements <- my_list[[2]] print(char_elements) # Resultat: "a" "b" "c" # Accedir a un subelement first_char <- my_list$char[1] print(first_char) # Resultat: "a"
Modificació de Llistes
Podem afegir o modificar elements d'una llista de manera dinàmica.
# Afegir un nou element my_list$new_element <- "New" print(my_list) # Modificar un element existent my_list$num <- c(10, 20, 30) print(my_list$num) # Resultat: 10 20 30
Exercicis Pràctics
Exercici 1: Creació i Manipulació de Vectors
- Crea un vector numèric amb els valors 10, 20, 30, 40, 50.
- Calcula la mitjana del vector.
- Multiplica cada element del vector per 3.
- Accedeix al tercer element del vector.
Solució
# 1. Creació del vector vec <- c(10, 20, 30, 40, 50) # 2. Càlcul de la mitjana mean_vec <- mean(vec) print(mean_vec) # Resultat: 30 # 3. Multiplicació per 3 mult_vec <- vec * 3 print(mult_vec) # Resultat: 30 60 90 120 150 # 4. Accés al tercer element third_element <- vec[3] print(third_element) # Resultat: 30
Exercici 2: Creació i Manipulació de Llistes
- Crea una llista amb un vector numèric, un vector de caràcters i un vector lògic.
- Accedeix al segon element del vector de caràcters.
- Afegeix un nou element a la llista amb el nom "new_element" i valor "Hello".
Solució
# 1. Creació de la llista my_list <- list( num = c(1, 2, 3), char = c("x", "y", "z"), log = c(TRUE, FALSE, TRUE) ) # 2. Accés al segon element del vector de caràcters second_char <- my_list$char[2] print(second_char) # Resultat: "y" # 3. Afegir un nou element my_list$new_element <- "Hello" print(my_list$new_element) # Resultat: "Hello"
Conclusió
En aquesta secció, hem après a crear i manipular vectors i llistes en R. Els vectors són útils per treballar amb seqüències d'elements del mateix tipus, mentre que les llistes ens permeten agrupar elements de diferents tipus. Aquests conceptes són fonamentals per a la manipulació de dades en R i seran la base per a temes més avançats en els següents mòduls.
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