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

  1. Crea un vector numèric amb els valors 10, 20, 30, 40, 50.
  2. Calcula la mitjana del vector.
  3. Multiplica cada element del vector per 3.
  4. 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

  1. Crea una llista amb un vector numèric, un vector de caràcters i un vector lògic.
  2. Accedeix al segon element del vector de caràcters.
  3. 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

Mòdul 2: Manipulació de Dades

Mòdul 3: Visualització de Dades

Mòdul 4: Anàlisi Estadística

Mòdul 5: Gestió Avançada de Dades

Mòdul 6: Conceptes Avançats de Programació

Mòdul 7: Aprenentatge Automàtic amb R

Mòdul 8: Temes Especialitzats

Mòdul 9: Projecte i Estudis de Cas

© Copyright 2024. Tots els drets reservats