Manuale di Gretl: Gnu Regression, Econometrics and Time-series Library | ||
---|---|---|
Indietro | Capitolo 11. Funzioni definite dall'utente | Avanti |
Una funzione utente viene chiamata, o invocata, usando il suo nome, eventualmente seguito da argomenti; se si usano due o più argomenti, vanno separati da virgole. L'esempio seguente mostra una chiamata di funzione che rispetta la definizione della funzione stessa.
# Definizione della funzione function ols_ess (series y, list xvars) ols y 0 xvars --quiet scalar myess = $ess printf "ESS = %g\n", myess return scalar myess end function # Script principale open data4-1 list xlist = 2 3 4 # Chiamata della funzione (il valore restituito viene qui ignorato) ols_ess price, xlist
La chiamata della funzione contiene due argomenti: il primo è una serie di dati specificata per nome, e il secondo è una lista di regressori. Si noti che la funzione produce la variabile myess come risultato, ma in questo esempio esso è ignorato.
(Una nota a margine: se si desidera che una funzione calcoli alcuni valori che hanno a che fare con una regressione, ma non si è interessati ai risultati completi della regressione, è possibile usare l'opzione --quiet con il comando di stima, come visto sopra.)
Un secondo esempio mostra una chiamata di funzione che assegna i valori prodotti dalla funzione a variabili:
# Definizione di funzione function ess_uhat (series y, list xvars) ols y 0 xvars --quiet scalar myess = $ess printf "ESS = %g\n", myess series uh = $uhat return scalar myess, series uh end function # Script principale open data4-1 list xlist = 2 3 4 # Chiamata di funzione (SSR, resids) = ess_uhat price, xlist