Operazioni Matematiche in Linguaggio R

Una volta avviato l'ambiente R tutte le comuni operazioni aritmetiche e le funzionalità aritmetiche sono pronte per essere utilizzate nel prompt dei comandi.

Si possono introdurre espressioni aritmetiche semplici come somme, sottrazioni, moltiplicazioni e divisioni. Inoltre, è possibile utilizzare le funzioni matematiche come radice quadrata, esponenziale, logaritmo, ecc.

In questa lezione vedremo come eseguire le operazioni matematiche di base in R.

Operazioni Aritmetiche

In R, nell'inserire espressioni matematiche si applicano le stesse identiche regole che vengono applicate in matematica per la valutazione. Ossia, nella valutazione di un'espressione matematica, le operazioni vengono eseguite in un ordine specifico.

Queste regole prendono il nome collettivo di PEMDAS:

  • Parentesi: prima di eseguire qualsiasi operazione, si eseguono le operazioni all'interno delle parentesi;
  • Elevamento a potenza: si eseguono le operazioni di elevamento a potenza;
  • Moltiplicazione e Divisione: si eseguono le operazioni di moltiplicazione e divisione;
  • Addizione e Sottrazione: si eseguono le operazioni di addizione e sottrazione.

Vediamo qualche esempio:

# Somma
> 5 + 3
[1] 8
# Sottrazione
> 5 - 3
[1] 2
# Moltiplicazione
> 5 * 3
[1] 15
# Divisione
> 5 / 3
[1] 1.666667
# Potenza
> 5 ^ 3
[1] 125

Possiamo inserire anche espressioni più complicate con l'uso delle parentesi:

> (5 + 3) * 2
[1] 16
> 45 * 12.3 / (2 ^ 4 - 9)
[1] 79.07143
Definizione

Operazioni Aritmetiche in R

Nel prompt dei comandi di R è possibile effettuare operazioni aritmetiche immediate inserendo semplicemente l'espressione matematica e premendo invio.

Funzioni Matematiche

Oltre alle operazioni aritmetiche di base, il linguaggio R supporta anche molte funzioni matematiche comuni. Queste funzioni possono essere utilizzate per eseguire operazioni più complesse.

Per calcolare la radice quadrate di un numero non negativo possiamo adoperare la funzione sqrt:

> sqrt(25)
[1] 5
> sqrt(56)
[1] 7.483315

Analogamente, R mette a disposizione anche le funzioni per il calcolo del logaritmo log e dell'esponenziale exp.

In particolare, la funzione log permette di calcolare il logaritmo di un numero in qualunque base. Se non viene specificata la base, la funzione calcola il logaritmo naturale (base e).

> log(100)
[1] 4.60517
> log(100, base = 10)
[1] 2

La funzione exp calcola l'esponenziale di un numero:

> exp(2)
[1] 7.389056
> exp(5)
[1] 148.4132

Ovviamente la lista di funzioni matematiche disponibili in R è molto lunga. Man mano che procederemo con il corso, vedremo come utilizzare le funzioni matematiche più complesse.

Completiamo questa breve panoramica sulle funzioni matematiche con le funzioni trigonometriche più comuni: seno, coseno e tangente.

> sin(0)
[1] 0
> cos(pi)
[1] -1
> tan(pi / 4)
[1] 1

Da notare che R mette a disposizione la costante pi per rappresentare il valore di \pi.

Definizione

Funzioni Matematiche in R

In R è possibile utilizzare le funzioni matematiche comuni come radice quadrata, logaritmo, esponenziale, seno, coseno e tangente.

La sintassi per l'utilizzo di queste funzioni è la seguente:

> funzione(argomento)

Notazione Scientifica

Nel restituire gli output R, come molti altri linguaggi di programmazione, utilizza la notazione scientifica per rappresentare numeri molto grandi o molto piccoli.

Un numero in notazione scientifica è composto da due parti: la mantissa x e l'esponente y. In tal modo un numero qualunque può essere scritto come:

x \cdot 10 ^ y

Per semplificare la visualizzazione, R utilizza la notazione scientifica soltanto quando il numero di cifre significative del numero supera una certa soglia (tipicamente 7 cifre).

Ad esempio, il numero 1450 verrà visualizzato direttamente come:

> 1450
[1] 1450

Viceversa il numero 145000000000 verrà visualizzato in notazione scientifica:

> 145000000000
[1] 1.45e+11

L'output di sopra può essere interpretato come:

1.45 \cdot 10 ^ {11}

In generale, quando si utilizza la notazione scientifica fissato un numero l'esponente y può variare. Ad esempio, il numero 4567891236533.14222 può essere scritto come:

45678912365.3314222 \cdot 10 ^ 2

oppure come:

456789123653.314222 \cdot 10 ^ 1

o addirittura come:

0.456789123653314222 \cdot 10 ^ {12}

Tuttavia in R, così come in altri linguaggi, si usa la convenzione di mostrare i numeri con una sola cifra prima della virgola. Quindi nel nostro caso l'output sarà:

> 4567891236533.14222
[1] 4.567891e+12

Da notare nell'ultimo esempio, che R mostra il risultato troncando il numero a 7 cifre significative. Tuttavia non vi è perdita di informazione. Infatti, anche se mostrato in questo modo, internamente il numero viene memorizzato con tutte le cifre significative ed i calcoli vengono eseguiti con la massima precisione.

Definizione

Notazione Scientifica in R

Quando R mostra l'output numerico di una computazione utilizza la notazione scientifica per rappresentare numeri molto grandi o molto piccoli.

In particolare, i risultati vengono mostrati con 7 cifre significative.

Internamente, tuttavia, R memorizza i numeri con tutte le cifre significative e i calcoli vengono eseguiti con la massima precisione.

Esempi

Vediamo, adesso, qualche esempio pratico di calcoli eseguiti nel prompt di R.

Supponiamo di voler calcolare il risultato dell'espressione:

\frac{5 + 3}{2} \cdot 4

In R possiamo scrivere:

> (5 + 3) / 2 * 4
[1] 16

Oppure, supponiamo di voler calcolare la distanza tra due punti di coordinate (4.5, 3.2) e (1.2, 5.6). La distanza tra due punti nello spazio euclideo è data da:

\sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2}

Quindi in R possiamo scrivere:

> sqrt((1.2 - 4.5) ^ 2 + (5.6 - 3.2) ^ 2)
[1] 4.080441

Come ultimo esempio, proviamo a calcolare il risultato di un'espressione contenente logaritmi e funzioni trigonometriche:

\log(100) + \sin(\pi / 4) \cdot \cos(\pi / 4)

In R possiamo scrivere:

> log(100) + sin(pi / 4) * cos(pi / 4)
[1] 5.10517

In Sintesi

In questa lezione abbiamo visto come eseguire le operazioni matematiche di base nel prompt dei comandi di R. Abbiamo anche introdotto le funzioni matematiche comuni e la notazione scientifica.

In particolare, abbiamo imparato che:

  • In R è possibile effettuare operazioni aritmetiche immediate inserendo semplicemente l'espressione matematica e premendo invio;
  • R supporta molte funzioni matematiche comuni come radice quadrata, logaritmo, esponenziale, seno, coseno e tangente;
  • Quando R mostra l'output numerico di una computazione utilizza la notazione scientifica per rappresentare numeri molto grandi o molto piccoli.

Nella prossima lezione vedremo come salvare i risultati delle nostre computazioni in oggetti R.