\chapter{Modalità di lavoro}
\label{modes}

\section{Script di comandi}
\label{scripts}

I comandi \app{gretl} eseguiti utilizzando le finestre di dialogo
dell'interfaccia grafica vengono registrati sotto forma di file
``script'' o ``log''. Questi file possono essere modificati e
ri-eseguiti, usando \app{gretl} o l'applicazione a riga di comando
\app{gretlcli}.

Per visualizzare lo stato del log dei comandi durante una sessione di
\app{gretl}, basta scegliere ``Visualizza log comandi'' dal menù
``Strumenti''. Questo file di log è chiamato \verb+session.inp+ e viene
sovrascritto ogni volta che si inizia una nuova sessione: per
conservarlo, basta salvarlo con un nome diverso. I file di comandi
vengono visualizzati più facilmente nella finestra di selezione dei
file se vengono salvati con l'estensione ``\verb+.inp+''.

Per aprire uno script di diversa provenienza, occorre usare il comando
del menù ``File, Comandi, File utente''; per creare uno script da
zero, occorre usare ``File, Comandi, Nuovo'' dal menù, oppure
il pulsante ``Nuovo file comandi'' dalla barra degli strumenti.
In entrambi i casi si aprirà una finestra comandi (si veda la
figura~\ref{fig-scriptwin}).

\begin{figure}[htbp]
  \begin{center}
    \includegraphics[scale=0.75]{figures/scriptwin}
  \end{center}
  \caption{Finestra comandi, modifica di un file di comandi}
  \label{fig-scriptwin}
\end{figure}

La barra degli strumenti in cima alla finestra comandi offre le
seguenti funzioni (da sinistra a destra): (1) Salva il file; (2) Salva
il file con un nome specifico; (3) Stampa il file (questo comando non è
disponibile su tutte le piattaforme); (4) Esegui i comandi nel file; (5) Copia il testo
selezionato; (6) Incolla il testo selezionato; (7) Cerca e sostituisci
testo; (8) Annulla l'ultimo comando Incolla o Sostituisci; (9) Aiuto
(spostando il cursore sulla parola di un comando e premendo il punto
di domanda si ottiene aiuto su quel comando); (10) Chiudi la finestra.

Quando si esegue lo script, facendo clic sull'icona ``Esegui'' o premendo
Ctrl-r, i risultati dei comandi compariranno in un'unica finestra, dove possono
essere modificati, salvati, o copiati negli appunti.  Per conoscere meglio le
possibilità fornite dagli script, è possibile usare il comando del menù ``Aiuto,
Guida comandi'', oppure eseguire la versione a riga di comando del programma
\app{gretlcli} ed eseguire il comando ``help'', oppure ancora consultare la
\GCR.  
 
Se si esegue lo script dopo averne selezionato una parte,
\app{gretl} eseguirà solo quella parte. In più, se si vuole eseguire solo la
riga corrente basta premere Ctrl-Enter\footnote{Questa utile funzionalità,
offerta anche da altri pacchetti econometrici, può indurre a scrivere degli
script enormi che non sono mai eseguiti interamente, ma fungono solo da archivio
per una serie di piccole porzioni di codice che vengono eseguite all'occorrenza.
Visto che \app{gretl} permette di tenere aperte molte finestre di script nello
stesso momento, è possibile mantenere i propri script ordinati in piccoli file
separati.}.

Facendo clic col tasto destro del mouse nella finestra di modifica dello script
si apre un menù pop-up, che permette di eseguire la riga su cui si trova il
cursore, oppure una regione dello script selezionata in precedenza. Se lo script
è modificabile, questo menù offre anche la possibilità di aggiungere o rimuovere
i marcatori di commento dall'inizio della riga, o delle righe.

Il pacchetto \app{gretl} contiene più di 70 script ``di
esempio'': la maggior parte di essi è relativa a Ramanathan (2002),
ma essi possono essere utili anche per studiare le possibilità di
scripting offerte da \app{gretl}, oltre ad alcuni aspetti della
teoria econometrica. È possibile esplorare i file di esempio dal menù
``File, Comandi, File di esempio'': si troverà un
elenco dei file, insieme a una breve descrizione dei problemi
illustrati nello script e dei dati utilizzati.  Basta aprire un file ed eseguirlo
per vederne i risultati.  Si noti che in uno script i comandi lunghi
possono essere suddivisi in due o più righe, usando una barra inversa
come carattere di continuazione della riga.

È anche possibile, se si vuole, usare insieme l'interfaccia grafica e
le funzionalità di script, sfruttando le comodità offerte da ognuno
dei due approcci. Ecco alcuni suggerimenti:
    
\begin{itemize}
\item Aprire un file di dati dall'interfaccia grafica, esplorare i
  dati, generare grafici, stimare regressioni, eseguire test. Quindi
  aprire il log dei comandi, rimuovere eventuali comandi ridondanti,
  salvarlo con un nome specifico ed eseguirlo, in modo da generare un
  singolo file che contiene i risultati della propria sessione di
  lavoro.
\item Partire da un nuovo file script e scrivere i comandi necessari
  per eseguire le trasformazioni desiderate su un dataset (si veda il
  comando \cmd{genr} nella \GCR). Tipicamente è possibile svolgere questo
  tipo di operazioni in modo più efficace scrivendo una sequenza ben
  ragionata di comandi, piuttosto che puntando e cliccando
  nell'interfaccia grafica. Salvare ed eseguire lo script: la finestra
  dei dati verrà aggiornata e sarà possibile continuare l'esplorazione
  dei dati attraverso l'interfaccia grafica. Per ripristinare lo stato
  iniziale dei dati in un secondo momento, è sufficiente aprire ed
  eseguire di nuovo lo script ``preparatorio''.
\end{itemize}

\subsection{Script e file di dati}

Un modo comune di condurre la ricerca econometrica con \app{gretl} è il
seguente: comporre uno script, eseguirlo, ispezionare i risultati, modificare lo
script, eseguirlo di nuovo, ripetendo gli ultimi tre passi per quanto è
necessario. In questo contesto, si noti che quando viene aperto un file di dati
la maggior parte delle informazioni di stato interne a \app{gretl} vengono
cancellate.  È quindi una buona idea cominciare il proprio script con un comando
\texttt{open}: in questo modo il file di dati verrà riaperto ogni volta, e si
sarà sicuri di ottenere risultati ``freschi'', non condizionati dalle esecuzioni
precedenti.

Occorre notare un punto ulteriore: quando si apre un nuovo file di dati usando
l'interfaccia grafica si viene avvertiti del fatto che aprire un nuovo file
comporta la perdita del lavoro non salvato fino a quel momento. Quando invece si
esegue uno script che apre un file di dati \textit{non} si viene avvertiti. Questo
comportamento assume che non ci sia alcun rischio di perdere lavoro fatto, visto
che il lavoro è incorporato nello script stesso (e sarebbe scomodo ricevere un
avvertimento ad ogni iterazione del ciclo di lavoro descritto sopra).

Ciò significa che occorre fare attenzione se si è eseguito del lavoro usando
l'interfaccia grafica e si vuole poi eseguire uno script: il file di dati in uso
può venir sostituito senza alcun avviso, ed è responsabilità dell'utente
salvare i propri dati prima di eseguire lo script.

\section{Salvare oggetti da uno script}
\label{sect-script-objects}

Se si stima un modello usando l'interfaccia grafica, i risultati
vengono mostrati in una finestra separata, che comprende alcuni menù da cui è
possibile effettuare test, disegnare grafici, salvare dati del
modello, e così via. Se invece si stima un modello usando uno script,
si ottiene un tabulato non interattivo dei risultati, ma è possibile
``catturare'' i modelli stimati in uno script, in modo da esaminarli
interattivamente dopo l'esecuzione dello script. Ecco un esempio:
    
\begin{code}
Modello1 <- ols Ct 0 Yt
\end{code}

Ossia: si indica un nome con cui verrà salvato il modello,
seguito da una ``freccia di assegnazione'' rivolta all'indietro e dal
comando di stima del modello. È possibile usare spazi nei nomi dei
modelli, ma occorre racchiudere il nome tra virgolette doppie:
    
\begin{code}
"Modello 1" <- ols Ct 0 Yt
\end{code}

I modelli salvati in questo modo appariranno come icone nella finestra
delle icone di \app{gretl} (si veda la sezione~\ref{session}) dopo l'esecuzione
dello script. Inoltre, è possibile fare in modo che un modello venga mostrato in
una finestra in modo automatico, usando:
\begin{code}
Modello1.show
\end{code}

Ancora: se il nome contiene spazi, occorre metterlo tra virgolette:
\begin{code}
"Modello 1".show
\end{code}

È possibile usare la stessa procedura anche per i grafici; ad esempio,
il comando seguente crea un grafico di \verb+Ct+ rispetto a \verb+Yt+,
lo salva come ``Grafico'' (apparirà con questo nome nella finestra delle
icone) e lo mostra automaticamente:
\begin{code}
Grafico <- gnuplot Ct Yt
Grafico.show
\end{code}

È anche possibile salvare i risultati di un comando come oggetti
testuali identificati da un nome (anche questi appariranno nella
finestra della sessione, da cui sarà possibile aprirli in seguito). Ad
esempio, questo comando invia i risultati di un test Dickey--Fuller
aumentato a un ``oggetto testuale'' chiamato \verb+ADF1+ e li mostra in
una finestra:
\begin{code}
ADF1 <- adf 2 x1
ADF1.show
\end{code}

Gli oggetti salvati in questo modo (siano essi modelli, grafici o
parti di testo) possono essere eliminati usando il comando
\verb+.free+ aggiunto al nome dell'oggetto, ad esempio
\verb+ADF1.free+.

\section{Il terminale di gretl}
\label{console}

Un'altra funzionalità comoda è contenuta nel menù ``Strumenti'' di
\app{gretl}: il ``Terminale di gretl'' (c'è anche un pulsante
``Terminale di gretl'' nella barra degli strumenti nella finestra
principale).  Si tratta di una finestra in cui è possibile scrivere
comandi ed eseguirli interattivamente uno alla volta (premendo il
tasto Invio), così come avviene nella versione a riga di comando
\app{gretlcli}, con la differenza che l'interfaccia grafica viene
aggiornata in base ai comandi eseguiti dal terminale, permettendo di
lavorare con entrambi gli strumenti.

Nel terminale è disponibile la ``storia dei comandi'', ossia è
possibile usare i tasti freccia su e freccia giù per scorrere la lista
dei comandi già eseguiti. È possibile quindi recuperare un comando,
modificarlo ed eseguirlo di nuovo.

In modalità terminale, è possibile creare, visualizzare e cancellare oggetti
(modelli, grafici o testo) nel modo descritto sopra per la modalità script.

\section{Il concetto di sessione}
\label{session}

\app{gretl} offre il concetto di ``sessione'' per tenere traccia del
proprio lavoro e richiamarlo in un secondo momento. L'idea di base è
quella di fornire uno spazio che contiene, sotto forma di icone, vari
oggetti relativi alla sessione di lavoro in corso (si veda la
figura~\ref{fig-session}). È possibile aggiungere oggetti in questo
spazio e salvarli assieme alla sessione, in modo che siano disponibili
ad una successiva riapertura della sessione.
        
\begin{figure}[htbp]
  \begin{center}
    \includegraphics[scale=0.75]{figures/session}
  \end{center}
  \caption{Finestra delle icone: oltre alle icone predefinite, sono stati
    aggiunti un modello e un grafico}
  \label{fig-session}
\end{figure}

Avviando \app{gretl}, aprendo un dataset e selezionando
``Finestra icone'' dal menù ``Visualizza'', è possibile visualizzare
l'insieme predefinito di icone, che permettono di accedere rapidamente
al log dei comandi (``Comandi''), alle informazioni sul dataset
(se esistono), alla matrice di correlazione (``Correlazioni'') e
alle statistiche descrittive di riepilogo (``Statistiche'').
Tutte queste funzioni sono attivate facendo doppio clic sull'icona
relativa. L'icona ``Dataset'' è un po' più complessa: un doppio
clic apre i dati nel foglio di lavoro integrato, mentre facendo clic
col tasto destro del mouse si ottiene un menù con le altre azioni
possibili.

Per aggiungere un modello alla finestra delle icone, occorre per prima
cosa stimarlo usando il menù ``Modello'', quindi aprire il menù ``File'' nella
finestra del modello e selezionare ``Salva alla sessione come
  icona\dots{}'' o ``Salva come icona e chiudi''.  L'ultima
operazione può essere eseguita semplicemente anche premendo il tasto
\verb+S+ da dentro la finestra del modello.

Per aggiungere un grafico, occorre crearlo (dal menù ``Visualizza, Grafico'',
o attraverso uno degli altri comandi \app{gretl} di generazione dei
grafici).  Facendo clic sulla finestra del grafico si ottiene un menù da cui si
dovrà selezionare ``Salva alla sessione come icona''.

Una volta che un modello o un grafico è stato aggiunto, la sua icona
dovrebbe comparire nella finestra delle icone. Facendo
doppio clic sull'icona, l'oggetto viene visualizzato di nuovo, mentre
facendo clic con il tasto destro del mouse si ottiene un menù che
permette di visualizzare o cancellare l'oggetto, oppure di
modificarlo, se si tratta di un grafico.

\subsection{La tabella modelli}
\label{model-table}

Nella ricerca econometrica è prassi comune stimare, per una stessa
variabile dipendente, vari modelli che differiscono tra
loro per le variabili indipendenti o per lo stimatore usato.  In
questa situazione è comodo poter rappresentare i risultati delle
regressioni sotto forma di una tabella dove ogni colonna contiene i
risultati (stime dei coefficienti e errori standard) per un dato
modello e ogni riga contiene le stime per una certa variabile nei
differenti modelli.

Nella finestra delle icone, \app{gretl} dà la possibilità
di costruire una tabella simile (e di esportarla in testo semplice,
{\LaTeX} o RTF - Rich Text Format).  Ecco come fare:\footnote{La
  tabella modelli può anche essere costruita in modo non interattivo
  in uno script. Per i dettagli si veda il comando \cmd{modeltab}.}
      
\begin{enumerate}
\item Stimare un modello che si vuole includere nella tabella e
  selezionare, nel menù File della finestra di visualizzazione del
  modello, ``Salva alla sessione come icona'' o ``Salva
    come icona e chiudi''.
\item Ripetere il punto 1 per gli altri modelli da includere nella
  tabella (fino a un massimo di sei modelli).
\item Completata la stima dei modelli, aprire l'icona della sessione
  di gretl, selezionando ``Finestra icone'' nel menù ``Visualizza''
  della finestra principale di gretl, o facendo clic sull'icona
  ``Finestra icone'' della barra degli strumenti di gretl.
\item La finestra delle icone contiene un'icona chiamata
  ``Tabella Modelli''. Per aggiungere alla tabella modelli il
  modello che deve apparire nella colonna più a sinistra della
  tabella, basta trascinare l'icona del modello sull'icona della
  Tabella Modelli, oppure fare clic col tasto destro sull'icona del
  modello e selezionare ``Aggiungi alla tabella modelli'' dal
  menù pop-up.
\item Ripetere il punto 4 per gli altri modelli da aggiungere alla
  tabella. Il secondo modello scelto apparirà nella seconda colonna da
  sinistra della tabella, e così via.
\item Ultimata la composizione della tabella, è possibile
  visualizzarla facendo doppio clic sulla sua icona. Per copiare la
  tabella negli appunti in uno dei formati supportati, basta fare clic
  sul menù Modifica della finestra in cui appare la tabella.
\item Se l'ordinamento dei modelli nella tabella non è quello voluto,
  fare clic col tasto destro sull'icona della tabella modelli e
  selezionare ``Pulisci'', quindi tornare al punto 4.
\end{enumerate}

Un semplice esempio di tabella modelli di \app{gretl} è mostrato nella
figura~\ref{fig-model-table}.

\begin{figure}[htbp]
  \begin{center}
    \includegraphics[scale=0.75]{figures/model_table}
  \end{center}
  \caption{Esempio della tabella modelli}
  \label{fig-model-table}
\end{figure}


\subsection{La pagina dei grafici}
\label{sect-graphpage}

L'icona ``Grafici'' della finestra delle icone offre la
possibilità di riunire vari grafici da stampare su una sola pagina, se
si è installato il sistema di composizione {\LaTeX} e si è in grado di
generare e visualizzare file in formato PDF o postscript\footnote{Per l'output
  in PDF occorre avere il lettore Acrobat Reader di Adobe, o \app{xpdf}, se si
  usa il sistema X11. Per il postscript, occorrono \app{dvips} e \app{ghostscript},
  insieme a un visualizzatore come \app{gv}, \app{ggv} o
  \app{kghostview}. Il visualizzatore predefinito per sistemi diversi
  da MS Windows è \app{gv}.}.

Nella finestra delle icone, è possibile trascinare fino a otto
grafici sull'icona della pagina dei grafici. Facendo doppio clic
sull'icona della pagina dei grafici (o facendo clic col tasto destro e
selezionando ``Mostra''), una pagina contenente i grafici
selezionati (in formato EPS o PDF) verrà composta e aperta con il proprio
visualizzatore, da cui sarà possibile stamparla.

Per pulire la pagina dei grafici, fare clic col tasto destro
sull'icona e selezionare ``Pulisci''.

Su sistemi diversi da MS Windows, può essere necessario modificare
l'impostazione del programma per visualizzare il postscript,
attraverso la sezione ``Programmi'' della finestra di dialogo
delle ``Preferenze'' di gretl (nel menù ``Strumenti'' della finestra
principale).  Su Windows può essere necessario dover impostare le
regole di associazione dei file in modo che sia usato il
visualizzatore adeguato per l'azione ``Apri'' sui file con
estensione \verb+.ps+.

\subsection{Salvare e riaprire sessioni}
\label{session-save}

Se si creano modelli o grafici che si pensa di poter riutilizzare in
seguito, è utile selezionare ``File, Sessione, Salva come\dots{}''
prima di uscire da \app{gretl}. Per riaprire la sessione in
seguito, è possibile:

\begin{itemize}
\item Avviare \app{gretl} e riaprire il file della sessione usando il
  comando ``File, Sessione, Apri'', oppure
\item Dalla riga di comando, scrivere \cmd{gretl -r}
  \textsl{file-sessione}, dove \textsl{file-sessione} è il nome del file
  in cui è stata salvata la sessione.
\end{itemize}


%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "gretl-guide-it"
%%% End: 

