Esercitazione con R 9 Maggio 2006

Documenti analoghi
Introduzione a R. Monica Marabelli. 30 Ottobre 2015

ESERCITAZIONE MATLAB

Il modello di regressione (VEDI CAP 12 VOLUME IEZZI, 2009)

STATISTICA LAB. Analisi dei dati con R - Ex 2. Marta Nai Ruscone. LIUC - Università Carlo Cattaneo, Castellanza STATISTICA LAB

Introduzione a R. Silvia Parolo. 14 November 2014

1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.

DEFINIZIONI SMART E RELATIVE ESERCITAZIONI

Microsoft Excel II parte Import di dati & Funzioni predefinite

Esercitazione con R 30 Maggio 2006

Esercitazione 4 Distribuzioni campionarie e introduzione ai metodi Monte Carlo

Introduzione al software R

Corso di Analisi dei Dati Esercitazione R n. 1

Claudio Locci - Vincenzo Rundeddu

Laboratorio con DERIVE

STATISTICA PER LA DIGITAL ECONOMY 2017

Ulteriori conoscenze di informatica Elementi di statistica Esercitazione3

Introduzione al Foglio Elettronico

Laboratorio di Statistica 1 con R Esercizi per la Relazione. I testi e/o i dati degli esercizi contassegnati da sono tratti dai libri consigliati

Breve introduzione al linguaggio R

Introduzione all Analisi Esplorativa dei Dati mediante R 1

Esplorazione grafica di dati multivariati. N. Del Buono

Generazione di Numeri Casuali- Parte 2

Esercitazione n 2. Costruzione di grafici

Statistica Esercitazione. alessandro polli facoltà di scienze politiche, sociologia, comunicazione

Introduzione al MATLAB c Parte 3 Script e function

A = Quindi > b=a(:) b =

Introduzione a Matlab

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

Uso elementare di R in Statistica G. Marchetti

3. Matrici e algebra lineare in MATLAB

Modulo III - Introduzione ad R

14Ex-Cap11.qxd :20 Pagina Le macro

Rappresentazione binaria delle variabili (int e char)

Esplorazione dei dati. Lucidi e dataset tratti da Turini - Analisi dei Dati, Dip. Inf. Unipi

CORSO DI INFORMATICA GENERALE. Università degli Studi di Bergamo

Capitolo Tavola e grafico

Esplorazione grafica di dati multivariati. N. Del Buono

EXCEL software Excel .xlxs, La cella intestazione della colonna intestazione di righe l indirizzo della cella testo numeri formule

ESERCIZI SVOLTI Giuliano Bonollo - Michele Bonollo

U-GOV - RU Simulazione contratto. Versione 0.1 Manuale operativo

Statistica descrittiva

Microsoft Excel VI parte: Frequenze & Grafici

1) Matlab e simulazione. 2) Esempi di utilizzo. Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

PSICOMETRIA. Esercitazione n.1. C.d.L. Comunicazione e Psicologia a.a. 2012/13

MODULO 5 - USO DELLE BASI DI DATI 2 FINALITÁ

Introduzione al Foglio Elettronico

Università del Piemonte Orientale. Corso di Laurea in Medicina e Chirurgia. Corso di Statistica Medica. Statistica Descrittiva Variabili numeriche

MATLAB Elementi di grafica Costrutti di programmazione

Statistica descrittiva con R

Fogli Elettronici. Idoneità Informatica Prof. Mauro Gaspari

Metodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab

Matlab - Simulink. Software per il calcolo e per la simulazione della dinamica dei sistemi

ESAME DI MATEMATICA I parte Vicenza, 05/06/2017. x log 2 x?

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Esercitazione con R. > plot(eps, ylab=" ", xlab="t", main="simulazione di un processo white-noise")

0.1 Percorrenza e Cilindrata

Database Modulo 6 CREAZIONE DI MASCHERE

Esercitazione. Excel: le macro. C.1 Registrazione di macro

Statistica a breve termine: metodo delle onde apparenti

L INTERFACCIA GRAFICA DI EXCEL

Foglio Elettronico Lezione 1

Esercitazione di Analisi Matematica II

Programmazione con il linguaggio LibreOffice Basic

Appunti di Excel per risolvere alcuni problemi di matematica (I parte) a.a

Svolgimento di un esercizio-tipo

Obiettivi Strumenti Cosa ci faremo? Probabilità, distribuzioni campionarie. Stimatori. Indici: media, varianza,

Data set relativo a 40 titolari di esercizi commerciali. Durata del percorso casa lavoro (in minuti) Numero dipendenti che lavorano nel negozio

Appunti su Indipendenza Lineare di Vettori

Laboratorio 2 Grafici di funzione in Scilab Metodo di Bisezione

1. per i residenti, numero componenti, superficie e tariffa 2. per i non residenti, superficie e tariffa 3. per le ditte, superficie e tariffa

Operazioni preliminari: creare una cartella in Documenti

Introduzione a MATLAB

Statistica a lungo termine: calcolo dell onda di progetto

MATLAB parte II. Array

STATISTICA LAB. Analisi dei dati con R - Ex 1. Marta Nai Ruscone. LIUC - Università Carlo Cattaneo, Castellanza STATISTICA LAB

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Addendum al Manuale Operativo di. Cipro32. Plug-In Pegasus 2004/2005. Lato fornitore

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Laboratorio di Statistica con R

Statistica descrittiva: misure di associazione

INTRODUZIONE A R Lezione 3

1. per i residenti, numero componenti, superficie e tariffa 2. per i non residenti, superficie e tariffa 3. per le ditte, superficie e tariffa

LEZIONE PRECEDENTE. 1 Abilità Informatiche e Telematiche. 03/04/2015 Dott. ssa Carmen De Maio

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Excel. È data la distribuzione di 1863 famiglie italiane secondo il numero di componenti:

UnivAQ - Corso ECDL - Elaborazione Testi Maria Maddalena Fornari

Elisabetta Ronchieri Elenco Progetti di Informatica Ottobre 20, 2014

Utilizzo di index() per determinare la colonna delle x

Fondamenti di Informatica

Intervallo di fiducia del coefficiente angolare e dell intercetta L intervallo di fiducia del coefficiente angolare (b 1 ) è dato da:

Manuale Parte 2 - Ricambi

I/O avanzato e File Esercizi proposti

Excel 2. Master Universitario di II livello in MANAGER NELLE AMMINISTRAZIONI PUBBLICHE A.A Prof.ssa Bice Cavallo

ESERCITAZIONE SUI PUNTI STAZIONARI DI FUNZIONI LIBERE E SULLE FUNZIONI OMOGENEE

LEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI Laboratorio di Informatica per l Educazione A. A. 2014/2015

Statistica con R. Jody Tubi.

Rappresentazione di Dati: Scala lineare Scala logaritmica. Grafici Lin Lin Grafici Lin Log Grafici Log Log

Università del Piemonte Orientale. Corso di Laurea in Biotecnologie. Corso di Statistica Medica. Statistica Descrittiva: Variabili numeriche

Transcript:

Esercitazione con R 9 Maggio 2006 Iniziamo con alcuni comandi standard di R che risulteranno utili nell analisi delle serie storiche. Help Vi sono vari comandi che si possono digitare per lanciare una finestra di aiuto. Se si vuole avere qualche informazione su una particolare procedura/comando è sufficiente digitare >?"nome comando che si intende utilizzare" Se si vuole conoscere il funzionamento del comando mean occorre digitare >?mean In alternativa si può digitare > help.search("mean") Per richiamare l intero documento di supporto (in formato HTML) occorre utilizzare il seguente comando > help.start() Il comando > demo() consente di visualizzare un elenco di sessioni illustrative che vengono caricate e compilate in automatico da R. Queste possono essere utili per scoprire ed esplorare alcune interessanti funzioni di R. Ad esempio, il comando > demo(graphics) avvia una sessione automatica ch presenta alcune funzioni grafiche di R. Si provi ad attivare altre sessioni comprese nell elenco di cui sopra. Come assegnare una variabile Per l assegnazione di un valore ad una variabile (sia essa uno scalare, un vettore, una matrice di tipo numerico o categorico) si usa la freccia ->, oppure <-. Ad esmepio, il comando > x <- 1 genera un oggetto, denominato x, cui è assegnato il valore numerico 1. Pertanto il comando > x [1] 1 conferma che a x è stato assegnato il valore 1. Le operazioni elementari tra scalari in R sono x*y prodotto tra le variabili x e y x/y rapporto tra le variabili x e y, nell ipotesi che y 0. x y coincide con la variable x elevata alla y-esima potenza, nell ipotesi che x 0. 1

exp(x) è la funzione esponenziale valutata in x, ovvero e x log(x) è il logaritmo di x in base e Un oggetto che coincide con una stringa di valori è ottenuto mediante il comando di concatenamento c(). Ad esempio, il comando > y <- c(1,2,3,4) genera un oggetto, y, che coincide con la sequenza di valori numerici (1, 2, 3, 4). In altre parole, y è un vettore. Per verificare ciò è sufficiente digitare y e, quindi, il tasto di invio > y e la risposta di R è [1] 1 2 3 4 Il fatto che y sia interpretato da R come un vettore è confermato dal seguente comando > is.vector(y) con il quale si chiede a R di verificare che y sia, effettivamente, un vettore. La risposta di Rè [1] TRUE e, quindi, affermativa. Un altro modo di generare vettori utilizza il comando vetor(). Ad esempio, > z <- vector(length=4, mode="numeric") genera un vettore z (numerico) che ha 4 componenti tutte nulle. Infatti > z [1] 0 0 0 0 Per creare un vettore con componenti tutte uguali ad un numero prefissato si usa il comando rep(costante, numero di repliche). Con > x <- rep(2,6) si è creato un vettore x di 6 componenti tutte uguali a 2. Infinie, un ultimo comando che sarà utile nelle esercitazioni è seq(valore min, valore max, incremento). Digitando, ad esempio, > x <- seq(2,6,0.5) si genera il vettorexdi 9 componenti componenti (2, 2.5, 3,...,5.5, 6). Infine, il valore numero della componente i-esima di un vettore x viene richiamato con x[i]. Infine si noti he il simbolo # suggerisce a R di ignorare tutto ciò che segue. Questo accade quando si intendono commentare dei comandi ed è utile per ricordare la struttra di un programma che non si utilizza da parecchio tempo. Quindi > x <- c(1,2,3,4) # Commento ignorato da R definiscexetutto ciò che segue#non viene tenuto in considerazione da R. Un altra importante osservazione da farsi è la seguente: R distingue le lettere in maiuscolo da quelle in minuscolo. Quindi, se x è il vettore definito poco sopra e successivamente si digita 2

> X Rrisponderà con Error: Object "X" not found perché X non è stato ancora definito. Si ricordi questa proprietà... è molto importante quando si richiamano i file di dati, ad esempio, o quando si digitano altri comandi. La digitazione di un carattere in maiuscolo invece che in minuscolo (o viceversa) può dar luogo ad un messaggio di errore di R (come sopra). Concludiamo questo paragrafo indicando i caratteri che sono usati per le relazioni tra numeri e descrivendo vettori logici. Per quel che concerne le relazioni tra numeri si usano i seguenti simboli >= e <= identificano i segni di maggiore/uguale e minore/uguale == identifica il segno di uguale!= identifica il segno di diverso I vettori logici sono stringhe di TRUE e FALSE che corrispondono al verificarsi o meno di una condizione specificata. Ad esempio, generiamo un vettore numerico > x <- seq(0,100,20) cosicché x=(0,20,40,60,80,100). A partire da questo, il comando > temp <- x > 21 genera un vettore logico > temp [1] FALSE FALSE TRUE TRUE TRUE TRUE che ha componenti FALSE in corrispondenza a quelle componenti di x che sono minori o uguali a 21, mentre sono TRUE in corrispondenza a quelle componenti di x che sono maggiori di 21. Definire matrici Useremo due diversi comandi: matrix() e array() per generare matrici. Con X <- matrix(1:30,5,6) è stata creata una matricexdi dimensione 5 6 con componenti numerate da 1 a 30. Pertanto > X 3

[,1] [,2] [,3] [,4] [,5] [,6] [1,] 1 6 11 16 21 26 [2,] 2 7 12 17 22 27 [3,] 3 8 13 18 23 28 [4,] 4 9 14 19 24 29 [5,] 5 10 15 20 25 30 Il primo comando che appare in matrix() è la sequenza di valori che si intende inserire nella matrice. Il secondo argomento è il numero di righe e il terzo è il numero di colonne della matrice stessa. Una volta definita X, il termine di posto (i, j) è individuato da X[i,j], cosicché X[1,5] è il termine che si trova nella prima riga e nella quinta colonna e coincide, in questo caso, con 21. Inoltre X[i,] identifica il vettore corrispondente alla i esima riga di X e X[,j] identifica il vettore corrispondente alla j esima colonna di X Se si intende creare una matriceycome la precedente con la sola differenza che si preferisce che i termini successivi, da 1 a 30, siano conteggiati per riga occorre usare > Y <- matrix(1:30, 5,6, byrow=true) In tal caso > Y [,1] [,2] [,3] [,4] [,5] [,6] [1,] 1 2 3 4 5 6 [2,] 7 8 9 10 11 12 [3,] 13 14 15 16 17 18 [4,] 19 20 21 22 23 24 [5,] 25 26 27 28 29 30 Una matrice può essere alternativamente creata con il comando array(). In questo caso > X <- array(dim=c(p,q)) genera un matrice X con p righe e q colonne le cui componenti sono NA, dal momento che non sono state precisate. L acronimo NA sta per Not Available e segnala un valore mancante. Invece > X <- array(1:10, dim=c(2,5)) dà luogo ad una matrice 2 5 cotituita da numeri da 1 a 10. In R è possibile eseguire le operazioni dell algebra lineare. I principali comandi da ricordare al riguardo sono t(x) è la trasposta della matrice (o vettore) X. X %*% Y è il prodotto tra una matrice X di dimensione p q e una matrice Y di dimensione q r. 4

Dati due vettori numerici in R aventi il medesimo numero di c omponenti, x e y, x+y è il vettore ottenuto sommando ciascuna componente di x con la componente corrispondente di y. analogamente si definisce x-y, x*y e x/y (nell ultimo caso ipotizziamo che le componenti di y siano tutte diverse da zero). Importazione di dati in R Ci occuperemo dell importazione di dati quando questi sono conenuti in file testo (tipicamente con le estensioni.txt o.dat). Due sono le funzioni cui ricorrere in questi casi: scan e read.table. Con scan() i dati vengono memorizzati in forma vettoriale mentre con read.table() i dati vengono immagazzinati in un dataframe. Partiamo dal considerare un file contente i dati trimestrali sul PIL statunitense rilevati a partire dal Gennaio 1947. Il file, che per comodità qui è denominato GDP96USD.txt ha la seguente struttura 1947 01 1481.7 1947 02 1489.4 1947 03 1493.1 1947 04 1516.4 1948 01 1537.9......... 2001 03 9310.4 2001 04 9348.6 2002 01 9488.6 Per importare il file occorre tenere conto: (1) della sua struttura (in questo caso tre colonne dove la prima indica l anno, la seconda il trimestre di rilevazione e la terza il valore effettivo del PIL) e (2) della collocazione del file sul vostro PC. Bisogna, infatti, indicare a R il percorso che occorre seguire per recuperare il file cui si è interessati. Sul vostro computer il percorso del file è indicato nelle proprietà del file, in corrispondenza alla voce Percorso. Si supponga che Nome file: GDP96USD.txt Percorso: C:\Dati In questo caso, per importare il file in R è necessario inviare la seguente istruzione > pil.us <- read.table("c:/dati/gdp96usd.txt", col.names=c("anno","trimestre","pil")) In questo modo è stato creato un oggetto, denominato pil.us, che R interpreta come un dataset con tre diverse variabili che abbiamo etichettato "Anno", "Trimestre" e "PIL". Per richiamare una sola delle colonne in seguito è necessario utilizzare il simbolo $. Se, ad esempio, si vuole esaminare la colonna di dati relativa al PIL e che abbiamo denominato PIL, appunto, si digita > pil.us$pil 5

e R fa comparire la terza colonna del dataset pil.us. Se non si specificano le etichette da associare alle singole colonne della matrice di dati, R le assegna in automatico (in genere V1, V2,...). Se nel file sono già presenti le intestazioni delle singole colonne, queste possono essere mantenute in R. È sufficiente fornire a R la seguente istruzione > pil.us <- read.table("c:/dati/gdp96usd.txt", header=true, row.names=3) Oltre al comando read.table() si può utilizzare scan(). Applicata al file GDP96USD.txt > pil.us.1 <- scan("c:/gdp96usd.txt", list(0,0,0)) si genera in R un vettore pil.us.1 ottenuto dalla sovrapposizione di tre vettori: pil.us.1[1] (anno), pil.us.1[2] (trimestre) e pil.us.1[3] (PIL). Per verificare che pil.us.1 è un vettore si digita > is.vector(pil.us.1) e la risposta di R è [1] TRUE Se, come in precedenza, si vuole denominare PIL la colonna relativa al PIL statunitense è sufficiente inviare la seguente istruzione > PIL <- pil.us.1[3] La specificazione list serve per indicare a R che i dati importati sono valori numerici. Se le variabili fossero state di tipo qualitativo (ad esempio titolo di studio, sesso, etc.) si dovrebbe usare la specificazione list(" ",..., " "). Se il file contiene (sulla prima riga) le etichette per ciascuna delle colonne di dati, tali etichette possono essere mantenute in R utilizzando la specificazione header=true. Se nel dataset precedente, il file contiene la seguente tabella Year Quarter GDP 1947 01 1481.7 1947 02 1489.4......... 2001 04 9348.6 2002 01 9488.6 si può digitare > pil.us.2 <- read.table("c:/gdp96usd.txt",header=true) 6

e si crea un oggetto pil.us.2 con tre colonne di dati denominate, come nel file originario, Year, Quarter e GDP. Un modo più semplice di memorizzare dati da file esterni in R non richiede di specificare il percorso. Se in read.table() e in scan() si introduce l argomento file.choose(), R attiva una finestra di dialogo mediante la quale si reisce a selezionre il file cui si è interessati. In questo caso, in luogo dei precedenti comandi si può specificare > pil.us <- read.table(file.choose(), col.names=c("anno","trimestre","pil")) oppure > pil.us <- scan(file.choose(), list(0,0,0)) Analisi dati Il software R consente di condurre una varietà di analisi su un insieme di dati. Noi qui ci limiteremo ad utilizzare le funzioni di R utili ai fini dell analisi delle serie storiche. Prima di procedere, tuttavia, presentiamo alcune semplici funzioni che consentono di effettuare un analisi descrittiva elementare di un dataset (media, varianza, istogramma, box plots, qq plot, etc.). Sia pil.us il dataset memorizzato in R con il comando read.table. Dal momento che si è interessati alla terza colonna del dataset (denominata PIL), creiamo un oggetto in R che coincide con la terza colonna di pil.us con il comando > PIL <- pil.us$pil L oggetto PIL memorizzato da R è un dataset {x 1,...,x 221 } di 221 osservazioni, con x 1 = 1481.7,..., x 221 = 9488.6. Per calcolare la media aritmetica x 221 = 221 i=1 x i e la varianza 221 i=1 (x i x 221 ) 2 /221 si invia > mean(pil) [1] 4506.912 > var(pil) [1] 5144532 I comandi range() e length() consentono di determinare l intervallo di variazione dei dati (valore minimo e valore massimo) e il numero di osservazioni presenti nel dataset > range(pil) [1] 1481.7 9488.6 > length(pil) [1] 221 7

Con il comando summary R calcola alcuni indici di posizione > summary(pil) Min. 1st Qu. Median Mean 3rd Qu. Max. 1482 2384 4117 4507 6350 9489 Per un istogramma del dataset si usa il comando hist(). In questo caso > hist(pil, prob=true, col="red") > lines(density(pil), lwd=2) produce il grafico in Figura 1 in cui sono raffigurati l istogramma del PIL e la stima della funzione di densità. Histogram of PIL Density 0.00000 0.00005 0.00010 0.00015 0.00020 2000 4000 6000 8000 10000 PIL Figure 1: Istogramma e stima della funzione di densità di probabilità (linea continua) del PIL statunitense Per determinare il qq plot occorre standardizzare il PIL. A tal fine, calcoliamo media x 221 e deviazione standard del PIL > mu <- mean(pil) > sigma <- sd(pil) > Z <- (PIL-mu)/sigma S = 1 221 (x i x 221 ) 221 2 i=1 Dall istogramma dei dati originari si deduce che senz altro i dati non sono generati da una legge normale. L esercizio che stiamo proponendoserve solo ad illustrare alcuni nuovi comandi di R. In questo caso 8

> qqnorm(z, col="blue") > abline(0,1) genera il grafico in Figura 2. Il comando abline(a,b) aggiunge al grafico un retta con Normal Q Q Plot Sample Quantiles 1.0 0.5 0.0 0.5 1.0 1.5 2.0 3 2 1 0 1 2 3 Theoretical Quantiles Figure 2: qq plot del dataset PIL, standardizzato intercetta a e inclinazione b. In questo caso, con a= 0 e b= 1 viene aggiunta al grafico l bisettrice del primo e terzo quadrante sulla quale dovrebbero adagiarsi i punti del qq plot se il dataset fossero stati generati da una distribuzione di probabilità normale. Memorizzare una serie storica in R Finora abbiamo imparato a caricare un insieme di dati in R da un file esterno. Nel precedente esempio, tuttavia, R identifica in PIL un vettore di dati e non una serie storica. Per fare in modo che R attribuisca a PIL una struttura di serie storica. La funzione da usare è ts() e occorre specificare i dati cui assegnare l attributo di serie storica in R, la periodicità dei dati (giornalieri, mensili, trimestrali, annuali, etc.) e la data di inizio della serie storica. Nel caso specifico in esame, i dati del PIL statunitense sono trimestrali e hanno inizio dal gennaio 1947. Il comando > xt <- ts(pil, start=c(1947,1), frequency=4) memorizza in R un nuovo oggetto xt che viene identificato in una serie storica originata da PIL. Infatti > is.ts(xt) [1] TRUE Per visualizzare la struttura dell oggetto così creato, occorre digitare xt 9

> xt Qtr1 Qtr2 Qtr3 Qtr4 1947 1481.7 1489.4 1493.1 1516.4 1948 1537.9 1562 1568.4 1571.4............... 2001 9334.5 9341.7 9310.4 9348.6 2002 9488.6 Se i dati sono mensili, in ts() è necessario specificare frequency=12, mentre per i dati annuali si definisce frequency=1. Se si preferisce, in luogo di frequency si può usare l abbreviazione freq. Memorizzata la serie storica in R, si può procedere ad un analisi grafica della serie stessa. La funzione che si usa è plot(). In plot() occorre introdurre alcune specificazioni. In genere sono specificati i seguenti argomenti > plot(xt, ylab="..", xlab="..", main="..", lwd=.., lty=.., col="..") dove il primo argomento è la serie di cui si intende fornire la rappresentazione grafica ylab e xlab sono le etichette che si vuole compaiano sull asse y e sull asse x, rispettivamente main specifica l intestazione principale del grafico lwd è il parametro che determina lo spessore della linea con cui si traccia il grafico. È un valore numerico: quanto più alto è, tanto più spessa è la linea con cui si traccia il grafico. Il valore che viene utilizzato in automatico da R è lwd=1 lty specifica il tipo di segmento con si intendono unire i punti successivi di una serie. In automatico, R utilizza lty=1, che corrisponde ad una linea continua. Se si specifica lty=2 la linea è tratteggiata, mentre con lty=3 due valori successivi di una serie sono uniti da puntini, etc. col identifica il colore con cui si vuole venga tratteggiato il grafico. Ad esempio, il comando > plot(xt, ylab=" ", xlab="t", main="pil statunitense", col="red", lwd=2) genera il grafico in Figura 3. La funzione plot() è utilizzata anche per generare il grafico di dati non necessariamente aventi una struttura di serie storica. Per analizzare le varie potenzialità applicative di plot() si provi a inviare il comando?plot. 10

PIL statunitense 2000 4000 6000 8000 1950 1960 1970 1980 1990 2000 t Figure 3: Grafico della serie storica del PIL statunitense. Dati trimestrali rilevato dal primo trimestre del 1947 al primo triemstre del 2002 Vi sono altre due funzioni utili che si possono applicare a serie storiche in R: time e window. La funzione time restituisce gli istanti di tempo in cui è definita la serie storica in esame. Per la serie del PIL, ad esempio, si avrà > time(xt) Qtr1 Qtr2 Qtr3 Qtr4 1947 1947.00 1947.25 1947.50 1947.75 1948 1948.00 1948.25 1948.50 1948.75............... 2001 2001.00 2001.25 2001.50 2001.75 2002 2002.00 La funzione window consente di estrarre da una serie un sottoinsieme di suoi valori. Ad esempio > yt <- window(xt, start=1990, end=1995) definisce una nuova serie storica che inizia nel primo trimestre del 1990, termina nel quarto trimestre del 1995 e nel periodo in esame coincide con xt. Il comando lag consente di traslare, in avanti e indietro, una serie storica di dati. Come visto, la serie del PIL xt ha inizio nel primo trimestre del 1947 e si conclude nel primo trimestre del 2002. Se si vuole costruire una nuova serie che ha inizio nel quarto trimestre del 1946, termina nel quarto trimestre del 2001 e nel periodo specificato coincide con la serie originaria xt anticipata di un periodo, occorre inviare a R l istruzione > zt <- lag(xt, k=1) Se {X t } è la serie originaria e {Z t } è la nuova serie generata con il precedente comando, si ha Z t = X t+1. 11

Viceversa, il comando > wt <- lag(xt, k=-1) genera un nuova serie {W t } ottenuta ritardando la serie originaria {X t } di un periodo, ovvero W t = X t 1 = BX t, dove B è l operatore ritardo o di retrotraslazione. Si noti che il valore di k (l ordine del ritardo) può essere un qualsiasi intero (negativo o positivo). Come avremo modo di evidenziare in seguito, la serie {X t } ritardato di uno o più periodi è utile per identificare la presenza di un trend nella serie e nella sua componente stagionale. 12