00
:
00
:
00
:
00
•Corso SEO AI - Usa SEOEMAIL al checkout per il 30% di sconto

Sintassi di Base in R

Il linguaggio R ha una sintassi pensata per l’analisi statistica e la manipolazione dei dati. Prima di iniziare a scrivere programmi in R, e’ fondamentale comprendere le regole di base della sua sintassi. In questa guida esploreremo tutti gli aspetti essenziali.

Assegnazione con <- e =

In R, l’operatore di assegnazione principale e’ la freccia <-. Sebbene sia possibile utilizzare anche il simbolo =, la comunita’ R preferisce fortemente l’uso di <- per distinguere l’assegnazione dai parametri delle funzioni.

# Assegnazione con <- (consigliato)
nome <- "Mario"
eta <- 30

# Assegnazione con = (funziona ma meno comune)
citta = "Roma"

# Assegnazione con freccia destra (meno usato)
"Ingegnere" -> professione

# Stampa i valori
print(nome)       # [1] "Mario"
print(eta)        # [1] 30
print(citta)      # [1] "Roma"
print(professione) # [1] "Ingegnere"

La ragione per cui <- e’ preferito rispetto a = diventa chiara nelle chiamate a funzione. Utilizzando = all’interno di una funzione, si assegna un valore a un parametro, mentre <- crea una variabile nell’ambiente corrente.

# = assegna al parametro della funzione
mean(x = c(1, 2, 3))  # x e' un parametro, non viene creata una variabile

# <- crea una variabile nell'ambiente
mean(x <- c(1, 2, 3)) # x viene creata come variabile nell'ambiente
print(x)               # [1] 1 2 3

Punto e Virgola Opzionale

In R, il punto e virgola e’ opzionale. Ogni istruzione viene generalmente scritta su una riga separata. Tuttavia, e’ possibile scrivere piu’ istruzioni sulla stessa riga separandole con un punto e virgola.

# Ogni istruzione su una riga separata (consigliato)
a <- 10
b <- 20
c <- a + b

# Piu' istruzioni sulla stessa riga (sconsigliato ma valido)
a <- 10; b <- 20; c <- a + b

print(c) # [1] 30

La pratica consigliata e’ quella di scrivere una sola istruzione per riga, per migliorare la leggibilita’ del codice.

Case Sensitivity

R e’ un linguaggio case-sensitive, il che significa che distingue tra lettere maiuscole e minuscole. Questo vale per nomi di variabili, funzioni e parole chiave.

variabile <- 10
Variabile <- 20
VARIABILE <- 30

print(variabile)  # [1] 10
print(Variabile)  # [1] 20
print(VARIABILE)  # [1] 30

# Anche le funzioni sono case-sensitive
# print() funziona, Print() genera un errore

Regole per i Nomi delle Variabili

In R, i nomi delle variabili devono seguire alcune regole specifiche:

  1. Devono iniziare con una lettera o un punto: Se iniziano con un punto, il secondo carattere non puo’ essere un numero.
  2. Possono contenere lettere, numeri, punti e underscore: I caratteri speciali e gli spazi non sono ammessi.
  3. Non possono essere parole riservate: Come if, else, for, while, function, TRUE, FALSE, NULL, NA, Inf, NaN.
# Nomi validi
nome_utente <- "Mario"
eta.utente <- 30
.valore_nascosto <- 42
contatore2 <- 0
nomeCompleto <- "Mario Rossi"

# Nomi NON validi (generano errore)
# 2contatore <- 0     # Non puo' iniziare con un numero
# nome-utente <- 10   # Il trattino non e' ammesso
# for <- 5            # 'for' e' una parola riservata

Le convenzioni di stile piu’ comuni in R sono il snake_case (es. nome_utente) e il punto come separatore (es. nome.utente). Il camelCase viene utilizzato meno frequentemente.

Indentazione

R non utilizza l’indentazione per definire blocchi di codice come Python. I blocchi sono delimitati da parentesi graffe {}. Tuttavia, l’indentazione e’ fondamentale per la leggibilita’.

# Indentazione corretta per leggibilita'
if (eta >= 18) {
  print("Maggiorenne")
  if (eta >= 65) {
    print("Pensionato")
  }
} else {
  print("Minorenne")
}

# Funzione con indentazione
calcola_media <- function(vettore) {
  somma <- sum(vettore)
  n <- length(vettore)
  risultato <- somma / n
  return(risultato)
}

media <- calcola_media(c(10, 20, 30))
print(media) # [1] 20

Lo standard consigliato e’ di utilizzare 2 spazi per livello di indentazione, come raccomandato dalla guida di stile di Tidyverse.

Esecuzione Interattiva vs Script

R puo’ essere utilizzato in due modalita’: interattiva e tramite script.

Modalita’ Interattiva (Console)

Nella console di R, ogni istruzione viene eseguita immediatamente e il risultato viene stampato automaticamente senza necessita’ di usare print().

# Nella console R
> 2 + 3
[1] 5

> x <- 10
> x
[1] 10

> sqrt(144)
[1] 12

Modalita’ Script (File .R)

Quando si scrive codice in un file .R, il codice viene eseguito in sequenza e i risultati vengono stampati solo se esplicitamente richiesto con print() o cat().

# File: analisi.R
dati <- c(23, 45, 12, 67, 34)
media <- mean(dati)
deviazione <- sd(dati)

cat("Media:", media, "\n")           # Media: 36.2
cat("Deviazione standard:", deviazione, "\n") # Deviazione standard: 20.7605

Per eseguire uno script da console si utilizza il comando source():

source("analisi.R")

Commenti

In R, i commenti iniziano con il simbolo #. Tutto cio’ che segue il # su quella riga viene ignorato dall’interprete. R non supporta commenti multilinea nativamente, quindi ogni riga di commento deve iniziare con #.

# Questo e' un commento su una riga

x <- 42  # Commento alla fine di un'istruzione

# Per scrivere commenti su piu' righe
# bisogna usare il simbolo #
# all'inizio di ogni riga

Conclusioni

La sintassi di R e’ progettata per essere flessibile e adatta all’analisi dei dati. L’operatore di assegnazione <- e’ uno degli elementi piu’ distintivi del linguaggio. Comprendere le regole per i nomi delle variabili, la case sensitivity e la differenza tra esecuzione interattiva e script e’ essenziale per iniziare a programmare efficacemente in R. Nel prossimo articolo esploreremo in dettaglio le variabili e i diversi operatori di assegnazione.