Comprendere le strutture dati
Lezione 1 di 14 del corso Manipolazione dei dati in R di Coddy.
In R, le strutture dati sono fondamentali per organizzare e manipolare i dati. Esploriamo tre strutture dati di base: vettori, matrici e data frame.
1. Vettori
I vettori sono array unidimensionali che possono contenere elementi dello stesso tipo di dato.
# Creazione di un vettore numerico
numbers <- c(1, 2, 3, 4, 5)
# Creazione di un vettore di caratteri
fruits <- c("apple", "banana", "cherry")
# Accesso agli elementi
print(numbers[2]) # Output: 2
print(fruits[1:2]) # Output: "apple" "banana"
2. Matrici
Le matrici sono array bidimensionali con righe e colonne, che contengono elementi dello stesso tipo di dato.
# Creazione di una matrice
mat <- matrix(1:6, nrow = 2, ncol = 3)
# Accesso agli elementi
print(mat[1, 2]) # Restituisce l’elemento nella 1ª riga e nella 2ª colonna (Output: 3)
print(mat[, 1]) # Restituisce la 1ª colonna come vettore (Output: 1 2)
3. Data frame
I data frame sono strutture simili a tabelle che possono contenere tipi di dato diversi in ogni colonna.
# Creazione di un data frame
df <- data.frame(
name = c("Alice", "Bob", "Charlie"),
age = c(25, 30, 35),
city = c("New York", "London", "Paris")
)
# Accesso agli elementi
print(df$name) # Restituisce la colonna denominata "name" (Output: "Alice" "Bob" "Charlie")
print(df[2, "age"]) # Output: 30Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Sfida
FacileEsegui le seguenti operazioni sul dataframe:
- Aggiungi una nuova colonna chiamata "height_m" che converte l'altezza da centimetri a metri
- Calcola e stampa l'età media
- Stampa il nome della persona più alta (in metri)
Provalo tu
# Leggi l'input
con <- file("stdin", "r")
input_data <- suppressWarnings(readLines(con, n = 3))
# Elabora i dati di input
data_list <- strsplit(input_data, ",")
names <- sapply(data_list, function(x) x[1])
ages <- as.numeric(sapply(data_list, function(x) x[2]))
heights <- as.numeric(sapply(data_list, function(x) x[3]))
# Crea il data frame iniziale
df <- data.frame(
name = names,
age = ages,
height = heights
)
# TODO: Scrivi il tuo codice qui sotto
# 1. Aggiungi una nuova colonna 'height_m'
# 2. Calcola e stampa l'età media
# 3. Stampa il nome della persona più alta (in metri)
# Segnaposto per l'output
cat("Average age:", avg_age, "\n")
cat("Tallest person:", tallest_person)Tutte le lezioni di Manipolazione dei dati in R
1Fondamenti dei dati
Comprendere le strutture datiIndicizzazione dei dataframeSelezione di sottoinsiemi di datiConversione dei tipi di datiL'operatore pipe in REsercitati da solo: Compilatore R online