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: 6Indexació 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 3Llistes
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 30Exercicis 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: 30Exercici 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
