R per l’analisi statistica multivariata

Esercizi 1

Autore/Autrice
Affiliazione

Tommaso Rigon

Università degli Studi di Milano-Bicocca

Esercizio A

Si scriva in R la funzione f(x) associata a

f(x) = \frac{|\sin(\pi/4 x^2)|}{x}, \qquad x \neq 0.

  1. Quanto vale f(1)? Quanto vale f(10^8)?

  2. Si approssimino f(1) ed f(10) alle prime due cifre decimali.

  3. Si faccia un grafico della funzione f(x) nell’intervallo (1,3).

  4. Si calcoli \sum_{k=1}^{K} f(k), per K = 500.

  5. Difficile. La funzione integrate di R (si veda la documentazione), permette di calcolare numericamente integrali del tipo I = \int_a^b f(x)\mathrm{d}x, dove a < b sono due valori reali. Si calcoli il valore dell’integrale \int_1^3 f(x)\mathrm{d}x, dove f(x) è la funzione usata nei punti precedenti.

Esercizio B

Si verifichino numericamente le seguenti identità per n = 10, 100, 1000 (ove possibile).

  1. \sum_{k=0}^n(-1)^k\binom{n}{k} = 0.

  2. \sum_{k=1}^n k \binom{n}{k} = n 2^{n-1}.

  3. \sum_{k=1}^n(-1)^{k}k \binom{n}{k} = 0.

Esercizio C

Si scriva in R una funzione roots(a, b, c) che riceve come input i coefficienti del polinomio

a x^2 + b x + c, e restituisce il vettore dei valori di x che lo rendono pari a zero.

  1. Si calcoli roots(1, 5, 2);

  2. Si calcoli roots(1, 2, 1);

  3. Si calcoli roots(1, 1, 1) e si commenti il risultato.

Esercizio D

Si definisca in R una matrice simmetrica {\bf A} di dimensione 5 \times 5, i cui elementi sono {\bf A} = \begin{pmatrix} 26 & 22 & 17 & 22 & 23 \\ 22 & 18 & 14 & 23 & 27 \\ 17 & 14 & 14 & 20 & 24 \\ 22 & 23 & 20 & 26 & 23 \\ 23 & 27 & 24 & 23 & 12 \\ \end{pmatrix}.

  1. Si verifichi empiricamente che \text{det}({\bf A}^{-1}) = 1 / \text{det}({\bf A}).

  2. Si verifichi empiricamente che \text{det}({\bf A}^2) = \text{det}({\bf A})^2.

  3. Si calcoli la traccia di {\bf A}, ovvero \text{tr}({\bf A}) = \sum_{i=1}^n a_{ii}, per n = 5.

  4. Se verifichi empiricamente che \text{det}({\bf A}) = \prod_{i=1}^n \lambda_i, dove \lambda_1,\dots,\lambda_n sono gli autovalori di {\bf A}.

Esercizio E

La distanza euclidea tra due vettori {\bf x} e {\bf y} in \mathbb{R}^p è definita come d({\bf x},{\bf y}) = \sqrt{\sum_{j=1}^p(x_j - y_j)^2}.

  1. Si scriva la funzione R dist_euclid(x, y) che calcola la distanza euclidea tra due vettori.

  2. Se x = c(1, 4, 2, 2, 10) e y = c(8, 1, 8, 3, 6), quanto vale dist_euclid(x, y)?

Esercizio F

La norma di Frobenius ||{\bf A}||_F di una matrice {\bf A} a valori reali di dimensione n \times m è definita come ||{\bf A}||_F = \sqrt{\sum_{i=1}^n \sum_{j=1}^m a_{ij}^2}.

  1. Si scriva la funzione R frobenius_norm(A) che calcola la norma di Frobenius per una matrice A.

  2. Se A = cbind(1:5,6:10,11:15), quanto vale frobenius_norm(A)?

Esercizio G

Si consideri il dataset data(mtcars), che è presente in R. Si risponda quindi alle seguendi domande:

  1. Quante righe e quante colonne compongono tale dataset?

  2. Come mai il comando mtcars[1:20] restituisce un errore? Qual è la differenza dal comando mtcars[1:20, ]?

  3. Ciascuna delle seguenti righe contiene degli errori (bug). Si propongano delle modifiche per sistemarlo

mtcars[mtcars$cyl = 4, ] 
mtcars[-1:4, ] 
mtcars[mtcars$cyl <= 5] 
mtcars[mtcars$cyl == 4 | 6, ]

Esercizio H

Sia {\bf A} una matrice di dimensione n \times n. Si implementi una funzione che estrae gli elementi della diagonale a_{ii}, per i = 1,\dots,n della matrice {\bf A}. La si confronti quindi con la funzione diag di R.

Esercizio I

Che cosa restituisce la funzione f(10)? Si discuta il risultato senza eseguire il seguente codice

h <- function(x) {
  x^2 
}

g <- function(x) {
  h(x) + 1 
}

f <- function(x) {
  g(x)*2 
}

f(10)

Esercizi tratti dai libro di testo Albert & Rizzo (AR)

  • Esercizio 1.2, pag. 39.
  • Esercizio 1.3, pag. 39.
  • Esercizio 1.11, pag. 41.

Esercizi tratti dai libro di testo Robert & Casella (RS)

  • Esercizio 1.3, pag. 9.
  • Esercizio 1.4, pag. 9.
  • Esercizio 1.5, pag. 9.
  • Esercizio 1.9, pag. 31.
  • Esercizio 1.12, pag. 38.