Guida per Principianti sui Vettori in R

Ciao a tutti, futuri programmatori R! Oggi ci imbarcheremo in un viaggio emozionante nel mondo dei vettori in R. Non preoccupatevi se non avete mai programmato prima - sarò il vostro guida amichevole, e prenderemo tutto passo per passo. Alla fine di questo tutorial, sarete in grado di creare e manipolare vettori come un professionista!

R - Vectors

Cos'è un Vettore?

Prima di immergerci, capiremo cos'è un vettore. In R, un vettore è come un contenitore che contiene più elementi dello stesso tipo. Pensa a esso come a un treno con diversi carri, ognuno dei quali trasporta lo stesso tipo di carico. Questo carico potrebbe essere numeri, testi o persino valori logici (vero/falso).

Creazione di Vettori

Iniziamo imparando come creare vettori. Ci sono diversi modi per farlo in R, ma ci concentreremo sui metodi più comuni e utili.

Utilizzo della funzione c()

Il modo più diretto per creare un vettore è utilizzare la funzione c(). La lettera 'c' sta per 'combinare' o 'concatenare'.

# Creazione di un vettore numerico
numbers <- c(1, 2, 3, 4, 5)
print(numbers)

# Creazione di un vettore di caratteri
fruits <- c("apple", "banana", "cherry")
print(fruits)

# Creazione di un vettore logico
is_student <- c(TRUE, FALSE, TRUE, TRUE)
print(is_student)

In questi esempi, stiamo creando tre tipi diversi di vettori. Il simbolo <- viene utilizzato per assegnare il vettore a un nome di variabile.

Utilizzo dell'operatore :

Per creare una sequenza di numeri, l'operatore : è molto utile:

# Creazione di una sequenza da 1 a 10
sequence <- 1:10
print(sequence)

# Creazione di una sequenza inversa
reverse_sequence <- 10:1
print(reverse_sequence)

Questo è un modo rapido per creare una sequenza di interi. È come dire a R, "Dammi tutti i numeri da questo a quello."

Utilizzo della funzione seq()

Per avere un controllo maggiore sulle tue sequenze, la funzione seq() è la tua alleata:

# Creazione di una sequenza con un passo specifico
by_twos <- seq(from = 0, to = 10, by = 2)
print(by_twos)

# Creazione di una sequenza con una lunghezza specifica
five_numbers <- seq(from = 0, to = 1, length.out = 5)
print(five_numbers)

La funzione seq() è più flessibile, permettendoti di specificare l'inizio, la fine, la dimensione del passo o il numero di elementi che vuoi.

Utilizzo della funzione rep()

A volte, potresti voler ripetere valori. È qui che entra in gioco rep():

# Ripetere un singolo valore
repeat_five <- rep(5, times = 3)
print(repeat_five)

# Ripetere un vettore
repeat_vector <- rep(c(1, 2), times = 3)
print(repeat_vector)

# Ripetere ogni elemento
repeat_each <- rep(c(1, 2), each = 3)
print(repeat_each)

rep() è fantastico per creare modelli o riempire i tuoi dati con valori ripetuti.

Accesso agli Elementi del Vettore

Ora che sappiamo come creare vettori, impariamo come accedere ai loro elementi. In R, utilizziamo parentesi quadre [] per questo scopo.

Accesso per Indice

Ricorda, in R, l'indicizzazione parte da 1, non da 0 come in altri linguaggi di programmazione.

fruits <- c("apple", "banana", "cherry", "date")

# Accesso all'elemento primo
print(fruits[1])  # Output: "apple"

# Accesso all'elemento terzo
print(fruits[3])  # Output: "cherry"

# Accesso a più elementi
print(fruits[c(1, 3)])  # Output: "apple" "cherry"

# Accesso a un intervallo di elementi
print(fruits[2:4])  # Output: "banana" "cherry" "date"

Indicizzazione Negativa

In R, puoi utilizzare indicizzazioni negative per escludere elementi:

# Escludere il secondo elemento
print(fruits[-2])  # Output: "apple" "cherry" "date"

# Escludere più elementi
print(fruits[c(-1, -3)])  # Output: "banana" "date"

Indicizzazione Logica

Puoi anche utilizzare vettori logici per accedere agli elementi:

numbers <- c(1, 2, 3, 4, 5)

# Accesso ai numeri dispari
print(numbers[numbers %% 2 == 0])  # Output: 2 4

# Accesso ai numeri maggiori di 3
print(numbers[numbers > 3])  # Output: 4 5

Manipolazione dei Vettori

Ora che possiamo creare e accedere ai vettori, impariamo come manipolarli.

Operazioni Aritmetiche sui Vettori

Puoi eseguire operazioni aritmetiche sui vettori:

vec1 <- c(1, 2, 3)
vec2 <- c(4, 5, 6)

# Addizione
print(vec1 + vec2)  # Output: 5 7 9

# Moltiplicazione
print(vec1 * vec2)  # Output: 4 10 18

# Divisione
print(vec2 / vec1)  # Output: 4 2.5 2

Riciclo dei Vettori

Quando si eseguono operazioni su vettori di lunghezze diverse, R riciclerà il vettore più breve:

short_vec <- c(1, 2)
long_vec <- c(1, 2, 3, 4, 5, 6)

print(short_vec + long_vec)  # Output: 2 4 4 6 6 8

R ripete il vettore più breve per adattarsi alla lunghezza del vettore più lungo.

Funzioni per i Vettori

R fornisce molte funzioni utili per lavorare con i vettori:

numbers <- c(5, 2, 8, 1, 9)

# Lunghezza del vettore
print(length(numbers))  # Output: 5

# Somma di tutti gli elementi
print(sum(numbers))  # Output: 25

# Media (media) del vettore
print(mean(numbers))  # Output: 5

# Ordinamento del vettore
print(sort(numbers))  # Output: 1 2 5 8 9

Ecco una tabella che riassume alcune funzioni comuni per i vettori:

Funzione Descrizione
length() Restituisce il numero di elementi nel vettore
sum() Calcola la somma di tutti gli elementi
mean() Calcola la media di tutti gli elementi
median() Trova il valore mediano
max() Restituisce il valore massimo
min() Restituisce il valore minimo
sort() Ordina il vettore in ordine crescente
rev() Inverte l'ordine degli elementi

Conclusione

Congratulazioni! Avete appena fatto i vostri primi passi nel mondo dei vettori in R. Abbiamo coperto la creazione, l'accesso agli elementi e la manipolazione di base. Ricorda, la pratica fa la perfezione, quindi non esitare a sperimentare con questi concetti.

I vettori sono i mattoni fondamentali della manipolazione dei dati in R, e padroneggiarli vi preparerà per il successo nel vostro viaggio di programmazione in R. Continuate a esplorare, continuate a programmare e, soprattutto, divertitevi con esso!

Credits: Image by storyset