Gestione delle variabili e assegnazione in R

In questo tutorial vediamo come gestire le variabili e le assegnazioni nel linguaggio R con alcuni esempi pratici.

Cos'è una variabile? Immagina una variabile come una scatola in cui puoi mettere diversi tipi di oggetti (dati). In R, questa scatola può contenere numeri, testo, o anche interi set di dati. L'assegnazione è l'operazione che ti permette di inserire un valore dentro la variabile. Una volta assegnato, potrai riaprire la variabile in qualsiasi momento e trovare l'ultima cosa (valore) che ci hai inserito.

Nei prossimi paragrafi vedremo come assegnare un valore a una variabile e cosa sono i tipi di dati.

L'assegnazione delle variabili

Nel linguaggio R si utilizza l'operatore <- per assegnare un valore a una variabile.

È come dire "metti questo nella scatola"

Per esempio, questo comando assegna il valore 5 alla variabile mioNumero.

mioNumero <- 3

Dai un nome significativo alle tue variabili. Non è obbligatorio farlo ma aiuta a ricordarsi che cosa contengono.

In R, i nomi delle variabili possono contenere lettere, numeri, punti e underscore, ma non possono iniziare con un numero o un carattere speciale.

In qualsiasi momento puoi assegnare alla variabile un altro valore, ti basta riscrivere lo stesso comando con un valore diverso.

mioNumero <- 4

Ora nella variabile mioNumero c'è il numero 4.

Usa la funzione print() o semplicemente scrivi il nome della variabile per vedere cosa c'è dentro. È come guardare all'interno della scatola.

print(mioNumero)

4

Se vuoi eliminare una variabile (o svuotare la scatola), puoi usare la funzione rm().

Per esempio, rm(miaVariabile) eliminerà miaVariabile.

rm(miaVariabile)

Tipi di dati

Le variabili possono contenere diversi tipi di dati: numerici, caratteri (stringhe), booleani (vero/falso), e altri.

È importante sapere che tipo di dati stai mettendo nella tua scatola per utilizzarli correttamente.

Ecco una panoramica sui vari tipi di dati che puoi utilizzare in R:

  • Numerici
    Questi sono i numeri, che possono essere interi o decimali (floating point). In R, se assegni un numero a una variabile senza specificare altrimenti, di solito viene trattato come un numero decimale. Ad esempio, 180.5 è un numero decimale.

    mioNumero <- 3

  • Interi
    Sono numeri senza parte decimale. In R, puoi specificare un numero intero aggiungendo un L dopo il numero. Ad esempio, se assegni 30L stai indicando che 30 è un numero intero).

    anni <- 30L

  • Caratteri (Stringhe)
    Questi sono testi, che in R devono essere racchiusi tra virgolette. Possono essere parole, frasi, o anche solo un singolo carattere. Ad esempio, "Tom" è una stringa.

    nome <- "Tom"

  • Logici (Booleani)
    Sono valori che rappresentano vero o falso, utili per condizioni e controlli logici. Ad esempio, TRUE e FALSE sono i due valori logici che indicano rispettivamente vero e falso.

    isStudent <- TRUE

  • Fattori
    Sono utilizzati per dati categorici. I fattori hanno livelli, che sono come etichette per le diverse categorie. Ad esempio:

    coloreCapelli <- factor(c("nero", "biondo", "rosso"))

  • Date e Orari
    R può gestire anche date e orari, che sono utili per analisi temporali. Ad esempio, per definire una data puoi scrivere:

    dataNascita <- as.Date("1918-05-11")

  • Complessi
    R supporta anche numeri complessi, che hanno una parte reale e una immaginaria. Ad esempio, per assegnare il numero complesso 3+4i dove 3 è la parte reale e 4i è la parte immaginaria ti basta scrivere:

    numeroComplesso <- 3 + 4i.

  • NULL e NA
    NULL indica l'assenza di un valore. NA, che sta per "Not Available", viene utilizzato per rappresentare valori mancanti o indefiniti in un dataset. È come avere una scatola vuota, pronta per essere riempita ma al momento senza nulla al suo interno. Ad esempio, in questo caso la variabile "miaVariabile" viene inizializzata ma non contiene alcun valore.

    miaVariabile <- NULL

Ogni tipo di dato ha il suo scopo e le sue peculiarità. Capire come e quando utilizzare questi diversi tipi è fondamentale per gestire efficacemente le variabili in R.

Manipolazione di variabili

Puoi manipolare variabili eseguendo operazioni su di esse.

Ad esempio, se hai due variabili numeriche, puoi sommarle, sottrarle, moltiplicarle, ecc.

a <- 1
b <- 2
print(a+b)

Questo script assegna il valore 1 alla variabile "a" e il valore 2 alla variabile "b", poi le somma. Il risultato è 1+2=3

3

Vettori e altre strutture

In R, puoi anche avere vettori, che sono come scatole più grandi che contengono più oggetti dello stesso tipo.

Per esempio, crea un vettore con tre numeri.

mioVettore <- c(1, 2, 3)

Le variabili globali e locali

Le variabili esistono all'interno di un ambiente in R.

Questo significa che una variabile definita all'interno di una funzione è diversa da una variabile con lo stesso nome fuori dalla funzione.

Cos'è un ambiente? Un ambiente in R è un insieme di "regole" che definiscono come e dove le variabili e le funzioni sono memorizzate e come possono essere modificate o accessibili. Ogni ambiente ha il suo set unico di variabili e funzioni.

Qual è la differenza tra le variabili globali e locali?

  • L'ambiente globale è dove le tue variabili sono generalmente memorizzate quando lavori in una sessione R standard. Tutto ciò che crei nel prompt di R è in questo ambiente.
  • Gli ambienti locali sono creati all'interno di funzioni o altri blocchi di codice. Le variabili create qui sono "locali" a quella funzione e non sono accessibili al di fuori di essa.

Lo "scope" di una variabile si riferisce a dove quella variabile è accessibile.

  • Variabile globale
    Una variabile definita globalmente (fuori da qualsiasi funzione) ha uno scope globale, il che significa che può essere accessa da qualsiasi parte del tuo script R.
  • Variabile locale
    Una variabile definita all'interno di una funzione, invece, ha uno scope locale e può essere utilizzata solo all'interno di quella funzione.

Ad esempio, considera questo script

  1. # Variabile globale
  2. x <- 10
  3. miaFunzione <- function() {
  4. # Variabile locale
  5. y <- 20
  6. return(x + y)
  7. }
  8. # Variabile globale
  9. y=5
  10. # Stampa 20
  11. print(miaFunzione())
  12. # Stampa 5
  13. print(y)

In questo caso ci sono due variabli chiamate "y" ma una è globale mentre l'altra è locale.

La variabile x=10 è una variabile globale.

Lo script stampa prima il risultato della funzione dove y=20 e x=10, quindi il risultato è x+y=30

20

Poi stampa il contenuto della variabile globale al di fuori della funzione dove y=5

5

Quando una variabile locale ha lo stesso nome di una variabile globale, la versione locale "maschera" quella globale all'interno del suo ambiente. Questo significa che quando accedi al nome della variabile all'interno della funzione, ottieni la versione locale.

Le funzioni possono essere nidificate in R, il che significa che gli ambienti possono essere anch'essi nidificati. Una funzione interna può accedere alle variabili in un ambiente esterno, ma non viceversa.

Capire come funzionano gli ambienti e lo scope in R è fondamentale per evitare errori e per scrivere codice chiaro e funzionale. Aiuta a prevedere come le variabili si comporteranno in diversi contesti.

Questi sono i concetti base, ma il bello di R  che c'è sempre qualcosa di nuovo da scoprire e capire. La chiave è sperimentare, fare errori, e imparare da essi.




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin