| 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, xlistLa 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