"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "share/gretl_cli_fnref.it" between
gretl-2020a.tar.xz and gretl-2020b.tar.xz

About: gretl (Gnu Regression, Econometrics and Time-series Library) is a cross-platform statistical package mainly for econometric analysis.

gretl_cli_fnref.it  (gretl-2020a.tar.xz):gretl_cli_fnref.it  (gretl-2020b.tar.xz)
skipping to change at line 38 skipping to change at line 38
Risultato: matrice o scalare Risultato: matrice o scalare
Argomento: s (nome del coefficiente, opzionale) Argomento: s (nome del coefficiente, opzionale)
L'accessore $coeff può essere usato in due modi: senza argomenti produce un L'accessore $coeff può essere usato in due modi: senza argomenti produce un
vettore colonna che contiene i coefficienti dell'ultimo modello stimato. Con vettore colonna che contiene i coefficienti dell'ultimo modello stimato. Con
l'argomento opzionale, produce uno scalare che corrisponde alla stima del l'argomento opzionale, produce uno scalare che corrisponde alla stima del
coefficiente chiamato s. Vedi anche "$stderr", "$vcv". coefficiente chiamato s. Vedi anche "$stderr", "$vcv".
Esempio: Esempio:
open bjg open bjg
arima 0 1 1 ; 0 1 1 ; lg arima 0 1 1 ; 0 1 1 ; lg
b = $coeff b = $coeff
macoef = $coeff(theta_1) macoef = $coeff(theta_1)
Se il "modello" in questione è effettivamente un sistema (un VAR o un VECM, Se il "modello" in questione è effettivamente un sistema (un VAR o un VECM,
o un sistema di equazioni simultanee), $coeff senza parametri produce la o un sistema di equazioni simultanee), $coeff senza parametri produce la
matrice dei coefficienti, una colonna per equazione. matrice dei coefficienti, una colonna per equazione.
# $command # $command
Risultato: stringa Risultato: stringa
Deve seguire la stima di un modello; restituisce la stringa del comando Deve seguire la stima di un modello; restituisce la stringa del comando
relativo, come ad esempio ols oppure probit. relativo, come ad esempio ols oppure probit.
skipping to change at line 132 skipping to change at line 132
# $error # $error
Risultato: scalare Risultato: scalare
Restituisce il codice interno di errore, che avrà un valore diverso da 0 se Restituisce il codice interno di errore, che avrà un valore diverso da 0 se
si è verificato un errore in presenza del modificatore "catch". Si noti che si è verificato un errore in presenza del modificatore "catch". Si noti che
l'uso di questo accessore resetta il codice di errore interno a 0. Si veda l'uso di questo accessore resetta il codice di errore interno a 0. Si veda
anche "errmsg". Per il messaggio d'errore associato a un dato codice, anche "errmsg". Per il messaggio d'errore associato a un dato codice,
bisogna salvare il valore in una variabile temporanea; ad esempio: bisogna salvare il valore in una variabile temporanea; ad esempio:
err = $error err = $error
if (err) if (err)
printf "Errore %d (%s)\n", err, errmsg(err); printf "Errore %d (%s)\n", err, errmsg(err);
endif endif
Vedi anche "catch", "errmsg". Vedi anche "catch", "errmsg".
# $ess # $ess
Risultato: scalare Risultato: scalare
Produce la somma dei quadrati degli errori dell'ultimo modello stimato. Produce la somma dei quadrati degli errori dell'ultimo modello stimato.
# $evals # $evals
Risultato: matrice Risultato: matrice
skipping to change at line 246 skipping to change at line 246
Nel caso di stima non vincolata, ha un numero di righe pari al numero di Nel caso di stima non vincolata, ha un numero di righe pari al numero di
elementi non vincolati nello spazio di cointegrazione dopo la elementi non vincolati nello spazio di cointegrazione dopo la
normalizzazione di Phillips. Se però si stima un sistema vincolato con il normalizzazione di Phillips. Se però si stima un sistema vincolato con il
comando restrict e l'opzione --full, verrà prodotta una matrice singolare comando restrict e l'opzione --full, verrà prodotta una matrice singolare
con (n+m)r righe (n è il numero delle variabili endogene, m quello delle con (n+m)r righe (n è il numero delle variabili endogene, m quello delle
variabili esogene vincolate allo spazio di cointegrazione e r è il rango di variabili esogene vincolate allo spazio di cointegrazione e r è il rango di
cointegrazione). cointegrazione).
Esempio: il codice Esempio: il codice
open denmark.gdt open denmark.gdt
vecm 2 1 LRM LRY IBO IDE --rc --seasonals -q vecm 2 1 LRM LRY IBO IDE --rc --seasonals -q
s0 = $jvbeta s0 = $jvbeta
restrict --full restrict --full
b[1,1] = 1 b[1,1] = 1
b[1,2] = -1 b[1,2] = -1
b[1,3] + b[1,4] = 0 b[1,3] + b[1,4] = 0
end restrict end restrict
s1 = $jvbeta s1 = $jvbeta
print s0 print s0
print s1 print s1
produce il risultato seguente. produce il risultato seguente.
s0 (4 x 4) s0 (4 x 4)
0.019751 0.029816 -0.00044837 -0.12227 0.019751 0.029816 -0.00044837 -0.12227
0.029816 0.31005 -0.45823 -0.18526 0.029816 0.31005 -0.45823 -0.18526
-0.00044837 -0.45823 1.2169 -0.035437 -0.00044837 -0.45823 1.2169 -0.035437
-0.12227 -0.18526 -0.035437 0.76062 -0.12227 -0.18526 -0.035437 0.76062
s1 (5 x 5) s1 (5 x 5)
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.27398 -0.27398 -0.019059 0.0000 0.0000 0.27398 -0.27398 -0.019059
0.0000 0.0000 -0.27398 0.27398 0.019059 0.0000 0.0000 -0.27398 0.27398 0.019059
0.0000 0.0000 -0.019059 0.019059 0.0014180 0.0000 0.0000 -0.019059 0.019059 0.0014180
# $lang # $lang
Risultato: stringa Risultato: stringa
Restituisce una stringa indicante la lingua attualmente usata da gretl, se Restituisce una stringa indicante la lingua attualmente usata da gretl, se
può essere determinata. La stringa è data da un codice a due lettere ISO può essere determinata. La stringa è data da un codice a due lettere ISO
639-1 (per esempio, en per l'inglese, jp per il giapponese, el per il greco) 639-1 (per esempio, en per l'inglese, jp per il giapponese, el per il greco)
seguito da un trattino basso e un codice a due lettere ISO 3166-1 per il seguito da un trattino basso e un codice a due lettere ISO 3166-1 per il
paese. Quindi, ad esempio, il portoghese europeo è pt_PT, mentre quello paese. Quindi, ad esempio, il portoghese europeo è pt_PT, mentre quello
brasiliano è pt_BR. brasiliano è pt_BR.
skipping to change at line 334 skipping to change at line 334
A seconda dello stimatore, potrebbero essere disponibili informazioni A seconda dello stimatore, potrebbero essere disponibili informazioni
aggiuntive; le chiavi relative dovrebbero essere (si spera) relativamente aggiuntive; le chiavi relative dovrebbero essere (si spera) relativamente
auto-esplicative. Il modo più semplice per verificare il contenuto del auto-esplicative. Il modo più semplice per verificare il contenuto del
bundle è stamparlo, come in questo esempio: bundle è stamparlo, come in questo esempio:
ols y 0 x ols y 0 x
bundle b = $model bundle b = $model
print b print b
# $mpirank
Risultato: intero
Se gretl è compilato con supporto MPI, e il programma è stato lanciato in
modalità MPI, ritorna il "rango" a base 0 o l'ID del processo attuale.
Altrimenti ritorna -1.
# $mpisize
Risultato: intero
Se gretl è compilato con supporto MPI, e il programma è stato lanciato in
modalità MPI, ritorna il numero di processi MPi attualmente in svolgimento.
Altrimenti ritorna 0.
# $ncoeff # $ncoeff
Risultato: intero Risultato: intero
Produce il numero totale dei coefficienti stimati nell'ultimo modello. Produce il numero totale dei coefficienti stimati nell'ultimo modello.
# $nobs # $nobs
Risultato: intero Risultato: intero
Produce il numero delle osservazioni nel campione selezionato. Si veda anche Produce il numero delle osservazioni nel campione selezionato. Si veda anche
"dtmax". "dtmax".
skipping to change at line 405 skipping to change at line 419
Risultato: serie Risultato: serie
Applicabile quando le osservazioni nel dataset aperto hanno una struttura Applicabile quando le osservazioni nel dataset aperto hanno una struttura
maggiore:minore, come in serie storiche trimestrali (anno:trimestre), maggiore:minore, come in serie storiche trimestrali (anno:trimestre),
mensili (anno:mese), orarie (giorno:ora) e dati panel (individuo:periodo). mensili (anno:mese), orarie (giorno:ora) e dati panel (individuo:periodo).
Restituisce una variabile contenente la componente minore (a frequenza più Restituisce una variabile contenente la componente minore (a frequenza più
alta, come il mese). alta, come il mese).
Vedi anche "$obsmajor", "$obsmicro". Vedi anche "$obsmajor", "$obsmicro".
# $parnames
Risultato: array di stringhe
Dopo la stima di un modello ad equazione singola, produce un vettore di
stringhe contenente i nomi dei parametri del modello. il numero dei nomi è
pari al numero di elementi nel vettore "$coeff" .
Per modelli specificati con una lista di regressori il risultato sarà lo
stesso di
varnames($xlist)
(vedi "varnames"), ma $parnames è è più generale, poiché funziona anche
con modelli senza lista di regressori ("nls", "mle", "gmm").
# $pd # $pd
Risultato: intero Risultato: intero
Produce la frequenza o la periodicità dei dati (es. 4 per dati Produce la frequenza o la periodicità dei dati (es. 4 per dati
trimestrali). Nel caso di dati panel il valore prodotto rappresenta la trimestrali). Nel caso di dati panel il valore prodotto rappresenta la
lunghezza della serie storica. lunghezza della serie storica.
# $pi # $pi
Risultato: scalare Risultato: scalare
skipping to change at line 439 skipping to change at line 468
Vedi anche "$test". Vedi anche "$test".
# $qlrbreak # $qlrbreak
Risultato: scalare Risultato: scalare
Deve seguire il comando "qlrtest" (test QLR per un break strutturale). Deve seguire il comando "qlrtest" (test QLR per un break strutturale).
Ritorna il numero ordinale (a base 1) dell'osservazione che massimizza la Ritorna il numero ordinale (a base 1) dell'osservazione che massimizza la
statistica test. statistica test.
# $result
Risultato: matrice o bundle
Fornisce le informazioni immagazzinate da alcuni comandi che non hanno
specifici accessori. Tali comandi includono "corr", "freq", "summary",
"xtab", "vif" and "bkw" ; in questi casi il risultato è una matrice. In
più "pkg", che opzionalmente registra come risultato un bundle.
# $rho # $rho
Risultato: scalare Risultato: scalare
Argomento: n (scalare, opzionale) Argomento: n (scalare, opzionale)
Senza argomenti, produce il coefficiente autoregressivo del prim'ordine per Senza argomenti, produce il coefficiente autoregressivo del prim'ordine per
i residui dell'ultimo modello. Dopo aver stimato un modello con il comando i residui dell'ultimo modello. Dopo aver stimato un modello con il comando
ar, la sintassi $rho(n) produce la corrispondente stima di rho(n). ar, la sintassi $rho(n) produce la corrispondente stima di rho(n).
# $rsq # $rsq
Risultato: scalare Risultato: scalare
skipping to change at line 464 skipping to change at line 501
Deve seguire la stima di un modello ad equazione singola. Restituisce una Deve seguire la stima di un modello ad equazione singola. Restituisce una
variabile binaria con 1 per le osservazioni usate nella stima, 0 per variabile binaria con 1 per le osservazioni usate nella stima, 0 per
osservazioni incluse nel campione corrente ma non usate nella stima (ad osservazioni incluse nel campione corrente ma non usate nella stima (ad
esempio, per via di valori mancanti nella variabile dipendente) e NA per esempio, per via di valori mancanti nella variabile dipendente) e NA per
osservazioni al di fuori del campione corrente. osservazioni al di fuori del campione corrente.
Se fosse necessario calcolare statistiche basate sul campione usato per un Se fosse necessario calcolare statistiche basate sul campione usato per un
certo modello, ad esempio, si potrebbe usare la seguente sintassi: certo modello, ad esempio, si potrebbe usare la seguente sintassi:
ols y 0 xlist ols y 0 xlist
genr sdum = $sample genr sdum = $sample
smpl sdum --dummy smpl sdum --dummy
# $sargan # $sargan
Risultato: vettore riga Risultato: vettore riga
Deve seguire un comando tsls. Produce un vettore 1 x 3 che contiene Deve seguire un comando tsls. Produce un vettore 1 x 3 che contiene
nell'ordine: il valore della statistica del test di Sargan di nell'ordine: il valore della statistica del test di Sargan di
sovraidentificazione, i corrispondenti gradi di libertà e il p-value. Se il sovraidentificazione, i corrispondenti gradi di libertà e il p-value. Se il
modello è esattamente identificato, la statistica non è disponibile, e modello è esattamente identificato, la statistica non è disponibile, e
tentare di ottenerla provoca un errore. tentare di ottenerla provoca un errore.
skipping to change at line 569 skipping to change at line 606
osx, windows o other. osx, windows o other.
hostname: il nome della macchina host sulla quale viene eseguito il hostname: il nome della macchina host sulla quale viene eseguito il
processo corrente di gretl (con il valore di ripiego localhost nel caso in processo corrente di gretl (con il valore di ripiego localhost nel caso in
cui il nome non potesse essere individuato). cui il nome non potesse essere individuato).
Si noti che i singoli elementi del bundle possono essere recuperati usando Si noti che i singoli elementi del bundle possono essere recuperati usando
la notazione "dot" senza bisogno di copiare l'intero bundle con un nuovo la notazione "dot" senza bisogno di copiare l'intero bundle con un nuovo
nome specificato dall'utente. Per esempio, nome specificato dall'utente. Per esempio,
if $sysinfo.os == "linux" if $sysinfo.os == "linux"
# effettua un'operazione specifica a linux # effettua un'operazione specifica a linux
endif endif
# $system # $system
Risultato: bundle Risultato: bundle
Deve seguire la stima di un sistema di equazioni, eseguita con uno dei Deve seguire la stima di un sistema di equazioni, eseguita con uno dei
comandi "system", "var" o "vecm"; restituisce un bundle contenente svariati comandi "system", "var" o "vecm"; restituisce un bundle contenente svariati
elementi relativi al sistema. Sono inclusi tutti gli accessoriu di sistema elementi relativi al sistema. Sono inclusi tutti gli accessoriu di sistema
rilevanti, sotto chiavi che hanno lo stesso nome dei normali accessori, a rilevanti, sotto chiavi che hanno lo stesso nome dei normali accessori, a
parte il dollaro iniziale. Ad esempio, i residui compaiono sotto la chiave parte il dollaro iniziale. Ad esempio, i residui compaiono sotto la chiave
uhat e i coefficienti sotto coeff. Le altre chiavi dovrebbero essere (si uhat e i coefficienti sotto coeff. Le altre chiavi dovrebbero essere (si
skipping to change at line 595 skipping to change at line 632
var 4 y1 y2 y2 var 4 y1 y2 y2
bundle b = $system bundle b = $system
print b print b
Un bundle ottenuto a questo modo può essere passato come ultimo argomento Un bundle ottenuto a questo modo può essere passato come ultimo argomento
alle funzioni "fevd" e "irf". alle funzioni "fevd" e "irf".
# $T # $T
Risultato: intero Risultato: intero
Numero di osservazioni usato nella stima dell'ultimo modello. Ritorna il numero di osservazioni usato nella stima dell'ultimo modello.
# $t1 # $t1
Risultato: intero Risultato: intero
Indice (a base 1) della prima osservazione nel campione attualmente Indice (a base 1) della prima osservazione nel campione attualmente
selezionato. selezionato.
# $t2 # $t2
Risultato: intero Risultato: intero
skipping to change at line 928 skipping to change at line 965
risultato della conversione della stringa s (o della porzione di essa che risultato della conversione della stringa s (o della porzione di essa che
segue qualsiasi spazio iniziale) in un numero a virgola mobile. In modo segue qualsiasi spazio iniziale) in un numero a virgola mobile. In modo
diverso dalla funzione atof in C, comunque, per questioni di portabilità, diverso dalla funzione atof in C, comunque, per questioni di portabilità,
si assume sempre che il carattere decimale sia ".". Qualsiasi carattere che si assume sempre che il carattere decimale sia ".". Qualsiasi carattere che
segue la porzione di s convertita in numero decimale a virgola mobile sotto segue la porzione di s convertita in numero decimale a virgola mobile sotto
questa assunzione è ignorata. questa assunzione è ignorata.
Se nessuna porzione di s (che segue qualsiasi spazio iniziale) risulta Se nessuna porzione di s (che segue qualsiasi spazio iniziale) risulta
convertibile sotto le suddette assunzioni, la funzione restituisce NA. convertibile sotto le suddette assunzioni, la funzione restituisce NA.
# examples # examples
x = atof("1.234") # gives x = 1.234 x = atof("1.234") # gives x = 1.234
x = atof("1,234") # gives x = 1 x = atof("1,234") # gives x = 1
x = atof("1.2y") # gives x = 1.2 x = atof("1.2y") # gives x = 1.2
x = atof("y") # gives x = NA x = atof("y") # gives x = NA
x = atof(",234") # gives x = NA x = atof(",234") # gives x = NA
Si veda anche "sscanf" per modalità più flessibili di conversione da Si veda anche "sscanf" per modalità più flessibili di conversione da
stringa a numero. stringa a numero.
# bessel # bessel
Risultato: stesso tipo dell'argomento Risultato: stesso tipo dell'argomento
Argomenti: type (carattere) Argomenti: type (carattere)
v (scalare) v (scalare)
x (scalare, serie o matrice) x (scalare, serie o matrice)
skipping to change at line 1064 skipping to change at line 1101
da rispettare la scelta più comune fra gli economisti applicati, e cioè di da rispettare la scelta più comune fra gli economisti applicati, e cioè di
usare questo filtro per estrarre la componente alla frequenza di "business usare questo filtro per estrarre la componente alla frequenza di "business
cycle"; questa, a sua volta, è di solito definita come compresa fra 18 mesi cycle"; questa, a sua volta, è di solito definita come compresa fra 18 mesi
e 8 anni. Il filtro, come impostazione predefinita, usa 3 anni di dati. e 8 anni. Il filtro, come impostazione predefinita, usa 3 anni di dati.
Se f2 è maggiore o uguale del numero di osservazioni disponibili, verrà Se f2 è maggiore o uguale del numero di osservazioni disponibili, verrà
usata la versione "passa-basso" del filtro e il risultato deve essere usata la versione "passa-basso" del filtro e il risultato deve essere
interpretato come una stima del trend, anziché del ciclo. Vedi anche interpretato come una stima del trend, anziché del ciclo. Vedi anche
"bwfilt", "hpfilt". "bwfilt", "hpfilt".
# bkw
Risultato: matrice
Argomenti: V (matrice)
parnames (array di stringhe, opzionale)
verbose (booleano, opzionale)
Calcola il test diagnostico BKW per la collinearità (vedi Belsley, Kuh and
Welsch (1980)) data la matrice covarianza delle stime dei parametri V. Il
secondo argomento opzionale, che che può essere un vettore di stringhe o
una stringa contenente nomi separati da virgole, è usato per etichettare le
colonne che mostrano le proporzioni della varianza; il numero di nomi deve
eguagliare la dimensione di V. Dopo aver stimato un modello in gretl, gli
accessori "$vcv" e "$parnames". possono essere usati per generare oggetti
appropriati per esseri usate come argomenti.
Di default questa funzione producendo solamente la tabella BKW come matrice,
ma se si inserisce un valore differente da 0 come terzo argomento, insieme
alla tabella vengono stampate a video alcune analisi.
Esiste anche un comando che svolge gli stessi calcoli, "bkw", che
automaticamente usa l'utimo modello stimato e non richiede alcun argomento.
# boxcox # boxcox
Risultato: stesso tipo dell'argomento Risultato: stesso tipo dell'argomento
Argomenti: y (serie o matrice) Argomenti: y (serie o matrice)
d (scalare) d (scalare)
Restituisce la trasformazione Box-Cox con parametro d della variabile Restituisce la trasformazione Box-Cox con parametro d della variabile
positiva y (o le colonne della matrice y). positiva y (o le colonne della matrice y).
Il risultato è (y^d - 1)/d per d diverso da zero, o log(y) per d = 0. Il risultato è (y^d - 1)/d per d diverso da zero, o log(y) per d = 0.
skipping to change at line 1088 skipping to change at line 1147
Legge un bundle da un file di testo. la stringa nomefile deve contenere il Legge un bundle da un file di testo. la stringa nomefile deve contenere il
nome del file da cui deve essere letta il bundle. Se questo nome ha nome del file da cui deve essere letta il bundle. Se questo nome ha
estensione ".gz", si assume che il file sia stato creato con compressione estensione ".gz", si assume che il file sia stato creato con compressione
gzip. gzip.
Il file in questione dev'essere un file XML appropriatamente definito: esso Il file in questione dev'essere un file XML appropriatamente definito: esso
deve contenere un elemento gretl-bundle, usato a sua volta per contenere deve contenere un elemento gretl-bundle, usato a sua volta per contenere
zero o più elementi bundled-item. Ad esempio: zero o più elementi bundled-item. Ad esempio:
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<gretl-bundle name="temp"> <gretl-bundle name="temp">
<bundled-item key="s" type="string">moo</bundled-item> <bundled-item key="s" type="string">moo</bundled-item>
<bundled-item key="x" type="scalar">3</bundled-item> <bundled-item key="x" type="scalar">3</bundled-item>
</gretl-bundle> </gretl-bundle>
Come ci si può aspettare, file di questo tipo vengono generati Come ci si può aspettare, file di questo tipo vengono generati
automaticamente dalla funzione complementare "bwrite". automaticamente dalla funzione complementare "bwrite".
Se viene indicato un valore non nullo per l'argomento opzionale import, la Se viene indicato un valore non nullo per l'argomento opzionale import, la
ricerca del file di input avviene all'interno della directory "dot" ricerca del file di input avviene all'interno della directory "dot"
dell'utente. In questo caso l'argomento fname dovrebbe essere semplicemente dell'utente. In questo caso l'argomento fname dovrebbe essere semplicemente
un nome di file, senza indicazione del percorso. un nome di file, senza indicazione del percorso.
Se dovesse verificarsi un errore (per esempio dovuto al fatto che il file è Se dovesse verificarsi un errore (per esempio dovuto al fatto che il file è
inaccessibile o mal formattato) l'accessore "$error" risulterà non-zero. inaccessibile o mal formattato) l'accessore "$error" risulterà non-zero.
Vedi anche "mread", "bwrite". Vedi anche "mread", "bwrite".
# brename # brename
Risultato: scalare Risultato: scalare
Argomenti: B (bundle) Argomenti: B (bundle)
vecchia (stringa) vecchia (stringa)
nuova (stringa) nuova (stringa)
Se il bundle B contiene un membro sotte l'etichetta vecchia, questa viene Se il bundle B contiene un elemento con l'etichetta vecchia, questa viene
cambiata in nuova; in caso contrario, si produce un errore. Se l'operazione cambiata in nuova; in caso contrario, si produce un errore. Se l'operazione
va a buon fine, ritorna 0. va a buon fine, ritorna 0.
Questa non è un'operazione molto comune, ma può essere necessaria in
funzionui che lavorano coi bundle, e brename permette di svolgere questa
operazione in modo efficiente. Esempio:
# costruisci un bundle contenente una grossa matrice
bundle b
b.X = mnormal(1000, 1000)
if 0
# cambia la chiave a mano
Xcopy = b.X
delete b.X
b.Y = Xcopy
delete Xcopy
else
# meglio: più efficiente
brename(b, "X", "Y")
endif
Il primo metodo richiede che la matrice sia copiata due volte, mentre il
metodo efficiente cambia direttamente la chiave.
# bwfilt # bwfilt
Risultato: serie Risultato: serie
Argomenti: y (serie) Argomenti: y (serie)
n (intero) n (intero)
omega (scalare) omega (scalare)
Restituisce il risultato dell'applicazione di un filtro passa-basso Restituisce il risultato dell'applicazione di un filtro passa-basso
Butterworth di ordine n e frequenza di taglio omega alla variabile y. La Butterworth di ordine n e frequenza di taglio omega alla variabile y. La
frequenza di taglio è espressa in gradi e deve essere maggiore di 0 e frequenza di taglio è espressa in gradi e deve essere maggiore di 0 e
minore di 180. Frequenze di taglio minori restringono il passa banda alle minore di 180. Frequenze di taglio minori restringono il passa banda alle
skipping to change at line 1158 skipping to change at line 1238
Se viene indicato un valore non nullo per l'argomento export, il file di Se viene indicato un valore non nullo per l'argomento export, il file di
output sarà salvato nella directory "dot" dell'utente. In questo caso è output sarà salvato nella directory "dot" dell'utente. In questo caso è
necessario indicare come secondo argomento il nome del file privo del necessario indicare come secondo argomento il nome del file privo del
percorso. percorso.
Il file XML vene scritto, di default, senza compressione; se però fname ha Il file XML vene scritto, di default, senza compressione; se però fname ha
l'estensione .gz, allora verrà applicata la compressione gzip. l'estensione .gz, allora verrà applicata la compressione gzip.
Vedi anche "bread", "mwrite". Vedi anche "bread", "mwrite".
# carg
Risultato: matrice
Argomento: C (matrice complessa)
Rirona una matrice reale m x n contenente gli "argomenti" complessi di ogni
elemento della matrice complessa m x n C. L'argomento del numero complesso z
= x + yi può essere calcolato anche come atan2(y, x).
Vedi anche "cmod", "atan2".
# cdemean # cdemean
Risultato: matrice Risultato: matrice
Argomenti: X (matrice) Argomenti: X (matrice)
standardize (booleano, opzionale) standardize (booleano, opzionale)
Centra le colonne della matrice X attorno alla loro media. Se il secondo Centra le colonne della matrice X attorno alla loro media. Se il secondo
argomento (opzionale) è non-zero, allora le colonne vengono standardizzate, argomento (opzionale) è non-zero, allora le colonne vengono standardizzate,
usando la deviazione standard aggiustata per gradi di libertà (ossia n -, usando la deviazione standard aggiustata per gradi di libertà (ossia n -,
dove n è il numero di righe di X). dove n è il numero di righe di X).
skipping to change at line 1290 skipping to change at line 1380
espansioni da annuale a trimestrale. Questi sono gli unici fattori di espansioni da annuale a trimestrale. Questi sono gli unici fattori di
espansione supportati. Il terzo argomento opzionale può essere utilizzato espansione supportati. Il terzo argomento opzionale può essere utilizzato
per generare una matrice di regressori con una frequenza (obiettivo) per generare una matrice di regressori con una frequenza (obiettivo)
maggiore. maggiore.
I regressori utilizzati di default sono una costante e un trend quadratico. I regressori utilizzati di default sono una costante e un trend quadratico.
Se viene fornita X, le sue colonne sono utilizzate come regressori Se viene fornita X, le sue colonne sono utilizzate come regressori
addizionali; è un errore se il numero di righe in X non è uguale a xfac addizionali; è un errore se il numero di righe in X non è uguale a xfac
per il numero di righe in Y. per il numero di righe in Y.
# cmod
Risultato: matrice
Argomento: C (matrice complessa)
Ritorna una matrice reale m x n contenente i valori assoluti (o "moduli") di
ogni elemento della matrice complessa m x n C. Il modulo del numero
complesso z = x + yi è uguale alla radice quadrata di x^2 + y^2.
Vedi anche "carg".
# cmult # cmult
Risultato: matrice Risultato: matrice
Argomenti: X (matrice) Argomenti: X (matrice)
Y (matrice) Y (matrice)
Moltiplicazione complessa. I due argomenti devono avere lo stesso numero di Moltiplicazione complessa. I due argomenti devono avere lo stesso numero di
righe, n, e una o due colonne. La prima colonna contiene la parte reale e righe, n, e una o due colonne. La prima colonna contiene la parte reale e
l'eventuale seconda quella immaginaria. Restituisce una matrice n x 2 l'eventuale seconda quella immaginaria. Restituisce una matrice n x 2
oppure, se la parte immaginaria del risultato è nulla, un vettore a n oppure, se la parte immaginaria del risultato è nulla, un vettore a n
elementi. Vedi anche "cdiv". elementi. Vedi anche "cdiv".
skipping to change at line 1376 skipping to change at line 1476
cnameset(M, S) cnameset(M, S)
print M print M
# cols # cols
Risultato: intero Risultato: intero
Argomento: X (matrice) Argomento: X (matrice)
Il numero di colonne di X. Vedi anche "mshape", "rows", "unvech", "vec", Il numero di colonne di X. Vedi anche "mshape", "rows", "unvech", "vec",
"vech". "vech".
# complex
Risultato: matrice complessa
Argomenti: A (scalare o matrice)
B (scalare o matrice, opzionale)
Ritorna una matrice complessa, dove A è utilizzata per fornire la parte
reale e B quella immaginaria. Se A è m x n e B è uno scalare, il risultato
è m x n con parte immaginaria costante -- e similmente nel caso opposto, ma
con parte reale costante. Se entrambi gli argomenti sono matrici, esse
devono essere della stessa dimensione. Se il secondo argomento è omesso, la
parte immaginaria è di default uguale a 0. Vedi anche "cswitch".
# conj
Risultato: matrice complessa
Argomento: C (matrice complessa)
Ritorna una matrice complessa m x n contenente i complessi coniugati di ogni
elemento della matrice complessa m x n C. Il coniugato di un numero
complessoz = x + yi è uguale a x - yi.
Vedi anche "carg", "cmod".
# conv2d
Risultato: matrice
Argomenti: A (matrice)
B (matrice)
Calcola la convoluzione bidimensionale delle matrici A and B. Se A è r x c
e B è m x n la matrice prodotta avrà r+m-1 righe e c+n-1 colonne.
Vedi anche "fft", "filter".
# corr # corr
Risultato: scalare Risultato: scalare
Argomenti: y1 (serie o vettore) Argomenti: y1 (serie o vettore)
y2 (serie o vettore) y2 (serie o vettore)
Calcola il coefficiente di correlazione fra y1 e y2. Gli argomenti Calcola il coefficiente di correlazione fra y1 e y2. Gli argomenti
dovrebbero essere due variabili o due vettori con la stessa lunghezza. Vedi dovrebbero essere due variabili o due vettori con la stessa lunghezza. Vedi
anche "cov", "mcov", "mcorr", "npcorr". anche "cov", "mcov", "mcorr", "npcorr".
# corrgm # corrgm
skipping to change at line 1460 skipping to change at line 1592
Binomiale (b o B): probabilità; numero di prove Binomiale (b o B): probabilità; numero di prove
Poisson (p o P): Media Poisson (p o P): Media
Laplace (l o L): media; scala Laplace (l o L): media; scala
GED Standardizzata (E): forma GED Standardizzata (E): forma
Vedi anche "cdf", "invcdf", "pvalue". Vedi anche "cdf", "invcdf", "pvalue".
# cswitch
Risultato: matrice
Argomenti: A (matrice)
mode (scalare)
Reinterpreta una matrice reale come contenente valori complessi o viceversa.
L'azione precisa dipende dalla modalità (che può avere valore 1,2,3 o 4)
come di seguito illustrato:
modalità 1: A deve essere una matrice reale con un numero pari di colonne.
Produce una matrice complessa con la metà delle colonne; le colonne dispari
di A forniscono la parte reale e le colonne pari forniscono le parti
immaginarie.
modalità 2: Svolge l'operazione inversa rispetto alla modalità 1. A deve
essere una matrice complessa e il risultato è una matrice reale con il
doppio delle colonne di A.
modalità 3: A deve essere una matrice reale con un numero pari di right.
Produce una matrice complessa con la metà delle righe; le righe dispari di
A forniscono la parte reale e le righe pari forniscono le parti immaginarie.
modalità 4: Svolge l'operazione inversa rispetto alla modalità 3. A deve
essere una matrice complessa e il risultato è una matrice reale con il
doppio delle righe di A.
Vedi anche "complex".
# ctrans
Risultato: matrice complessa
Argomento: C (matrice complessa)
Produce la matrice complessa n x m contenente i coniugati trasposti della
matrice complessa m x n C. Anche l'operatore ' (primo) svolge la
trasposizione coniugata per le matrici complesse. La funzione "transp" può
essere usata sulle matrici complesse ma opera una trasposizione "diretta"
(non coniugata).
# cum # cum
Risultato: stesso tipo dell'argomento Risultato: stesso tipo dell'argomento
Argomento: x (serie o matrice) Argomento: x (serie o matrice)
Calcola la somma cumulata di x. Se x è una variabile, restituisce una Calcola la somma cumulata di x. Se x è una variabile, restituisce una
variabile y in cui ciascuno degli elementi è la somma dei valori di x fino variabile y in cui ciascuno degli elementi è la somma dei valori di x fino
a quel punto; il primo termine della somma è la prima osservazione non a quel punto; il primo termine della somma è la prima osservazione non
mancante (non-missing) nel campione corrente. Se x è una matrice, la somma mancante (non-missing) nel campione corrente. Se x è una matrice, la somma
cumulata viene calcolata per ciascuna delle colonne. cumulata viene calcolata per ciascuna delle colonne.
skipping to change at line 1508 skipping to change at line 1678
funzione ritorna un valore non-zero, nel qual caso il messaggio di errore di funzione ritorna un valore non-zero, nel qual caso il messaggio di errore di
curl viene aggiunto al bundle sotto la chiave "errmsg". Si noti, tuttavia, curl viene aggiunto al bundle sotto la chiave "errmsg". Si noti, tuttavia,
che "a buon fine" in questo senso non implica che tutti i dati desiderati che "a buon fine" in questo senso non implica che tutti i dati desiderati
siano stati scaricati, ma solo che il server ha dato una qualche risposta. siano stati scaricati, ma solo che il server ha dato una qualche risposta.
È responsabilità dell'utente controllare il contenuto del buffer di output È responsabilità dell'utente controllare il contenuto del buffer di output
(che per esempio potrebbe contenere semplicemente il testo "Page not (che per esempio potrebbe contenere semplicemente il testo "Page not
found"). found").
A seguire, un esempio, in cui scaricheremo dei dati dal sito dell'US Bureau A seguire, un esempio, in cui scaricheremo dei dati dal sito dell'US Bureau
of Labor Statistics; a tal fine, bisogna formulare una query JSON. Si noti of Labor Statistics; a tal fine, bisogna formulare una query JSON. Si noti
l'uso di "sprintf" per inserire il carattere " nei dati POST. l'uso di "sprintf" per inserire il carattere nei dati POST il caratter
"virgoletta doppia".
bundle req bundle req
req.URL = "http://api.bls.gov/publicAPI/v1/timeseries/data/" req.URL = "http://api.bls.gov/publicAPI/v1/timeseries/data/"
req.include = 1 req.include = 1
req.header = "Content-Type: application/json" req.header = "Content-Type: application/json"
string s = sprintf("{\"seriesid\":[\"LEU0254555900\"]}") string s = sprintf("{\"seriesid\":[\"LEU0254555900\"]}")
req.postdata = s req.postdata = s
err = curl(&req) err = curl(&req)
if err == 0 if err == 0
s = req.output s = req.output
string line string line
loop while getline(s, line) --quiet loop while getline(s, line) --quiet
printf "%s\n", line printf "%s\n", line
endloop endloop
endif endif
Vedi anche le funzione "jsonget" e "xmlget" per elaborare i dati JSON o XML Vedi anche le funzione "jsonget" e "xmlget" per elaborare i dati JSON o XML
rispettivamente. rispettivamente.
# dayspan # dayspan
Risultato: intero Risultato: intero
Argomenti: ed1 (intero) Argomenti: ed1 (intero)
ed2 (intero) ed2 (intero)
weeklen (intero) weeklen (intero)
skipping to change at line 1679 skipping to change at line 1850
# dnorm # dnorm
Risultato: stesso tipo dell'argomento Risultato: stesso tipo dell'argomento
Argomento: x (scalare, serie o matrice) Argomento: x (scalare, serie o matrice)
Restituisce la funzione di densità di una normale standard in x. Per Restituisce la funzione di densità di una normale standard in x. Per
calcolare la densità di una distribuzione normale non standardizzata in x, calcolare la densità di una distribuzione normale non standardizzata in x,
applicate la funzione dnorm allo z-score di x e moltiplicate il risultato applicate la funzione dnorm allo z-score di x e moltiplicate il risultato
così ottenuto per lo Jacobiano della trasformazione z, 1/sigma, come così ottenuto per lo Jacobiano della trasformazione z, 1/sigma, come
illustrato nell'esempio seguente: illustrato nell'esempio seguente:
mu = 100 mu = 100
sigma = 5 sigma = 5
x = 109 x = 109
fx = (1/sigma) * dnorm((x-mu)/sigma) fx = (1/sigma) * dnorm((x-mu)/sigma)
Vedi anche "cnorm", "qnorm". Vedi anche "cnorm", "qnorm".
# dropcoll # dropcoll
Risultato: lista Risultato: lista
Argomenti: X (lista) Argomenti: X (lista)
epsilon (scalare, opzionale) epsilon (scalare, opzionale)
Restituisce una lista con gli stessi elementi di X, fuorché le serie Restituisce una lista con gli stessi elementi di X, fuorché le serie
collineari. Quindi, se tutte le serie in X sono linearmente indipendenti, la collineari. Quindi, se tutte le serie in X sono linearmente indipendenti, la
skipping to change at line 1768 skipping to change at line 1939
# easterday # easterday
Risultato: stesso tipo dell'argomento Risultato: stesso tipo dell'argomento
Argomento: x (scalare, serie o matrice) Argomento: x (scalare, serie o matrice)
Dato l'anno in x, ritorna la data di Pasqua nel calendario gregoriano sotto Dato l'anno in x, ritorna la data di Pasqua nel calendario gregoriano sotto
forma dello scalare mese + giorno/100. Si noti che, per questa convenzione, forma dello scalare mese + giorno/100. Si noti che, per questa convenzione,
il 10 aprile è 4.1; quindi, 4.2 sarà il 20 aprile, non il 2 (che sarebbe il 10 aprile è 4.1; quindi, 4.2 sarà il 20 aprile, non il 2 (che sarebbe
4.02). 4.02).
scalar e = easterday(2014) scalar e = easterday(2014)
scalar m = floor(e) scalar m = floor(e)
scalar d = 100*(e-m) scalar d = 100*(e-m)
# ecdf # ecdf
Risultato: matrice Risultato: matrice
Argomento: y (serie o vettore) Argomento: y (serie o vettore)
Calcola la funzione di ripartizione empirica di y. Il risultato occupa una Calcola la funzione di ripartizione empirica di y. Il risultato occupa una
matrice di due colonne: nella prima ci sono i valori distinti di y, ordinati matrice di due colonne: nella prima ci sono i valori distinti di y, ordinati
in senso crescente; nell'altra, la frequenza relativa cumulata, ossia il in senso crescente; nell'altra, la frequenza relativa cumulata, ossia il
numero di osservazioni minore o uguale al numero nella prima colonna, diviso numero di osservazioni minore o uguale al numero nella prima colonna, diviso
per il numero di osservazioni. per il numero di osservazioni.
# eigen
Risultato: matrice
Argomenti: A (matrice quadrata)
&V (riferimento a matrice, o null)
&W (riferimento a matrice, o null)
Calcola gli autovalori e, opzionalmente, gli autovettori destri e/o
sinistri, della matrice n x n A, che può essere reale o complessa. Gli
autovalori sono ritornati come vettore colonna complesso.
Se si desidera ottenere gli autovettori destri (nella forma di una matrice
complessa n x n), fornire il nome di una matrice esistente, preceduta da &
per indicare l'"indirizzo" della matrice in questione, come secondo
argomento. Altrimenti questo argomento può essere omesso.
Per ottenere gli autovettori sinistri (di nuovo, nella forma di una matrice
complessa), fornire l'indirizzo di una matrice come terzo argomento. Notare
che se si desiderano gli autovettori sinistri e non quelli destri, occore
inserire la parola chiave null al posto del secondo argomento.
Vedi anche "eigensym", "eigsolve", "svd".
# eigengen # eigengen
Risultato: matrice Risultato: matrice
Argomenti: A (matrice quadrata) Argomenti: A (matrice quadrata)
&U (riferimento a matrice, o null) &U (riferimento a matrice, o null)
Calcola gli autovalori, e, se richiesto, gli autovettori destri della Calcola gli autovalori, e, se richiesto, gli autovettori destri della
matrice n x n A. Se tutti gli autovalori sono reali, la funzione restituisce matrice n x n A. Se tutti gli autovalori sono reali, la funzione restituisce
una matrice n x 1; in caso contrario, il risultato è una matrice n x 2, una matrice n x 1; in caso contrario, il risultato è una matrice n x 2,
dove la prima colonna contiene le parti reali degli autovalori, mentre la dove la prima colonna contiene le parti reali degli autovalori, mentre la
seconda le corrispondenti parti immaginarie. Non c'è alcuna garanzia sul seconda le corrispondenti parti immaginarie. Non c'è alcuna garanzia sul
skipping to change at line 1875 skipping to change at line 2068
Per la funzione inversa, vedi "isodate" e anche (per il calendario giuliano) Per la funzione inversa, vedi "isodate" e anche (per il calendario giuliano)
"juldate". "juldate".
# errmsg # errmsg
Risultato: stringa Risultato: stringa
Argomento: errno (intero) Argomento: errno (intero)
Recupera il messaggio di errore di gretl associato a errno. Si veda anche Recupera il messaggio di errore di gretl associato a errno. Si veda anche
"$error". "$error".
# errorif
Risultato: scalare
Argomenti: condizione (booleano)
msg (stringa)
Applicabile solo nel contesto di una funzione creata dall'utente. Se la
condizione è diversa da 0, termina l'esecuzione della funzione attuale,
evidenziando la condizione di errore; l'argomento msg è poi stampato a
video come parte del messaggio mostrato a chi utilizza la funzione in
questione.
Il valore (1) ritornato da questa funzone è puramente nominale.
# exists # exists
Risultato: intero Risultato: intero
Argomento: name (stringa) Argomento: name (stringa)
Ritorna 1 se name è l'identificativo di un oggetto definito, che sia uno Ritorna 1 se name è l'identificativo di un oggetto definito, che sia uno
scalare, una serie, una matrice, lista, stringa, bundle o array; altrimenti, scalare, una serie, una matrice, lista, stringa, bundle o array; altrimenti,
ritorna 0. Vedi anche "typeof". ritorna 0. Vedi anche "typeof".
# exp # exp
Risultato: stesso tipo dell'argomento Risultato: stesso tipo dell'argomento
skipping to change at line 1908 skipping to change at line 2114
Se uno degli argomenti è una serie, la dimensione dell'input è data dal Se uno degli argomenti è una serie, la dimensione dell'input è data dal
campione corrente (il che implica che se uno degli argomenti è una matrice, campione corrente (il che implica che se uno degli argomenti è una matrice,
essa deve avere un numero appropriato di righe). Se f è una serie o un essa deve avere un numero appropriato di righe). Se f è una serie o un
vettore, l'output sarà un vettore colonna; se f è una matrice T x k, vettore, l'output sarà un vettore colonna; se f è una matrice T x k,
l'output avrà k colonne, ognuna delle quali conterrà le statistiche l'output avrà k colonne, ognuna delle quali conterrà le statistiche
relative alla colonna corrispondente di f come previsore di y. relative alla colonna corrispondente di f come previsore di y.
La struttura dell'output è la seguente: La struttura dell'output è la seguente:
1 Errore Medio (Mean Error, ME) 1 Errore Medio (Mean Error, ME)
2 Errore Quadratico Medio (Mean Squared Error, MSE) 2 Errore Quadratico Medio (Mean Squared Error, MSE)
3 Errore Medio Assoluto (Mean Absolute Error, MAE) 3 Errore Medio Assoluto (Mean Absolute Error, MAE)
4 Errore Medio Percentuale (Mean Percentage Error, MPE) 4 Errore Medio Percentuale (Mean Percentage Error, MPE)
5 Errore Medio Assoluto Percentuale (Mean Absolute Percentage Error, MAPE 5 Errore Medio Assoluto Percentuale (Mean Absolute Percentage Error, M
) APE)
6 Coefficiente U di Theil (Theil's U) 6 Coefficiente U di Theil (Theil's U)
7 Proporzione della distorsione (Bias proportion, UM) 7 Proporzione della distorsione (Bias proportion, UM)
8 Proporzione della regressione (Regression proportion, UR) 8 Proporzione della regressione (Regression proportion, UR)
9 Proporzione del disturbo (Disturbance proportion, UD) 9 Proporzione del disturbo (Disturbance proportion, UD)
Per maggiori dettagli sul calcolo di queste statistiche e l'interpretazione Per maggiori dettagli sul calcolo di queste statistiche e l'interpretazione
dei valori del coefficiente U, si veda la guida all'uso di gretl (il dei valori del coefficiente U, si veda la guida all'uso di gretl (il
capitolo 33). capitolo 33).
# fdjac # fdjac
Risultato: matrice Risultato: matrice
Argomenti: b (vettore colonna) Argomenti: b (vettore colonna)
fcall (chiamata a funzione) fcall (chiamata a funzione)
h (scalare, opzionale) h (scalare, opzionale)
skipping to change at line 1941 skipping to change at line 2147
seguito da eventuali altri parametri, se necessario; deve restituire una seguito da eventuali altri parametri, se necessario; deve restituire una
matrice m x 1. Se il comando va a buon fine, verrà restituita una matrice m matrice m x 1. Se il comando va a buon fine, verrà restituita una matrice m
x n contenente lo Jacobiano. Ad esempio: x n contenente lo Jacobiano. Ad esempio:
Il terzo argomento (opzionale) consente di aggiustare la lunghezza di passo Il terzo argomento (opzionale) consente di aggiustare la lunghezza di passo
h usata nel meccanismo di approssimazione (vedi sotto); se omesso, h viene h usata nel meccanismo di approssimazione (vedi sotto); se omesso, h viene
determinata automaticamente. determinata automaticamente.
Per esempio: Per esempio:
matrix J = fdjac(theta, myfunc(&theta, X)) matrix J = fdjac(theta, myfunc(&theta, X))
La funzione può usare tre metodi diversi: differenza in avanti, differenza La funzione può usare tre metodi diversi: differenza in avanti, differenza
bilaterale o un'estrapolazione di Richardson a 4 nodi. Rispettivamente: bilaterale o un'estrapolazione di Richardson a 4 nodi. Rispettivamente:
J_0 = (f(x+h) - f(x))/h J_0 = (f(x+h) - f(x))/h
J_1 = (f(x+h) - f(x-h))/2h J_1 = (f(x+h) - f(x-h))/2h
J_2 = [8 (f(x+h) - f(x-h)) - (f(x+2h) - f(x-2h))] /12h J_2 = [8 (f(x+h) - f(x-h)) - (f(x+2h) - f(x-2h))] /12h
Queste tre alternative, in generale, rappresentano un compromesso diverso Queste tre alternative, in generale, rappresentano un compromesso diverso
fra velocità e accuratezza. Per scegliere quale metodo usare, il comando fra velocità e accuratezza. Per scegliere quale metodo usare, il comando
"set" consente di impostare a 0, 1 o 2 la variabile fdjac_quality. "set" consente di impostare a 0, 1 o 2 la variabile fdjac_quality.
Per maggiori dettagli ed esempi si veda il capitolo sulle funzioni speciali Per maggiori dettagli ed esempi si veda il capitolo sulle funzioni speciali
in genr in la guida all'uso di gretl (il capitolo 9). in genr in la guida all'uso di gretl (il capitolo 9).
Vedi anche "BFGSmax", "numhess", "set". Vedi anche "BFGSmax", "numhess", "set".
# feval
Risultato: vedi sotto
Argomenti: funcname (stringa)
... (vedi sotto)
Utile soprattutto per gli autori di funzioni. Il primo argomento è il nome
di una funzione, e quelli restanti sono gli argomenti passati alla funzione
in questione. In pratica, la funzione identificata da funcname viene
trattata come essa stessa una variabile. Il valore ritornato è quello che
la funzione funcname ritorna dati gli argomenti specificati.
L'esempio seguente illustra alcuni possibili usi.
function scalar utility (scalar c, scalar sigma)
return (c^(1-sigma)-1)/(1-sigma)
end function
strings S = defarray("log", "utility")
# chiama una funzione con un argomento
x = feval(S[1], 2.5)
# chiama una funzione definita dall'utente
x = feval(S[2], 5, 0.5)
# una funzione con due argomenti
func = "zeros"
m = feval(func, 5-2, sqrt(4))
print m
# una integrata a 3 argomenti
x = feval("monthlen", 12, 1980, 5)
C'è una lieve analogia tra feval e "genseries": entrambe le funzioni
rendono variabile un elemento sintattico che di solito è fisso, nel momento
in cui lo script è compilato.
# fevd # fevd
Risultato: matrice Risultato: matrice
Argomenti: target (intero) Argomenti: target (intero)
shock (intero) shock (intero)
sys (bundle, opzionale) sys (bundle, opzionale)
Questa funzione fornisce un'alternativa più flessibile all'accessore Questa funzione fornisce un'alternativa più flessibile all'accessore
"$fevd" per ottenere la matrice di scomposizione della varianza dell'errore "$fevd" per ottenere la matrice di scomposizione della varianza dell'errore
di previsione (FEVD)dopo la stima di un VAR o di un VECM. Senza l'argomento di previsione (FEVD)dopo la stima di un VAR o di un VECM. Senza l'argomento
finale (opzionale), è disponibile soltanto quando l'ultimo modello stimato finale (opzionale), è disponibile soltanto quando l'ultimo modello stimato
skipping to change at line 2001 skipping to change at line 2241
determinato in automatico dalla periodicità dei dati, ma può essere determinato in automatico dalla periodicità dei dati, ma può essere
modificato attraverso l'argomento horizon al comando "set", come ad esempio modificato attraverso l'argomento horizon al comando "set", come ad esempio
in set horizon 10. in set horizon 10.
Vedi anche "irf". Vedi anche "irf".
# fft # fft
Risultato: matrice Risultato: matrice
Argomento: X (matrice) Argomento: X (matrice)
Questa è una vecchia funzione, scritta prima che gretl supportasse matrici
complesse. Non dovrebbe essere usata in nuovi script hansl. Si usi invece
"fft2" .
Trasformata discreta reale di Fourier. Se la matrice di input X ha n Trasformata discreta reale di Fourier. Se la matrice di input X ha n
colonne, l'output avrà 2n colonne, dove le parti reali sono salvate nelle colonne, l'output avrà 2n colonne, dove le parti reali sono salvate nelle
colonne dispari e le parti complesse nelle colonne pari. colonne dispari e le parti complesse nelle colonne pari.
Se fosse necessario calcolare la trasformata di Fourier su diversi vettori Se fosse necessario calcolare la trasformata di Fourier su diversi vettori
con lo stesso numero di elementi, è numericamente più efficiente con lo stesso numero di elementi, è numericamente più efficiente
raggrupparli in una matrice piuttosto che invocare fft separatamente per raggrupparli in una matrice piuttosto che invocare fft separatamente per
ciascuno di essi. Vedi anche "ffti". ciascuno di essi. Vedi anche "ffti".
# fft2
Risultato: matrice
Argomento: X (matrice)
Trasformata discreta di Fourier. La matrice di input X può essere reale o
complessa. L'output è una matrice complessa della stessa dimensione di X.
Qualora dovesse essere necessario calcolare la trasformata di Fourier di
diversi vettori con lo stesso numero di elementi, risulta numericamente più
efficiente raggruppare i vettori in una matrice invece di utilizzare fft2
per ogni vettore separatamente. Vedi anche "ffti".
# ffti # ffti
Risultato: matrice Risultato: matrice
Argomento: X (matrice) Argomento: X (matrice)
Trasformata discreta reale di Fourier inversa. Si assume che X contenga n Trasformata discreta reale di Fourier inversa. Si assume che X contenga n
vettori colonna complessi, con la parte reale nelle colonne pari e la parte vettori colonna complessi, con la parte reale nelle colonne pari e la parte
immaginaria nelle colonne dispari: il numero totale di colonne sarà quindi immaginaria nelle colonne dispari: il numero totale di colonne sarà quindi
pari a 2n. Il risultato è una matrice con n colonne. pari a 2n. Il risultato è una matrice con n colonne.
Se si desidera calcolare la trasformata di Fourier inversa su diversi Se si desidera calcolare la trasformata di Fourier inversa su diversi
skipping to change at line 2060 skipping to change at line 2316
è null oppure omesso, è equivalente a B(L)=1. è null oppure omesso, è equivalente a B(L)=1.
L'argomento scalare opzionale y0 rappresenta i valori di y antecedenti L'argomento scalare opzionale y0 rappresenta i valori di y antecedenti
all'inizio del campione (usato solo se p>0). Se omesso, si intende 0. Valori all'inizio del campione (usato solo se p>0). Se omesso, si intende 0. Valori
di x antecedenti all'inizio del campione sono sempre considerati 0. di x antecedenti all'inizio del campione sono sempre considerati 0.
Vedi anche "bkfilt", "bwfilt", "fracdiff", "hpfilt", "movavg", "varsimul". Vedi anche "bkfilt", "bwfilt", "fracdiff", "hpfilt", "movavg", "varsimul".
Esempio: Esempio:
nulldata 5 nulldata 5
y = filter(index, 0.5, -0.9, 1) y = filter(index, 0.5, -0.9, 1)
print index y --byobs print index y --byobs
x = seq(1,5)' ~ (1 | zeros(4,1)) x = seq(1,5)' ~ (1 | zeros(4,1))
w = filter(x, 0.5, -0.9, 1) w = filter(x, 0.5, -0.9, 1)
print x w print x w
produce produce
index y index y
1 1 -0.40000 1 1 -0.40000
2 2 1.36000 2 2 1.36000
3 3 0.27600 3 3 0.27600
4 4 1.75160 4 4 1.75160
5 5 0.92356 5 5 0.92356
x (5 x 2) x (5 x 2)
1 1 1 1
2 0 2 0
3 0 3 0
4 0 4 0
5 0 5 0
w (5 x 2) w (5 x 2)
-0.40000 -0.40000 -0.40000 -0.40000
1.3600 0.36000 1.3600 0.36000
0.27600 -0.32400 0.27600 -0.32400
1.7516 0.29160 1.7516 0.29160
0.92356 -0.26244 0.92356 -0.26244
# firstobs # firstobs
Risultato: intero Risultato: intero
Argomento: y (serie) Argomento: y (serie)
Restituisce il primo valore non-mancante della variabile y. Si noti che se Restituisce il primo valore non-mancante della variabile y. Si noti che se
si sta operando su un sottocampione ristretto, il valore ottenuto può si sta operando su un sottocampione ristretto, il valore ottenuto può
essere più piccolo della variabile dollaro "$t1". Vedi anche "lastobs". essere più piccolo della variabile dollaro "$t1". Vedi anche "lastobs".
# fixname # fixname
skipping to change at line 2120 skipping to change at line 2376
1. Eliminare qualsiasi carattere iniziale che non sia un carattere 1. Eliminare qualsiasi carattere iniziale che non sia un carattere
alfabetico. alfabetico.
2. Fino al limite dei 31 caratteri o al completamento dell'input: 2. Fino al limite dei 31 caratteri o al completamento dell'input:
trascrivere i caratteri "legali"; saltare i caratteri "illegali" esclusi gli trascrivere i caratteri "legali"; saltare i caratteri "illegali" esclusi gli
spazi; e sostituire uno o più spazi consecutivi con un trattino basso, a spazi; e sostituire uno o più spazi consecutivi con un trattino basso, a
meno che il precedente carattere trascritto sia un trattino, nel qual caso meno che il precedente carattere trascritto sia un trattino, nel qual caso
lo spazio è saltato. lo spazio è saltato.
# flatten
Risultato: vedi sotto
Argomenti: A (array di matrici o stringhe)
alt (booleano, opzionale)
Compatta un array di matrici in una singola matrice oppure un array di
stringhe in una singola stringa.
Nel caso matriciale, le matrici contenute in A sono, di default, concatenate
orizzontalmente, ma se un valore diverso da zero è inserito in alt la
concatenazione è verticale. In entrambi i casi viene prodotto un errore.
qualora le matrici non siano conformabili per l'operazione. Si veda
"msplitby" per l'operazione inversa.
Nel caso di un array di stringhe, esse sono contenute in A, e sono sistemate
una per riga di default. Se un valore diverso da 0 è inserito in alt le
stringhe verranno separate da spazi anzichè da interruzioni di riga.
# floor # floor
Risultato: stesso tipo dell'argomento Risultato: stesso tipo dell'argomento
Argomento: y (scalare, serie o matrice) Argomento: y (scalare, serie o matrice)
Restituisce il più grande intero minore o uguale di x. Nota: "int" e floor Restituisce il più grande intero minore o uguale di x. Nota: "int" e floor
differiscono nel loro effetto su argomenti negativi: int(-3.5) restituisce differiscono nel loro effetto su argomenti negativi: int(-3.5) restituisce
-3, mentre floor(-3.5) produce -4. -3, mentre floor(-3.5) produce -4.
# fracdiff # fracdiff
Risultato: serie Risultato: serie
skipping to change at line 2142 skipping to change at line 2416
Restituisce la differenza frazionale di ordine d per la variabile y. Restituisce la differenza frazionale di ordine d per la variabile y.
Si noti che in teoria la differenziazione frazionale corrisponde ad un Si noti che in teoria la differenziazione frazionale corrisponde ad un
filtro infinitamente lungo. In pratica, i valori di y_t precedenti al filtro infinitamente lungo. In pratica, i valori di y_t precedenti al
campione estratto sono posti pari a zero. campione estratto sono posti pari a zero.
L'argomento d può essere negativo, nel qual caso si può parlare di L'argomento d può essere negativo, nel qual caso si può parlare di
integrazione frazionale anziché differenziazione. integrazione frazionale anziché differenziazione.
# fzero
Risultato: scalare
Argomenti: fcall (chiamata a funzione)
init (scalare o vettore, opzionale)
toler (scalare, opzionale)
Tenta di trovare la radice di una funzione di una variabile (tipicamente non
lineare) f, cioè un valore dello scalare x tale che f(x) = 0. L'argomento
fcall dovrebbe chiamare la funzione in questione; fcall può includere un
numero arbitrario di argomenti ma il primo deve essere uno scalare che
svolga la funzione dix. Qualora la funziona svolga il suo compito con
successo, essa restituisce il valore della radice.
Il metodo utilizzato è quello di Ridders (1979). Esso necessita di un
supporto iniziale {x_0, x_1} tale che entrambi i valori di x giacciano nel
dominio della funzione e i corrispondenti valori della funzione siano di
segno opposto. Sarà più probabile ottenere migliori risultati qualora
l'utente inserisca, come secondo argomento, un vettore di cui componenti
contenente gli estremi del supporto. Altrimenti, è possibile fornire un
solo valore scalare e fzero tenterà di trovera un intervallo adeguato. Se
il secondo argomento è omesso, x_0 è inizializzato ad un piccolo valore
positivo.
L'argomento opzionale toler può essere utilizzato per definire la massima
differenza assoluta accettabile di f(x) da 0; il valore di default è
1.0e-14.
Di default questa funzione opera silenziosamente, ma è possibile
visualizzare le iterazioni attraverso il comando "set max_verbose on" prima
di chiamare fzero.
Di seguito alcuni semplici esempi.
#Si approssima pi trovando uno zero della
#funzione sin() nel supporto 2.8-3.2
x = fzero(sin(x), {2.8, 3.2})
printf "\nx = %.12f vs pi = %.12f\n\n", x, $pi
# Si approssima la costante Omega partendo da x=0.5
function scalar f(scalar x)
return log(x) + x
end function
x = fzero(f(x), 0.5)
printf "x = %.12f f(x) = %.15f\n", x, f(x)
# gammafun # gammafun
Risultato: stesso tipo dell'argomento Risultato: stesso tipo dell'argomento
Argomento: x (scalare, serie o matrice) Argomento: x (scalare, serie o matrice)
Restituisce la funzione gamma di x. Restituisce la funzione gamma di x.
# genseries # genseries
Risultato: scalare Risultato: scalare
Argomenti: varname (stringa) Argomenti: varname (stringa)
rhs (serie) rhs (serie)
skipping to change at line 2173 skipping to change at line 2492
serie nel solito modo. serie nel solito modo.
Il valore ritornato da questa funzione è il numero ID della serie nel Il valore ritornato da questa funzione è il numero ID della serie nel
dataset, che può essere incluso in una lista (o -1 in caso di errore). dataset, che può essere incluso in una lista (o -1 in caso di errore).
Per esempio, immaginiamo di voler aggiungere n serie casuali normali al Per esempio, immaginiamo di voler aggiungere n serie casuali normali al
dataset e raccoglierle tutte in una lista: dataset e raccoglierle tutte in una lista:
list Normals = null list Normals = null
loop i=1..n --quiet loop i=1..n --quiet
Normals += genseries(sprintf("norm%d", i), normal()) Normals += genseries(sprintf("norm%d", i), normal())
endloop endloop
Alla fine del ciclo, Normals conterrà le serie norm1, norm2 e così via. Alla fine del ciclo, Normals conterrà le serie norm1, norm2 e così via.
# getenv # getenv
Risultato: stringa Risultato: stringa
Argomento: s (stringa) Argomento: s (stringa)
Se è definita una variabile di ambiente di nome s, questa funzione Se è definita una variabile di ambiente di nome s, questa funzione
restituisce una stringa contenente il valore di quella variabile, altrimenti restituisce una stringa contenente il valore di quella variabile, altrimenti
skipping to change at line 2221 skipping to change at line 2540
graph_name = graph_name =
coded = 0 coded = 0
discrete = 0 discrete = 0
transform = lags transform = lags
description = = QNC(t - 2) description = = QNC(t - 2)
Per verificate se la serie 5 in un dataset è una ritardata, si può usare Per verificate se la serie 5 in un dataset è una ritardata, si può usare
un meccanismo tipo il seguente: un meccanismo tipo il seguente:
if getinfo(5).lag != 0 if getinfo(5).lag != 0
printf "la serie 5 è un ritardo di %s\n", getinfo(5).parent printf "la serie 5 è un ritardo di %s\n", getinfo(5).parent
endif endif
Si noti che la notazione col punto funziona anche quando il bundle è Si noti che la notazione col punto funziona anche quando il bundle è
"anonimo" (non è salvato sotto un qualche nome). "anonimo" (non è salvato sotto un qualche nome).
# getkeys # getkeys
Risultato: array di stringhe Risultato: array di stringhe
Argomento: b (bundle) Argomento: b (bundle)
Restituisce un array di stringhe con le chiavi identificative degli elementi Restituisce un array di stringhe con le chiavi identificative degli elementi
skipping to change at line 2249 skipping to change at line 2568
Questa funzione è usata per leggere righe successiva da source, che Questa funzione è usata per leggere righe successiva da source, che
dovrebbe essere una variabile stringa. Ad ogni chiamata una linea della dovrebbe essere una variabile stringa. Ad ogni chiamata una linea della
fonte è scritta in target (anch'essa una variabile stringa), privata del fonte è scritta in target (anch'essa una variabile stringa), privata del
carattere che produce una nuova linea. Il risultato è 1 se non c'è ancora carattere che produce una nuova linea. Il risultato è 1 se non c'è ancora
qualcosa da leggere (incluse linee vuote), 0 se la lettura dalla fonte è qualcosa da leggere (incluse linee vuote), 0 se la lettura dalla fonte è
stata completata. stata completata.
Questo è un esempio in cui il contenuto di un file di testo è riportato su Questo è un esempio in cui il contenuto di un file di testo è riportato su
più righe: più righe:
string s = readfile("data.txt") string s = readfile("data.txt")
string line string line
scalar i = 1 scalar i = 1
loop while getline(s, line) loop while getline(s, line)
printf "line %d = '%s'\n", i++, line printf "line %d = '%s'\n", i++, line
endloop endloop
In questo esempio possiamo essere sicuri che la fonte è stata esaurita In questo esempio possiamo essere sicuri che la fonte è stata esaurita
quando termina il ciclo. Se la fonte non può essere completata le chiamate quando termina il ciclo. Se la fonte non può essere completata le chiamate
di getline dovrebbero essere seguite da una chiamata di "clean up", in cui di getline dovrebbero essere seguite da una chiamata di "clean up", in cui
target è sostituito da null (o omesso) come segue target è sostituito da null (o omesso) come segue
getline(s, line) getline(s, line)
getline(s, null) getline(s, null)
Si noti che, anche se la posizione di lettura avanza ad ogni chiamata di Si noti che, anche se la posizione di lettura avanza ad ogni chiamata di
getline, questa funzione non modifica source ma solo target. getline, questa funzione non modifica source ma solo target.
# ghk # ghk
Risultato: matrice Risultato: matrice
Argomenti: C (matrice) Argomenti: C (matrice)
A (matrice) A (matrice)
B (matrice) B (matrice)
U (matrice) U (matrice)
skipping to change at line 2294 skipping to change at line 2613
opposto. opposto.
La matrice U deve essere di dimensione m x r, dove r è il numero di La matrice U deve essere di dimensione m x r, dove r è il numero di
estrazioni pseudo-casuali dalla distribuzione uniforme; funzioni idonee alla estrazioni pseudo-casuali dalla distribuzione uniforme; funzioni idonee alla
creazione di U sono "muniform" e "halton". creazione di U sono "muniform" e "halton".
Nel seguente esempio, le variabili P e Q dovrebbero essere numericamente Nel seguente esempio, le variabili P e Q dovrebbero essere numericamente
molto simili l'una all'altra, essendo P la "vera" probabilità e Q la sua molto simili l'una all'altra, essendo P la "vera" probabilità e Q la sua
approssimazione basata sull'algoritmo GHK: approssimazione basata sull'algoritmo GHK:
nulldata 20 nulldata 20
series inf1 = -2*uniform() series inf1 = -2*uniform()
series sup1 = 2*uniform() series sup1 = 2*uniform()
series inf2 = -2*uniform() series inf2 = -2*uniform()
series sup2 = 2*uniform() series sup2 = 2*uniform()
scalar rho = 0.25 scalar rho = 0.25
matrix V = {1, rho; rho, 1} matrix V = {1, rho; rho, 1}
series P = cdf(D, rho, inf1, inf2) - cdf(D, rho, sup1, inf2) \ series P = cdf(D, rho, inf1, inf2) - cdf(D, rho, sup1, inf2) \
- cdf(D, rho, inf1, sup2) + cdf(D, rho, sup1, sup2) - cdf(D, rho, inf1, sup2) + cdf(D, rho, sup1, sup2)
C = cholesky(V) C = cholesky(V)
U = muniform(2, 100) U = muniform(2, 100)
series Q = ghk(C, {inf1, inf2}, {sup1, sup2}, U) series Q = ghk(C, {inf1, inf2}, {sup1, sup2}, U)
L'argomento opzionale dP contiene, se usato, la matrice n x k di derivate L'argomento opzionale dP contiene, se usato, la matrice n x k di derivate
delle probabilità, dove k è pari a 2m + m(m + 1)/2. Le prime m colonne delle probabilità, dove k è pari a 2m + m(m + 1)/2. Le prime m colonne
contengono le derivate rispetto ai limiti inferiori e le seguenti m quelle contengono le derivate rispetto ai limiti inferiori e le seguenti m quelle
rispetto ai limiti superiori; quelle restanti sono le derivate rispetto agli rispetto ai limiti superiori; quelle restanti sono le derivate rispetto agli
elementi unici della matrice C (in ordine "vech"). elementi unici della matrice C (in ordine "vech").
# gini # gini
Risultato: scalare Risultato: scalare
Argomento: y (serie o vettore) Argomento: y (serie o vettore)
skipping to change at line 2372 skipping to change at line 2691
tolleranza dell'algoritmo, ossia l'ampiezza massima dell'intervallo finale. tolleranza dell'algoritmo, ossia l'ampiezza massima dell'intervallo finale.
Per default, è pari a 0.0001. Per default, è pari a 0.0001.
Se la funzione obiettivo va minimizzata, su può usare una funzione che Se la funzione obiettivo va minimizzata, su può usare una funzione che
ritorna il negativo dell'obiettivo, o alternativamente usare l'alias GSSmin ritorna il negativo dell'obiettivo, o alternativamente usare l'alias GSSmin
anziché GSSmax. anziché GSSmax.
Un semplice esempio di uso: Un semplice esempio di uso:
function scalar trigfunc (scalar theta) function scalar trigfunc (scalar theta)
return 4 * sin(theta) * (1 + cos(theta)) return 4 * sin(theta) * (1 + cos(theta))
end function end function
matrix m = {0, 0, $pi/2} matrix m = {0, 0, $pi/2}
eval GSSmax(&m, trigfunc(m[1])) eval GSSmax(&m, trigfunc(m[1]))
printf "\n%10.7f", m printf "\n%10.7f", m
# GSSmin # GSSmin
Risultato: scalare Risultato: scalare
Come "GSSmax", ma risolve un problema di minimo anziché di massimo. Come "GSSmax", ma risolve un problema di minimo anziché di massimo.
skipping to change at line 2413 skipping to change at line 2732
righe, r. Il risultato è una matrice con r righe, in cui la riga i-esima è righe, r. Il risultato è una matrice con r righe, in cui la riga i-esima è
il prodotto di Kronecker delle corrispondenti righe di X e Y. il prodotto di Kronecker delle corrispondenti righe di X e Y.
"Prodotto diretto orizzontale" ("Horizontal direct product") è il modo con "Prodotto diretto orizzontale" ("Horizontal direct product") è il modo con
cui questa operazione viene chiamata nel linguaggio di programmazione GAUSS. cui questa operazione viene chiamata nel linguaggio di programmazione GAUSS.
Il suo equivalente in algebra matriciale standard si chiama "prodotto di Il suo equivalente in algebra matriciale standard si chiama "prodotto di
Khatri-Rao per riga". Khatri-Rao per riga".
Esempio: il codice Esempio: il codice
A = {1,2,3; 4,5,6} A = {1,2,3; 4,5,6}
B = {0,1; -1,1} B = {0,1; -1,1}
C = hdprod(A, B) C = hdprod(A, B)
produce la matrice seguente: produce la matrice seguente:
0 1 0 2 0 3 0 1 0 2 0 3
-4 4 -5 5 -6 6 -4 4 -5 5 -6 6
# hfdiff # hfdiff
Risultato: lista Risultato: lista
Argomenti: mlist (lista) Argomenti: mlist (lista)
moltiplicatore (scalare) moltiplicatore (scalare)
Data una "MIDAS list", produce una lista della stessa lunghezza con Data una "MIDAS list", produce una lista della stessa lunghezza con
differenze prime ad alta frequenza. Il secondo argomento, che è opzionale e differenze prime ad alta frequenza. Il secondo argomento, che è opzionale e
1 se omesso, si usa per moltiplicare il risultato per una costante. 1 se omesso, si usa per moltiplicare il risultato per una costante.
skipping to change at line 2515 skipping to change at line 2834
Se x è uno scalare, la funzione restituisce uno scalare; se no, il Se x è uno scalare, la funzione restituisce uno scalare; se no, il
risultato sarà una matrice delle stesse dimensioni di x. risultato sarà una matrice delle stesse dimensioni di x.
# I # I
Risultato: matrice quadrata Risultato: matrice quadrata
Argomento: n (intero) Argomento: n (intero)
Produce la matrice identità con n righe e colonne. Produce la matrice identità con n righe e colonne.
# Im
Risultato: matrice
Argomento: C (matrice complessa)
Ritorna una matrice reale delle stesse dimensioni di C, contenente le parti
immaginarie della matrice in input. Si veda anche "Re".
# imaxc # imaxc
Risultato: vettore riga Risultato: vettore riga
Argomento: X (matrice) Argomento: X (matrice)
Restituisce un vettore contenente gli indici riga dei massimi delle colonne Restituisce un vettore contenente gli indici riga dei massimi delle colonne
di X. Vedi anche "imaxr", "iminc", "maxc". di X. Vedi anche "imaxr", "iminc", "maxc".
# imaxr # imaxr
Risultato: vettore colonna Risultato: vettore colonna
Argomento: X (matrice) Argomento: X (matrice)
skipping to change at line 2591 skipping to change at line 2917
y (serie) y (serie)
Restituisce la posizione di y (a partire dalla prima posizione) nella lista Restituisce la posizione di y (a partire dalla prima posizione) nella lista
L, o 0 se y non è presente in L. L, o 0 se y non è presente in L.
Il secondo argomento può essere il nome di una variabile o il suo Il secondo argomento può essere il nome di una variabile o il suo
identificativo numerico (intero). Se si sa già per certo che una certa identificativo numerico (intero). Se si sa già per certo che una certa
serie (diciamo, pippo) esiste, allora la funzione può essere chiamata serie (diciamo, pippo) esiste, allora la funzione può essere chiamata
così: così:
pos = inlist(L, pippo) pos = inlist(L, pippo)
In questo caso, sarebbe come chiedere "Dimmi la posizione della serie pippo In questo caso, sarebbe come chiedere "Dimmi la posizione della serie pippo
nella lista L (o 0 se non c'è)." Se però non si è certi dell'effettiva nella lista L (o 0 se non c'è)." Se però non si è certi dell'effettiva
esistenza della serie, il nome va fra virgolette, come in esistenza della serie, il nome va fra virgolette, come in
pos = inlist(L, "pippo") pos = inlist(L, "pippo")
In questo caso, invece, sarebbe come chiedere "Se c'è una serie pippo nella In questo caso, invece, sarebbe come chiedere "Se c'è una serie pippo nella
lista L, dimmi a che posto sta, e 0 se non c'è." lista L, dimmi a che posto sta, e 0 se non c'è."
# instring # instring
Risultato: intero Risultato: intero
Argomenti: s1 (stringa) Argomenti: s1 (stringa)
s2 (stringa) s2 (stringa)
Analogo booleano di "strstr": ritorna 1 se s1 contiene s2 e 0 altrimenti. Analogo booleano di "strstr": ritorna 1 se s1 contiene s2 e 0 altrimenti.
L'espressione condizionale L'espressione condizionale
if instring("cattle", "cat") if instring("cattle", "cat")
è logicamente equivalente a è logicamente equivalente a
if strlen(strstr("cattle", "cat")) > 0 if strlen(strstr("cattle", "cat")) > 0
ma più efficiente. ma più efficiente.
# instrings
Risultato: matrice
Argomenti: S (array di stringhe)
test (stringa)
Controlla quali tra gli elementi dell'array di stringhe S siano uguali a
test. Ritorna un vettore colonna di lunghezza pari al numero di
corrispondenze, contenente le posizioni delle corrispondenze all'interno
dell'array, o una matrice vuota in caso di assenza di corrispondenze.
Esempio:
strings S = defarray("A", "B", "C", "B")
eval instrings(S, "B")
2
4
# int # int
Risultato: stesso tipo dell'argomento Risultato: stesso tipo dell'argomento
Argomento: x (scalare, serie o matrice) Argomento: x (scalare, serie o matrice)
Tronca la parte frazionaria di x. Si noti che int e "floor" differiscono in Tronca la parte frazionaria di x. Si noti che int e "floor" differiscono in
termini di risultato sui numeri negativi: int(-3.5) restituisce -3, mentre termini di risultato sui numeri negativi: int(-3.5) restituisce -3, mentre
floor(-3.5) produce -4. Vedi anche "ceil". floor(-3.5) produce -4. Vedi anche "ceil".
# inv # inv
Risultato: matrice Risultato: matrice
skipping to change at line 2748 skipping to change at line 3091
ad esempio set horizon 10. ad esempio set horizon 10.
# irr # irr
Risultato: scalare Risultato: scalare
Argomento: x (serie o vettore) Argomento: x (serie o vettore)
Restituisce il tasso interno di rendimento (Internal Rate of Return) per x, Restituisce il tasso interno di rendimento (Internal Rate of Return) per x,
considerata come una sequenza di pagamenti (valori negativi) e riscossioni considerata come una sequenza di pagamenti (valori negativi) e riscossioni
(valori positivi). Vedi anche "npv". (valori positivi). Vedi anche "npv".
# iscomplex
Risultato: scalare
Argomento: name (stringa)
Ritorna 1 sename è il nome di una matrice complessa, 0 se è il nome di una
matrice reale, o NA altrimenti.
# isconst # isconst
Risultato: intero Risultato: intero
Argomenti: y (serie o vettore) Argomenti: y (serie o vettore)
panel-code (intero, opzionale) panel-code (intero, opzionale)
Quando il secondo argomento (opzionale) non è specificato, produce 1 se y Quando il secondo argomento (opzionale) non è specificato, produce 1 se y
ha un valore costante per il campione corrente (o lungo tutta la sua ha un valore costante per il campione corrente (o lungo tutta la sua
lunghezza se y è un vettore), 0 altrimenti. lunghezza se y è un vettore), 0 altrimenti.
Il secondo argomento è accettato solo nel caso in cui il dataset corrente Il secondo argomento è accettato solo nel caso in cui il dataset corrente
skipping to change at line 2802 skipping to change at line 3152
&year (riferimento a serie) &year (riferimento a serie)
&month (riferimento a serie) &month (riferimento a serie)
&day (riferimento a serie, opzionale) &day (riferimento a serie, opzionale)
Data una variabile date contenente date nel formato "base" ISO 8601 Data una variabile date contenente date nel formato "base" ISO 8601
(YYYYMMDD), questa funzione scrive l'anno, il mese e (opzionale) il giorno (YYYYMMDD), questa funzione scrive l'anno, il mese e (opzionale) il giorno
corrispondenti nella variabile nominata nel secondo e nei successivi corrispondenti nella variabile nominata nel secondo e nei successivi
argomenti. Un esempio, assumendo che la variabile dates contenga valori a 8 argomenti. Un esempio, assumendo che la variabile dates contenga valori a 8
cifre appropriati: cifre appropriati:
series y, m, d series y, m, d
isoconv(dates, &y, &m, &d) isoconv(dates, &y, &m, &d)
Il valore prodotto da questa funzione è 0 se completata con successo, Il valore prodotto da questa funzione è 0 se completata con successo,
non-zero nel caso di errori. non-zero nel caso di errori.
# isocountry # isocountry
Risultato: stesso tipo dell'argomento Risultato: stesso tipo dell'argomento
Argomenti: paese (stringa o array di stringhe) Argomenti: paese (stringa o array di stringhe)
tipo (intero, opzionale) tipo (intero, opzionale)
Questa funzione fornisce corrispondenze fra i quattro modi possibili di Questa funzione fornisce corrispondenze fra i quattro modi possibili di
skipping to change at line 2882 skipping to change at line 3232
stesso tipo di ed -- è un numero a 8 cifre, o una serie di tali numeri, del stesso tipo di ed -- è un numero a 8 cifre, o una serie di tali numeri, del
tipo YYYYMMDD (formato "base" ISO 8601), che fornisce la data di calendario tipo YYYYMMDD (formato "base" ISO 8601), che fornisce la data di calendario
corrispondente al giorno epoch. corrispondente al giorno epoch.
Se ed è uno scalare (solo) e il secondo argomento opzionale as-string è Se ed è uno scalare (solo) e il secondo argomento opzionale as-string è
diverso da zero, il risultato non è numerico ma una stringa del tipo diverso da zero, il risultato non è numerico ma una stringa del tipo
YYYY-MM-DD (formato ISO 8601 "esteso"). YYYY-MM-DD (formato ISO 8601 "esteso").
Per la funzione inversa, si veda "epochday". Per la funzione inversa, si veda "epochday".
# isoweek
Risultato: vedi sotto
Argomenti: anno (scalare o serie)
mese (scalare o serie)
giorno (scalare o serie)
Ritornal il numero di settimana secondo lo standard ISO 8601, corrispondente
alla data specificata nei tre argomenti, o NA se la data non è valida. Si
noti che tutti e tre gli argomenti devono essere dello stesso tipo, cioè
scalari (interi) oppure serie.
Le settimane ISO sono numerate da 01 a 53; per lo più, ogni anno ne ha 52,
ma su 400 un certo numero (in media 71) ne ha 53. Secondo la definizione ISO
8601, la settimana 01 è quella che contiene il primo giovedì dell'anno,
secondo il calendario gregoriano. Per maggiorni dettagli, si veda
https://en.wikipedia.org/wiki/ISO_week_date.
# iwishart # iwishart
Risultato: matrice Risultato: matrice
Argomenti: S (matrice simmetrica) Argomenti: S (matrice simmetrica)
v (intero) v (intero)
Data S (una matrice positiva definita p x p), restituisce un'estrazione Data S (una matrice positiva definita p x p), restituisce un'estrazione
dalla distribuzione inversa di Wishart con v gradi di libertà. La matrice dalla distribuzione inversa di Wishart con v gradi di libertà. La matrice
che ne risulta è anch'essa p x p. Utilizza l'algoritmo di Odell e Feiveson che ne risulta è anch'essa p x p. Utilizza l'algoritmo di Odell e Feiveson
(1966). (1966).
skipping to change at line 3453 skipping to change at line 3820
La matrice prodotta è data dalla somma per j che va da -p a p di w(|j|) * La matrice prodotta è data dalla somma per j che va da -p a p di w(|j|) *
X(t)X(t-j)' * u(t)u(t-j), dove X(t)' è la t-esima riga di X. X(t)X(t-j)' * u(t)u(t-j), dove X(t)' è la t-esima riga di X.
sum_{j=-p}^p sum_j w_{|j|} (X_t' u_t u_{t-j} X_{t-j}) sum_{j=-p}^p sum_j w_{|j|} (X_t' u_t u_{t-j} X_{t-j})
Se u è specificato come null il termine u è omesso, e se w è null tutti i Se u è specificato come null il termine u è omesso, e se w è null tutti i
pesi sono considerati pari a 1.0. pesi sono considerati pari a 1.0.
Ad esempio, il seguente frammento di codice Ad esempio, il seguente frammento di codice
set seed 123 set seed 123
X = mnormal(6,2) X = mnormal(6,2)
Lag = mlag(X,1) Lag = mlag(X,1)
Lead = mlag(X,-1) Lead = mlag(X,-1)
print X Lag Lead print X Lag Lead
eval X'X eval X'X
eval mcovg(X, , , 0) eval mcovg(X, , , 0)
eval X'(X + Lag + Lead) eval X'(X + Lag + Lead)
eval mcovg(X, , , 1) eval mcovg(X, , , 1)
produce produce
X (6 x 2) X (6 x 2)
-0.76587 -1.0600 -0.76587 -1.0600
-0.43188 0.30687 -0.43188 0.30687
-0.82656 0.40681 -0.82656 0.40681
0.39246 0.75479 0.39246 0.75479
0.36875 2.5498 0.36875 2.5498
0.28855 -0.55251 0.28855 -0.55251
Lag (6 x 2) Lag (6 x 2)
0.0000 0.0000 0.0000 0.0000
-0.76587 -1.0600 -0.76587 -1.0600
-0.43188 0.30687 -0.43188 0.30687
-0.82656 0.40681 -0.82656 0.40681
0.39246 0.75479 0.39246 0.75479
0.36875 2.5498 0.36875 2.5498
Lead (6 x 2) Lead (6 x 2)
-0.43188 0.30687 -0.43188 0.30687
-0.82656 0.40681 -0.82656 0.40681
0.39246 0.75479 0.39246 0.75479
0.36875 2.5498 0.36875 2.5498
0.28855 -0.55251 0.28855 -0.55251
0.0000 0.0000 0.0000 0.0000
1.8295 1.4201 1.8295 1.4201
1.4201 8.7596 1.4201 8.7596
1.8295 1.4201 1.8295 1.4201
1.4201 8.7596 1.4201 8.7596
3.0585 2.5603 3.0585 2.5603
2.5603 10.004 2.5603 10.004
3.0585 2.5603 3.0585 2.5603
2.5603 10.004 2.5603 10.004
# mean # mean
Risultato: scalare o serie Risultato: scalare o serie
Argomento: x (serie o lista) Argomento: x (serie o lista)
Se x è una variabile, restituisce la media campionaria (scalare) calcolata Se x è una variabile, restituisce la media campionaria (scalare) calcolata
non considerando le osservazioni mancanti (se presenti). non considerando le osservazioni mancanti (se presenti).
Se x è una lista, produce una variabile y tale che y_t è la media dei Se x è una lista, produce una variabile y tale che y_t è la media dei
valori delle variabili nella lista per l'osservazione t, o NA se ci sono valori delle variabili nella lista per l'osservazione t, o NA se ci sono
skipping to change at line 3648 skipping to change at line 4015
series s = mlincomb(hfvars, theta, 2) series s = mlincomb(hfvars, theta, 2)
è equivalente a è equivalente a
matrix w = mweights(nelem(hfvars), theta, 2) matrix w = mweights(nelem(hfvars), theta, 2)
series s = lincomb(hfvars, w) series s = lincomb(hfvars, w)
ma l'uso di mlincomb rende il codice più snello e marginalmente più ma l'uso di mlincomb rende il codice più snello e marginalmente più
efficiente. efficiente.
# mlog
Risultato: matrice quadrata
Argomento: A (matrice quadrata)
Calcola il logaritmo matriciale di A. L'algoritmo utilizzato si basa sulla
decomposizione spettrale, la quale richiede cheAsia diagonalizzabile. Si
veda anche "mexp".
# mnormal # mnormal
Risultato: matrice Risultato: matrice
Argomenti: r (intero) Argomenti: r (intero)
c (intero) c (intero)
Restituisce una matrice di r righe e c colonne, contenene numeri Restituisce una matrice di r righe e c colonne, contenene numeri
pseudocasuali generati da una normale standardizzata. Vedi anche "normal", pseudocasuali generati da una normale standardizzata. Vedi anche "normal",
"muniform". "muniform".
# mols # mols
skipping to change at line 3681 skipping to change at line 4056
una sola colonna, o (b) X'X^-1 se Y ha più colonne. una sola colonna, o (b) X'X^-1 se Y ha più colonne.
Di default, le stime sono ottenute usando una scomposizione di Cholesky, Di default, le stime sono ottenute usando una scomposizione di Cholesky,
ricorrendo alla scomposizione QR se le colonne di X sono quasi collineari. ricorrendo alla scomposizione QR se le colonne di X sono quasi collineari.
E' possibile imporre l'uso della scomposizione SVD usando il comando set svd E' possibile imporre l'uso della scomposizione SVD usando il comando set svd
on. on.
Vedi anche "mpols", "mrls". Vedi anche "mpols", "mrls".
# monthlen # monthlen
Risultato: intero Risultato: stesso tipo dell'argomento
Argomenti: mese (intero) Argomenti: mese (scalare o serie)
anno (intero) anno (scalare o serie)
gioset (intero) gioset (intero)
Restituisce il numero di giorni (rilevanti) in un dato mese e anno; Restituisce il numero di giorni (rilevanti) in un dato mese e anno;
l'argomento gioset può essere 5, 6 o 7, e indica il numero di giorni nella l'argomento gioset può essere 5, 6 o 7, e indica il numero di giorni nella
settimana da contare (il 6 omette le domeniche, il 5 anche i sabati). settimana da contare (il 6 omette le domeniche, il 5 anche i sabati).
Ad esempio: se si ha un dataset mensile aperto, l'istruzione
series wd = monthlen($obsminor, $obsmajor, 5)
produrrà una serie contenente il numero di giorni lavorativi per ciascun
mese nel campione.
# movavg # movavg
Risultato: serie Risultato: serie
Argomenti: x (serie) Argomenti: x (serie)
p (scalare) p (scalare)
control (intero, opzionale) control (intero, opzionale)
A seconda del parametro p, calcola una media mobile semplice o con pesi A seconda del parametro p, calcola una media mobile semplice o con pesi
esponenziali della variabile input x. esponenziali della variabile input x.
Se p > 1, viene calcolata una media mobile semplice a p termini; in altre Se p > 1, viene calcolata una media mobile semplice a p termini; in altre
skipping to change at line 3717 skipping to change at line 4099
y(t) = p*x(t) + (1-p)*y(t-1) y(t) = p*x(t) + (1-p)*y(t-1)
Di default la variabile risultato, y, è inizializzata usando il primo Di default la variabile risultato, y, è inizializzata usando il primo
valore valido di x, ma il parametro control può essere usato per valore valido di x, ma il parametro control può essere usato per
specificare il numero di osservazioni iniziali che dovrebbero essere incluse specificare il numero di osservazioni iniziali che dovrebbero essere incluse
nella media usata per calcolare y(0). Un valore nullo di control indica che nella media usata per calcolare y(0). Un valore nullo di control indica che
dovrebbero essere usate tutte le osservazioni. In alternativa, si può dovrebbero essere usate tutte le osservazioni. In alternativa, si può
specificare un valore iniziale con l'argomento opzionale y0; in tal caso, specificare un valore iniziale con l'argomento opzionale y0; in tal caso,
l'argomento control viene ignorato. l'argomento control viene ignorato.
# mpiallred
Risultato: intero
Argomenti: &object (riferimento all'oggetto)
op (stringa)
Disponibile solo se gretl è in modalità MPI (si veda gretl + MPI). Deve
essere chiamata da tutti i processi. Questa funzione funziona come
"mpireduce" ad eccezione del fatto che tutti i processi, non solamente il
processo root, ottengono una copia dell'oggetto "ridotto" al posto
dell'originale. E' quindi equivalente a mpireduce seguito da "mpibcast", ma
più efficiente.
# mpibarrier
Risultato: intero
Disponibile solo se gretl è in modalità MPI (si vedagretl + MPI). Non
richiede argomenti. Rafforza la sincronizzazione dei processi MPI: nessun
processo può superare la barriera se non è stata raggiunta da tutti gli
altri.
# nessuno supera questo punto finchè tutti non sono qui
mpibarrier()
# mpibcast
Risultato: intero
Argomenti: &object (riferimento all'oggetto)
root (intero, opzionale)
Disponibile solo se gretl è in modalità MPI (si vedagretl + MPI). Deve
essere chiamata da tutti i processi. Trasmette l'argomento object, che deve
essere dato in forma di puntatore, a tutti i processi. L'oggetto in
questione deve essere una matrice, un bundle, vettore o scalare, dichiarato
in tutti i processi precedentemente alla trasmissione. Nessun processo può
proseguire oltre una chiamata a mpibcastfinchè tutti i processi non
l'abbiano eseguita correttamente.
Di default "root", la sorgente della trasmissione, è il processo MPI con
rango 0, ma quasto può essere modificato tramite il secondo argomento
(opzionale), il quale deve essere un intero compreso tra 0 e il numero dei
processi MPI meno 1.
Di seguito un semplice esempio. Se la funzione svolge il suo compito con
successo, ogni processo avrà una copia della matriceX definita dal processo
a rango 0.
matrix X
if $mpirank == 0
X = mnormal(T, k)
endif
mpibcast(&X)
# mpirecv
Risultato: oggetto
Argomento: src (intero)
Disponibile solo se gretl è in modalità MPI (si vedagretl + MPI). Si veda
"mpisend", con la quale mpirecv deve in ogni caso essere accoppiata, per una
spiegazione. L'argomento src specifica il rango del processo dal quale
l'oggetto deve essere ricevuto, all'interno dell'intervallo che va da 0 al
numero dei procesi MPI meno 1.
# mpireduce
Risultato: intero
Argomenti: &object (riferimento all'oggetto)
op (stringa)
root (intero, opzionale)
Disponibile solo se gretl è in modalità MPI (si vedagretl + MPI). Deve
essere chiamata da tutti i processi. questa funzione raccoglie oggetti (solo
scalari o matrici) dal nome specifico,dati in forma di puntatore, da tutti i
processi e li "riduce" in un singolo oggetto al nodo root.
L'argomento op specifica l'operazione o metodo di riduzione. I metodi
supportati per gli scalari sono sum, prod (prodotto), max e min. Per le
matrici i metodi sono sum, prod (prodotto di Hadamard), hcat (concanetazione
orizzontale) e vcat (concanetazione verticale).
Di default "root", il destinatario della riduzione, è il processo MPI con
rango 0, ma questo può essere modificato tramite il terzo argomento
(opzionale), il quale deve essere un intero compreso tra 0 e il numero dei
processi MPI meno 1.
Di seguito un esempio. Se la funzione svolge il suo compito con successo, il
processo root avrà una matrice X che è la somma delle matrici X di tutti i
processi.
matrix X
X = mnormal(T, k)
mpireduce(&X, sum)
# mpiscatter
Risultato: intero
Argomenti: &M (riferimento a matrice)
op (stringa)
root (intero, opzionale)
Disponibile solo quando retl è in modalità MPI (si veda gretl + MPI). Deve
essere chiamata da tutti i processi. Questa funzione distribuisce parti di
una matrice nel processo root di tutti i processi. La matrice deve essere
dichiarata in tutti i processi prima della chiamat di mpiscatter, e deve
essere data in forma di puntatore.
L'argomento op deve essere byrows oppure bycols. Sia q il quoziente tra il
numero di righe della matrice da dividere e il numero di processi. Nel caso
byrows la root mandale prime q righe al processo 0, le successive q al
processo 1, e così via. Se c'è un resto all divisione delle righe, esso è
assegnato all'ultimo allocamento. Il caso bycols è analogo ma la matrice si
divide per colonne.
Di seguito un esempio. Se ci sono 4 processi, ognuno (root incluso)
riceverà una parte 2500 x 10 dell'originale X così come era definita nel
processo root. Se si vuole preservare l'intera matrice nel processo root è
necessario crearne una copia prima d chiamare mpiscatter.
matrix X
if $mpirank == 0
X = mnormal(10000, 10)
endif
mpiscatter(&X, byrows)
# mpisend
Risultato: intero
Argomenti: object (oggetto)
dest (intero)
Disponibile solo quando retl è in modalità MPI (si veda gretl + MPI).
Manda l'oggetto nominato (che deve essere una matrice, bundle, vettore o
scalare) dal processo corrente a quello identificato dall'intero dest (da 0
al numero di processi MPI meno 1).
L chiamata di questa funzione deve essere sempre accoppiata con una chiamata
a "mpirecv" nel processo dest, come nel seguente esempio che manda una
matrice dal rango2 al rango 3.
if $mpirank == 2
matrix C = cholesky(A)
mpisend(C, 3)
elif $mpirank == 3
matrix C = mpirecv(2)
endif
# mpols # mpols
Risultato: matrice Risultato: matrice
Argomenti: Y (matrice) Argomenti: Y (matrice)
X (matrice) X (matrice)
&U (riferimento a matrice, o null) &U (riferimento a matrice, o null)
Funziona esattamente come "mols", tranne che i calcoli sono effettuati in Funziona esattamente come "mols", tranne che i calcoli sono effettuati in
precisione multipla usando la libreria GMP. precisione multipla usando la libreria GMP.
Di default GMP usa 256 bit per ogni numero a virgola mobile, ma questa Di default GMP usa 256 bit per ogni numero a virgola mobile, ma questa
skipping to change at line 3760 skipping to change at line 4283
di 50 elementi, mentre il secondo specifica una matrice casuale 20 x 20 con di 50 elementi, mentre il secondo specifica una matrice casuale 20 x 20 con
elementi tratti dalla distribuzione t con 14 gradi di libertà. elementi tratti dalla distribuzione t con 14 gradi di libertà.
Vedi anche "mnormal", "muniform". Vedi anche "mnormal", "muniform".
# mread # mread
Risultato: matrice Risultato: matrice
Argomenti: nomefile (stringa) Argomenti: nomefile (stringa)
import (booleano, opzionale) import (booleano, opzionale)
Legge una matrice da un file di nome nomefile. Se questo nome ha estensione Legge una matrice da un file di nome nomefile. Questa funzione è
".gz", si assume che il file sia stato creato con compressione gzip; se principalmente dedicata a leggere file con un formato specifico, descritto
invece ha estensione ".bin", si assume che il file sia in formato binario sotto, ma può anche essere usata per generici file di testo con
(vedi "mwrite" per dettagli). Altrimenti, si intende che il file sia di delimitatori. Per quetso secondo caso, si veda sotto a "File di testo
testo, conforme alla seguenti specifiche: delimitati".
Se il file ha estensione ".gz", si assume che il file sia stato creato con
compressione gzip; se invece ha estensione ".bin", si assume che il file sia
in formato binario (vedi "mwrite" per dettagli). Altrimenti, si intende che
il file sia di testo, conforme alla seguenti specifiche:
Il file in questione può iniziare con un numero di commenti qualsiasi, Il file in questione può iniziare con un numero di commenti qualsiasi,
definiti come linee che iniziano con il carattere #; queste linee sono definiti come linee che iniziano con il carattere #; queste linee sono
ignorate. ignorate.
La prima riga non commentata deve contenere due interi, separati da uno La prima riga non commentata deve contenere due interi, separati da uno
spazio o un tabulatore, che indicano rispettivamente il numero di righe e spazio o un tabulatore, che indicano rispettivamente il numero di righe e
di colonne. di colonne.
Il separatore decimale deve essere il punto, ".". Il separatore decimale deve essere il punto, ".".
Se il nome di file non contiene un percorso completo, il file verrà cercato Se il nome di file non contiene un percorso completo, il file verrà cercato
in varie sottodirectory "probabili" a partire dal valore corrente di in varie sottodirectory "probabili" a partire dal valore corrente di
"workdir". Se però viene indicato un valore non nullo per l'argomento "workdir". Se però viene indicato un valore non nullo per l'argomento
opzionale import, la ricerca del file di input avviene all'interno della opzionale import, la ricerca del file di input avviene all'interno della
directory "dot" dell'utente. Questa funzione è pensata per essere usata in directory "dot" dell'utente. Questa funzione è pensata per essere usata in
combinazione con le funzioni che esportano matrici illustrate nel contesto combinazione con le funzioni che esportano matrici illustrate nel contesto
del comando "foreign". In questo caso l'argomento fname dovrebbe essere del comando "foreign". In questo caso l'argomento fname dovrebbe essere
semplicemente un nome di file, senza indicazione del percorso. semplicemente un nome di file, senza indicazione del percorso.
File di testo delimitati
Se il file ha estensione ".csv", la funzione opera in modo completamente
diverso, e più flessibile. In questo caso, i dati non devono essere
preceduti dalla linea contenete i numeri di righe e di colonne. Gretl
cercherà di capire quale delimitatore viene usato (virgola, punto e virgola
o spazio --- mamma mia, sembra Totò e Peppino) con regole euristiche e
cercherà di importare la matrice usando la virgola come separatore decimale
se necessario. Si noti che il delimitatore non può essere la tabulazione,
per evitare confusioni col formato "nativo" di gretl.
Vedi anche "bread", "mwrite". Vedi anche "bread", "mwrite".
# mreverse # mreverse
Risultato: matrice Risultato: matrice
Argomento: X (matrice) Argomento: X (matrice)
Restituisce una matrice contenente le righe di X in ordine inverso. Per Restituisce una matrice contenente le righe di X in ordine inverso. Per
ottenere una matrice in cui le colonne di X appaiano in ordine inverso si ottenere una matrice in cui le colonne di X appaiano in ordine inverso si
usi: usi:
matrix Y = mreverse(X')' matrix Y = mreverse(X')'
# mrls # mrls
Risultato: matrice Risultato: matrice
Argomenti: Y (matrice) Argomenti: Y (matrice)
X (matrice) X (matrice)
R (matrice) R (matrice)
q (vettore colonna) q (vettore colonna)
&U (riferimento a matrice, o null) &U (riferimento a matrice, o null)
&V (riferimento a matrice, o null) &V (riferimento a matrice, o null)
skipping to change at line 3844 skipping to change at line 4383
# msortby # msortby
Risultato: matrice Risultato: matrice
Argomenti: X (matrice) Argomenti: X (matrice)
j (intero) j (intero)
Restituisce una matrice nella quale le righe di X sono riordinate per valore Restituisce una matrice nella quale le righe di X sono riordinate per valore
crescente degli elementi nella colonna j. Il riordinamento è stabile: le crescente degli elementi nella colonna j. Il riordinamento è stabile: le
righe che contengono lo stesso valore nella colonna j mantengono righe che contengono lo stesso valore nella colonna j mantengono
l'ordinamento relativo preesistente. l'ordinamento relativo preesistente.
# msplitby
Risultato: array di matrici
Argomenti: X (matrice)
v (vettore)
Ritorna un array di matrici, il risultato della divisione verticale di X
sotto il controllo del vettore v. Questo vettore deve essere di lunghezza
uguale alla dimensione delle righe di X, e dovrà contenere valori interi
pari minimo ad 1 e un massimo pari al numero di matrici nel vettore
desiderato. Ogni elemento di v indica l'indice vettoriale della matrice al
quale la corrispondente riga di X dovrà essere assegnata.
Nel seguente esempio si divide una matrice 3 x 3 in tre matrici: le prime
due righe sono assegnate alla prima matrice; la seconda matrice è lasciata
vuota; e la terza matrice riceve righa 3 diX.
matrix X = {1,2,3; 4,5,6; 7,8,9}
matrices M = msplitby(X, {1,1,3})
print M
La frase stampata recita:
Vettore di marici, lunghezza 3
[1] 2 x 3
[2] null
[3] 1 x 3
Si "flatten" per l'operazione inversa.
# muniform # muniform
Risultato: matrice Risultato: matrice
Argomenti: r (intero) Argomenti: r (intero)
c (intero) c (intero)
Restituisce una matrice di r righe e c colonne contenente numeri Restituisce una matrice di r righe e c colonne contenente numeri
pseudocasuali estratti da una uniforme (0,1). Nota: per generare uno scalare pseudocasuali estratti da una uniforme (0,1). Nota: per generare uno scalare
pseudocasuale uniforme è consigliabile usare la funzione "randgen1". pseudocasuale uniforme è consigliabile usare la funzione "randgen1".
Vedi anche "mnormal", "uniform". Vedi anche "mnormal", "uniform".
skipping to change at line 4039 skipping to change at line 4607
# nlines # nlines
Risultato: scalare Risultato: scalare
Argomento: buf (stringa) Argomento: buf (stringa)
Ritorna un conteggio delle linee di testo complete (ossia, linee che Ritorna un conteggio delle linee di testo complete (ossia, linee che
terminano con un carattere di "a capo") nel buffer buf. terminano con un carattere di "a capo") nel buffer buf.
Ad esempio: Ad esempio:
string web_page = readfile("http://gretl.sourceforge.net/") string web_page = readfile("http://gretl.sourceforge.net/")
scalar number = nlines(web_page) scalar number = nlines(web_page)
print number print number
# NMmax # NMmax
Risultato: scalare Risultato: scalare
Argomenti: &b (riferimento a matrice) Argomenti: &b (riferimento a matrice)
f (chiamata a funzione) f (chiamata a funzione)
maxfeval (intero, opzionale) maxfeval (intero, opzionale)
Massimizzazione numerica col metodo del simplesso di Nelder-Mead (ameba). In Massimizzazione numerica col metodo del simplesso di Nelder-Mead (ameba). In
ingresso, il vettore b contiene i valori iniziali di un insieme di ingresso, il vettore b contiene i valori iniziali di un insieme di
parametri, mentre la stringa s deve specificare la chiamata a una funzione parametri, mentre la stringa s deve specificare la chiamata a una funzione
skipping to change at line 4205 skipping to change at line 4773
singolari (SVD); il risultato è una matrice B tale che il prodotto AB è singolari (SVD); il risultato è una matrice B tale che il prodotto AB è
una matrice nulla, tranne quando A è di rango colonna pieno, caso in cui una matrice nulla, tranne quando A è di rango colonna pieno, caso in cui
viene restituita una matrice vuota. In caso contrario, se A è m x n, B viene restituita una matrice vuota. In caso contrario, se A è m x n, B
sarà n per (n - r), dove r è il rango di A. sarà n per (n - r), dove r è il rango di A.
Se il rango colonna di A non è pieno, la concatenazione verticale di A e B Se il rango colonna di A non è pieno, la concatenazione verticale di A e B
trasposto produce una matrice di rango pieno. trasposto produce una matrice di rango pieno.
Esempio: Esempio:
A = mshape(seq(1,6),2,3) A = mshape(seq(1,6),2,3)
B = nullspace(A) B = nullspace(A)
C = A | B' C = A | B'
print A B C print A B C
eval A*B eval A*B
eval rank(C) eval rank(C)
produce produce
? print A B C ? print A B C
A (2 x 3) A (2 x 3)
1 3 5 1 3 5
2 4 6 2 4 6
B (3 x 1) B (3 x 1)
-0.5 -0.5
1 1
-0.5 -0.5
C (3 x 3) C (3 x 3)
1 3 5 1 3 5
2 4 6 2 4 6
-0.5 1 -0.5 -0.5 1 -0.5
? eval A*B ? eval A*B
-4.4409e-16 -4.4409e-16
-4.4409e-16 -4.4409e-16
? eval rank(C) ? eval rank(C)
3 3
Vedi anche "rank", "svd". Vedi anche "rank", "svd".
# numhess # numhess
Risultato: matrice Risultato: matrice
Argomenti: b (vettore colonna) Argomenti: b (vettore colonna)
fcall (chiamata a funzione) fcall (chiamata a funzione)
d (scalare, opzionale) d (scalare, opzionale)
Calcola un'approssimazione numerica alla matrice hessiana della funzione Calcola un'approssimazione numerica alla matrice hessiana della funzione
skipping to change at line 4293 skipping to change at line 4861
# obsnum # obsnum
Risultato: intero Risultato: intero
Argomento: s (stringa) Argomento: s (stringa)
Restituisce un intero corrispondente all'osservazione specificata dalla Restituisce un intero corrispondente all'osservazione specificata dalla
stringa s. Si noti che il risultato è invariante al sottocampionamento. stringa s. Si noti che il risultato è invariante al sottocampionamento.
Questa funzione è particolarmente utile con campioni di serie storiche. Ad Questa funzione è particolarmente utile con campioni di serie storiche. Ad
esempio, il codice esempio, il codice
open denmark open denmark
k = obsnum(1980:1) k = obsnum(1980:1)
produce k = 25, ciò che indica che il primo trimestre 1980 è la produce k = 25, ciò che indica che il primo trimestre 1980 è la
venticinquesima osservazione nel dataset denmark. venticinquesima osservazione nel dataset denmark.
Vedi anche "obs", "obslabel". Vedi anche "obs", "obslabel".
# ok # ok
Risultato: vedi sotto Risultato: vedi sotto
Argomento: x (scalare, serie, matrice o lista) Argomento: x (scalare, serie, matrice o lista)
skipping to change at line 4832 skipping to change at line 5400
Vedi anche "mrandgen". Vedi anche "mrandgen".
# randint # randint
Risultato: intero Risultato: intero
Argomenti: min (intero) Argomenti: min (intero)
max (intero) max (intero)
Restituisce un numero pseudo-casuale intero nell'intervallo chiuso [min, Restituisce un numero pseudo-casuale intero nell'intervallo chiuso [min,
max]. Vedi anche "randgen". max]. Vedi anche "randgen".
# randperm
Risultato: vettore
Argomenti: n (intero)
k (intero, opzionale)
Se è dato solo il primo argomento, ritorna un vettore riga contenente una
permutazione casuale degli interi da 1 a n, senza ripetizione degli
elementi. Se il secondo argomento non è omesso, deve essere un intero
nell'intervallo da 1 a n; in questo caso la funzione ritorna un vettore riga
contenente k interi selezionati casualmente da 1 a n senza sostituzione.
Se si desidera campionare k righe da una matrice X con n righe (senza
sostituzione), ciò può essere ottenuto come mostrato di seguito:
matrix S = X[randperm(n, k),]
E se si desidera conservare l'ordine originale delle righe nel campione:
matrix S = X[sort(randperm(n, k)),]
Si veda "resample" per il campionamento con sostituzione.
# rank # rank
Risultato: intero Risultato: intero
Argomento: X (matrice) Argomento: X (matrice)
Restituisce il rango di X, calcolato numericamente mediante la scomposizione Restituisce il rango di X, calcolato numericamente mediante la scomposizione
a valori singolari (SVD). Vedi anche "svd". a valori singolari (SVD). Vedi anche "svd".
# ranking # ranking
Risultato: stesso tipo dell'argomento Risultato: stesso tipo dell'argomento
Argomento: y (serie o vettore) Argomento: y (serie o vettore)
skipping to change at line 4866 skipping to change at line 5456
Restituisce il reciproco del numero di condizionamento di A rispetto alla Restituisce il reciproco del numero di condizionamento di A rispetto alla
norma-1. In molte circostanze, questa grandezza è migliore del determinante norma-1. In molte circostanze, questa grandezza è migliore del determinante
come misura di sensibilità di A a operazioni numeriche come l'inversione. come misura di sensibilità di A a operazioni numeriche come l'inversione.
Il valore è calcolato come il reciproco del prodotto della norma-1 di A per Il valore è calcolato come il reciproco del prodotto della norma-1 di A per
la norma-1 dell'inversa di A. la norma-1 dell'inversa di A.
Vedi anche "det", "ldet", "onenorm". Vedi anche "det", "ldet", "onenorm".
# Re
Risultato: matrice
Argomento: C (matrice complessa)
Ritorna una matrice reale delle stesse dimensioni di C, contenente la parte
reale della matrice. Si veda anche "Im".
# readfile # readfile
Risultato: stringa Risultato: stringa
Argomenti: fname (stringa) Argomenti: fname (stringa)
codeset (stringa, opzionale) codeset (stringa, opzionale)
Se un file di nome fname esiste ed è leggibile, restituisce una stringa con Se un file di nome fname esiste ed è leggibile, restituisce una stringa con
il contenuto del file. In caso contrario restituisce un errore. il contenuto del file. In caso contrario restituisce un errore.
Nel caso in cui fname inizia con l'identificatore di un protocollo internet Nel caso in cui fname inizia con l'identificatore di un protocollo internet
supportato (http://, ftp://, https://), la funzione richiama libcurl per supportato (http://, ftp://, https://), la funzione richiama libcurl per
skipping to change at line 4888 skipping to change at line 5485
Se il testo da leggere non ha una codifica UTF-8, gretl cerca di Se il testo da leggere non ha una codifica UTF-8, gretl cerca di
ricodificarlo a partire dalla codifica locale, nel caso non sia UTF-8, o da ricodificarlo a partire dalla codifica locale, nel caso non sia UTF-8, o da
ISO-8859-15 in caso contrario. Se questo comportamento predefinito non si ISO-8859-15 in caso contrario. Se questo comportamento predefinito non si
adatta alle vostre esigenze è possibile utilizzare il secondo argomento adatta alle vostre esigenze è possibile utilizzare il secondo argomento
opzionale per specificare la codifica. Per esempio, nel caso si desideri opzionale per specificare la codifica. Per esempio, nel caso si desideri
leggere un testo nella codifica Microsoft codepage 1251, diversa dal sistema leggere un testo nella codifica Microsoft codepage 1251, diversa dal sistema
in uso in locale, è possibile fornire come secondo argomento "cp1251". in uso in locale, è possibile fornire come secondo argomento "cp1251".
Esempi: Esempi:
string web_page = readfile("http://gretl.sourceforge.net/") string web_page = readfile("http://gretl.sourceforge.net/")
print web_page print web_page
string current_settings = readfile("@dotdir/.gretl2rc") string current_settings = readfile("@dotdir/.gretl2rc")
print current_settings print current_settings
Si vedano anche le funzioni "sscanf" e "getline". Si vedano anche le funzioni "sscanf" e "getline".
# regsub # regsub
Risultato: stringa Risultato: stringa
Argomenti: s (stringa) Argomenti: s (stringa)
match (stringa) match (stringa)
repl (stringa) repl (stringa)
Restituisce una copia di s in cui tutte le occorrenze del tipo match sono Restituisce una copia di s in cui tutte le occorrenze del tipo match sono
skipping to change at line 4947 skipping to change at line 5544
Esempio: Esempio:
a = {1,2,3;3,4,5} a = {1,2,3;3,4,5}
find = {1,3,4} find = {1,3,4}
subst = {-1,-8, 0} subst = {-1,-8, 0}
b = replace(a, find, subst) b = replace(a, find, subst)
print a b print a b
genera genera
a (2 x 3) a (2 x 3)
1 2 3 1 2 3
3 4 5 3 4 5
b (2 x 3) b (2 x 3)
-1 2 -8 -1 2 -8
-8 0 5 -8 0 5
# resample # resample
Risultato: stesso tipo dell'argomento Risultato: stesso tipo dell'argomento
Argomenti: x (serie o matrice) Argomenti: x (serie o matrice)
b (intero, opzionale) b (intero, opzionale)
La descrizione iniziale di questa funzione pertiene al caso cross-sezionale La descrizione iniziale di questa funzione pertiene al caso cross-sezionale
o di serie storiche; per il caso di dati panel, vedi più sotto. o di serie storiche; per il caso di dati panel, vedi più sotto.
Ricampiona da x con reintroduzione. Nel caso in cui l'argomento sia una Ricampiona da x con reintroduzione. Nel caso in cui l'argomento sia una
skipping to change at line 5036 skipping to change at line 5633
una lista, i nomi sono copiati da quelli delle variabili; la lista deve una lista, i nomi sono copiati da quelli delle variabili; la lista deve
avere tanti elementi quante sono le righe di M. Se S è un array di avere tanti elementi quante sono le righe di M. Se S è un array di
stringhe, deve contenere k elementi; se invece è una sola stringa, deve stringhe, deve contenere k elementi; se invece è una sola stringa, deve
contenere k sub-stringhe separate da spazi. contenere k sub-stringhe separate da spazi.
Restituisce 0 se la funzione è andata a buon fine, non-zero altrimenti. Si Restituisce 0 se la funzione è andata a buon fine, non-zero altrimenti. Si
veda anche "colnames". veda anche "colnames".
Esempio: Esempio:
matrix M = {1,2;2,1;4,1} matrix M = {1,2;2,1;4,1}
rownames(M, "Row1 Row2 Row3") rownames(M, "Row1 Row2 Row3")
print M print M
# rows # rows
Risultato: intero Risultato: intero
Argomento: X (matrice) Argomento: X (matrice)
Restituisce il numero di righe della matrice X. Vedi anche "cols", "mshape", Restituisce il numero di righe della matrice X. Vedi anche "cols", "mshape",
"unvech", "vec", "vech". "unvech", "vec", "vech".
# schur
Risultato: matrice complessa
Argomenti: A (matrice complessa)
&Z (riferimento a matrice, o null)
&w (riferimento a matrice, o null)
Esegue la decomposizione di Schur della matrice complessa A, ritornando una
matrice complessa triangolare alta T. Se è inserito il secondo argomento ed
esso non è null la funzione ritorna una matrice complessa Z contenente i
vettori di Schur associati ad A e T, tale che A = ZTZ^H. Se è inserito un
terzo argomento ritorna gli autovalori di A in un vettore colonna complesso.
# sd # sd
Risultato: scalare o serie Risultato: scalare o serie
Argomento: x (serie o lista) Argomento: x (serie o lista)
Se x è una variabile, restituisce l'errore quadratico medio campionario Se x è una variabile, restituisce l'errore quadratico medio campionario
(scalare) saltando i valori mancanti. (scalare) saltando i valori mancanti.
Se, invece, x è una lista, restituisce una variabile y tale per cui y_t è Se, invece, x è una lista, restituisce una variabile y tale per cui y_t è
l'errore quadratico medio delle variabili nella lista all'osservazione t, o l'errore quadratico medio delle variabili nella lista all'osservazione t, o
NA se ci sono dei valori mancanti t. NA se ci sono dei valori mancanti t.
skipping to change at line 5337 skipping to change at line 5946
serie risultato potrebbero venir troncati se troppo lunghi, e aggiustati per serie risultato potrebbero venir troncati se troppo lunghi, e aggiustati per
evitare duplicazioni. evitare duplicazioni.
# sscanf # sscanf
Risultato: intero Risultato: intero
Argomenti: src (stringa) Argomenti: src (stringa)
format (stringa) format (stringa)
... (vedi sotto) ... (vedi sotto)
Legge valori da src seguendo il formato format e assegna questi valori a uno Legge valori da src seguendo il formato format e assegna questi valori a uno
o più degli argomenti seguenti, rappresentati dai punti. Restituisce il o più degli q argomenti seguenti, rappresentati dai punti. Restituisce il
numero di valori assegnati. Questa funzione rappresenta una versione numero di valori assegnati. Questa funzione rappresenta una versione
semplificata della funzione sscanf usata nel linguaggio di programmazione C. semplificata della funzione sscanf usata nel linguaggio di programmazione C.
La stringa può essere una stringa vera e propria, racchiusa tra virgolette La stringa può essere una stringa vera e propria, racchiusa tra virgolette
doppie, o il nome di una variabile stringa predefinita. format è definito doppie, o il nome di una variabile stringa predefinita. format è definito
in modo simile alla stringa di formato del comando "printf" (si veda oltre). in modo simile alla stringa di formato del comando "printf" (si veda oltre).
args è una lista separata da virgole che contiene i nomi di variabili args è una lista separata da virgole che contiene i nomi di variabili
predefinite cui verranno assegnati i valori letti da src. (Per chi conosce predefinite cui verranno assegnati i valori letti da src. (Per chi conosce
C: è possibile ma non indispensabile prefissare con & i nomi delle C: è possibile ma non indispensabile prefissare con & i nomi delle
variabili numeriche). variabili numeriche).
Le regole specificate in format vengono usate per analizzare src. Le Le regole specificate in format vengono usate per analizzare src. Le
specifiche iniziano con un carattere %, e comprendono %f, %g o %lf per i specifiche iniziano con un carattere %, e comprendono %f, %g o %lf per i
numeri a virgola mobile; %d per gli interi; %s per le stringhe, e %m per le numeri a virgola mobile; %d per gli interi; %s per le stringhe, e %m per le
matrici. È possibile inserire un numero intero positivo dopo il carattere matrici. È possibile inserire un numero intero positivo dopo il carattere
percentuale per impostare il numero massimo di caratteri da leggere per ogni percentuale per impostare il numero massimo di caratteri da leggere per ogni
tipo di specifica (o il numero massimo di righe nel caso di conversione in tipo di specifica (o il numero massimo di righe nel caso di conversione in
matrici). In alternativa è possibile inserire un carattere * dopo il matrici). In alternativa, è possibile inserire un carattere * dopo il
percentuale per sopprimere la conversione di un certo numero di caratteri percentuale per sopprimere la conversione di un certo numero di caratteri
della stringa (e saltando così eventuali caratteri che in caso contrario della stringa (e saltando così eventuali caratteri che in caso contrario
verrebbero convertiti per un certo tipo). Ad esempio, %3d converte i 3 verrebbero convertiti per un certo tipo). Ad esempio, %3d converte i 3
caratteri successivi di src in un numero intero, se possibile; %*g salta caratteri successivi di src in un numero intero, se possibile; %*g salta
tutti i caratteri in src che potrebbero essere convertiti in un numero a tutti i caratteri in src che potrebbero essere convertiti in un numero a
virgola mobile. virgola mobile.
La conversione in matrici funziona nel modo seguente: viene letta ogni riga
dell'input e vengono contati i campi numerici (separati da spazi o
tabulatori). In questo modo viene definito il numero di colonne della
matrice. Vengono quindi lette tutte le righe seguenti che contengono lo
stesso numero di colonne numeriche, ma è comunque possibile limitare il
numero massimo di righe da leggere procedendo come descritto sopra.
Oltre alla conversione di %s per le stringhe, è disponibile anche una Oltre alla conversione di %s per le stringhe, è disponibile anche una
versione semplificata del formato C %N[chars]. In questo formato, N è il versione semplificata del formato C %N[chars]. In questo formato, N è il
numero massimo di caratteri da leggere, e chars è un insieme di caratteri numero massimo di caratteri da leggere, e chars è un insieme di caratteri
accettabili, racchiusi tra parentesi quadre; la lettura si ferma se si accettabili, racchiusi tra parentesi quadre; la lettura si ferma se si
raggiunge il limite di N o se si incontra un carattere non compreso raggiunge il limite di N o se si incontra un carattere non compreso
nell'insieme ammissibile. La funzione dell'insieme chars può essere nell'insieme ammissibile. La funzione dell'insieme chars può essere
invertita specificando un accento circonflesso ^ come primo carattere invertita specificando un accento circonflesso ^ come primo carattere
dell'insieme; in questo caso, la lettura si ferma se si incontra un dell'insieme; in questo caso, la lettura si ferma se si incontra un
carattere dell'insieme specificato. Al contrario del C, il carattere carattere dell'insieme specificato. Al contrario del C, il carattere
trattino non ha alcuna funzione speciale in questo contesto. trattino non ha alcuna funzione speciale in questo contesto.
Se la stringa non corrisponde esattamente al formato specificato, il numero Se la stringa src non è pienamente conforme al formato, il numero di
di conversioni effettuate può risultare diverso dal numero di argomenti conversioni effettuate potrà essere minore del numero di argomenti. Dal
indicati. Per gretl questo non è necessariamente un errore, tuttavia può punto di vista di gretl, questo non è un errore di per sé. Tuttavia, è
essere utile controllare il numero di conversioni effettuate, pari al valore consigliabile controllare il numero di conversioni effettivamente portate a
restituito dalla funzione. termine, che è dato dal valore in uscita della funzione. Ad esempio:
Ecco alcuni esempi:
# lettura di scalari
scalar x scalar x
scalar y scalar y
sscanf("123456", "%3d%3d", x, y) sscanf("123456", "%3d%3d", x, y)
# lettura di stringhe
sprintf S, "1 2 3 4\n5 6 7 8" string s = "uno due"
S string s1
string s2
sscanf(s, "%s %s", s1, s2)
print s1 s2
Matrici
La lettura di matrici è attivata dalla specifica di conversione "%m".
Inserendo un intero fra il segno "%" e il carattere "m" si può limitare il
numero di righe da leggere. Esistono due varianti: quella in cui src è
un'unica stringa che contiene la matrice, e quella in cui src è un array di
stringhe. Segue la loro descrizione.
Se src è una stringa singola, la conversione in matrici funziona così:
viene letta ogni riga dell'input e vengono contati i campi numerici
(separati da spazi o tabulatori). In questo modo viene definito il numero di
colonne della matrice. Vengono quindi lette tutte le righe seguenti che
contengono lo stesso numero di colonne numeriche, ma è comunque possibile
limitare il numero massimo di righe da leggere procedendo come descritto
sopra.
Se src è un array di stringhe, l'output è necessariamente un vettore
colonna, in cui ogni elemento è la conversione numerica dell'elemento
corrispondente dell'array, o NA se la stringa non è numerica. Ecco alcuni
semplici esempi.
# una singola stringa
string s = sprintf("1 2 3 4\n5 6 7 8")
print s
matrix m matrix m
sscanf(S, "%m", m) sscanf(s, "%m", m)
print m
# un array di stringhe
strings S = defarray("1.1", "2.2", "3.3", "4.4", "5.5")
sscanf(S, "%4m", m)
print m print m
# sst # sst
Risultato: scalare Risultato: scalare
Argomento: y (serie) Argomento: y (serie)
Restituisce la somma dei quadrati degli scarti dalla media per le Restituisce la somma dei quadrati degli scarti dalla media per le
osservazioni valide nella variabile y. Vedi anche "var". osservazioni valide nella variabile y. Vedi anche "var".
# stdize
Risultato: stesso tipo dell'argomento
Argomenti: X (serie, lista o matrice)
v (intero, opzionale)
Di default ritorna una versione standardizzata della serie, lista o matrice:
l'input è centrato e diviso dalla sua deviazione standard campionaria (con
una correzione di gradi di liberta di 1). I risultati sono calcolati in
colonna nel caso di una matrice.
Il secondo argomento (opzionale) può essere utilizzato per influenzare il
risultato.Un valore non negativo di v imposta la correzione di gradi di
libertà usata nella deviazione standard, cosicchè v = 0 dia lo stimatore
di massima verosimiglianza. Come caso speciale, se v è uguale a -1 è
eseguita solo la centratura.
# strftime # strftime
Risultato: stringa Risultato: stringa
Argomenti: t (scalare) Argomenti: t (scalare)
formato (stringa, opzionale) formato (stringa, opzionale)
L'argomento t viene interpretato come il numero di secondi trascorsi L'argomento t viene interpretato come il numero di secondi trascorsi
dall'inizio dell'anno 1970 nel fuso orario UTC (un tempo noto come ora di dall'inizio dell'anno 1970 nel fuso orario UTC (un tempo noto come ora di
Greenwich); produce una stringa con la data e l'ora corrispondenti. Il Greenwich); produce una stringa con la data e l'ora corrispondenti. Il
formato di default è quello standard di sistema, ma può essere modificato formato di default è quello standard di sistema, ma può essere modificato
se il secondo argomento (opzionale) è una stringa appropriata. se il secondo argomento (opzionale) è una stringa appropriata.
skipping to change at line 5447 skipping to change at line 6096
# strlen # strlen
Risultato: intero Risultato: intero
Argomento: s (stringa) Argomento: s (stringa)
Restituisce il numero di caratteri nella stringa s. Si note che questo può Restituisce il numero di caratteri nella stringa s. Si note che questo può
non coincidere col numero di byte se sono presenti caratteri al di fuori del non coincidere col numero di byte se sono presenti caratteri al di fuori del
campo ASCII stampabile (ad esempio, lettere accentate). campo ASCII stampabile (ad esempio, lettere accentate).
Esempio: Esempio:
string s = "regression" string s = "regression"
scalar number = strlen(s) scalar number = strlen(s)
print number print number
# strncmp # strncmp
Risultato: intero Risultato: intero
Argomenti: s1 (stringa) Argomenti: s1 (stringa)
s2 (stringa) s2 (stringa)
n (scalare, opzionale) n (scalare, opzionale)
Confronta le due stringhe fornite come argomenti e restituisce un intero Confronta le due stringhe fornite come argomenti e restituisce un intero
minore, uguale, o maggiore di zero se s1 risulta rispettivamente essere minore, uguale, o maggiore di zero se s1 risulta rispettivamente essere
minore, combaciare, o essere maggiore di s2, fino ai primi n caratteri. Se n minore, combaciare, o essere maggiore di s2, fino ai primi n caratteri. Se n
skipping to change at line 5546 skipping to change at line 6195
Argomenti: s1 (stringa) Argomenti: s1 (stringa)
s2 (stringa) s2 (stringa)
Cerca all'interno della stringa s1 un'occorrenza della stringa s2. Nel caso Cerca all'interno della stringa s1 un'occorrenza della stringa s2. Nel caso
venga trovata una corrispondenza la funzione restituisce una copia della venga trovata una corrispondenza la funzione restituisce una copia della
porzione di s1 che inizia con s2; in caso contrario, la funzione restituisce porzione di s1 che inizia con s2; in caso contrario, la funzione restituisce
una stringa vuota. una stringa vuota.
Esempi: Esempi:
string s1 = "Gretl is an econometrics package" string s1 = "Gretl is an econometrics package"
string s2 = strstr(s1, "an") string s2 = strstr(s1, "an")
print s2 print s2
Per un semplice controllo vero/falso se s1 contiene s2, vedi "instring". Per un semplice controllo vero/falso se s1 contiene s2, vedi "instring".
# strstrip # strstrip
Risultato: stringa Risultato: stringa
Argomento: s (stringa) Argomento: s (stringa)
Restituisce una copia dell'argomento s da cui sono stati rimossi gli spazi Restituisce una copia dell'argomento s da cui sono stati rimossi gli spazi
bianchi iniziali e finali. bianchi iniziali e finali.
Esempio: Esempio:
string s1 = " A lot of white space. " string s1 = " A lot of white space. "
string s2 = strstrip(s1) string s2 = strstrip(s1)
print s1 s2 print s1 s2
# strsub # strsub
Risultato: stringa Risultato: stringa
Argomenti: s (stringa) Argomenti: s (stringa)
find (stringa) find (stringa)
subst (stringa) subst (stringa)
Restituisce una copia di s in cui tutte le occorrenze di find sono Restituisce una copia di s in cui tutte le occorrenze di find sono
sostituite con subst. V. anche "regsub" per una funzione più complessa che sostituite con subst. V. anche "regsub" per una funzione più complessa che
permette di sostituire stringhe sulla base di espressioni regolari. permette di sostituire stringhe sulla base di espressioni regolari.
Esempio: Esempio:
string s1 = "Ciao, Gretl!" string s1 = "Ciao, Gretl!"
string s2 = strsub(s1, "Gretl", "Hansl") string s2 = strsub(s1, "Gretl", "Hansl")
print s2 print s2
# strvals # strvals
Risultato: array di stringhe Risultato: array di stringhe
Argomento: y (serie) Argomento: y (serie)
Se la serie y contiene stringhe, restituisce un array contenente tutti i Se la serie y contiene stringhe, restituisce un array contenente tutti i
suoi valori distinti, ordinati per il valore numerico associato, partendo da suoi valori distinti, ordinati per il valore numerico associato, partendo da
1. Se invece y non contiene stringhe, viene restituito un array vuoto. Vedi 1. Se invece y non contiene stringhe, viene restituito un array vuoto. Vedi
anche "stringify". anche "stringify".
skipping to change at line 5601 skipping to change at line 6250
Risultato: stringa Risultato: stringa
Argomenti: s (stringa) Argomenti: s (stringa)
start (intero) start (intero)
end (intero) end (intero)
Restituisce la sottostringa di s dal carattere start al carattere end Restituisce la sottostringa di s dal carattere start al carattere end
compresi. L'indicizzazione è a base 1. compresi. L'indicizzazione è a base 1.
Ad esempio, il codice seguente Ad esempio, il codice seguente
string s1 = "Ciao, Gretl!" string s1 = "Ciao, Gretl!"
string s2 = substr(s1, 7, 11) string s2 = substr(s1, 7, 11)
string s3 = substr("Ciao, Gretl!", 7, 11) string s3 = substr("Ciao, Gretl!", 7, 11)
print s2 print s2
print s3 print s3
ritorna: ritorna:
? print s2 ? print s2
Gretl Gretl
? print s3 ? print s3
Gretl Gretl
In certi casi, si possono preferire costrutti meno espliciti ma più In certi casi, si possono preferire costrutti meno espliciti ma più
compatti, che fanno uso degli operatori di indicizzazione e di incremento, compatti, che fanno uso degli operatori di indicizzazione e di incremento,
come nel caso seguente: come nel caso seguente:
string s1 = "Ciao, Gretl!" string s1 = "Ciao, Gretl!"
string s2 = s1[7:11] string s2 = s1[7:11]
string s3 = s1 + 6 string s3 = s1 + 6
print s2 print s2
print s3 print s3
in cui l'output sarebbe in cui l'output sarebbe
? print s2 ? print s2
Gretl Gretl
? print s3 ? print s3
Gretl! Gretl!
# sum # sum
Risultato: scalare o serie Risultato: scalare o serie
Argomento: x (serie, matrice o lista) Argomento: x (serie, matrice o lista)
Se x è una variabile restituisce la somma (scalare) delle osservazioni non Se x è una variabile restituisce la somma (scalare) delle osservazioni non
mancanti in x. Si veda anche "sumall". mancanti in x. Si veda anche "sumall".
Se x è una matrice restituisce la somma degli elementi della matrice. Se x è una matrice restituisce la somma degli elementi della matrice.
skipping to change at line 5675 skipping to change at line 6324
Argomenti: X (matrice) Argomenti: X (matrice)
&U (riferimento a matrice, o null) &U (riferimento a matrice, o null)
&V (riferimento a matrice, o null) &V (riferimento a matrice, o null)
Esegue la scomposizione a valori singolari (SVD) della matrice X. Esegue la scomposizione a valori singolari (SVD) della matrice X.
I valori singolari sono restituiti in un vettore riga. I vettori singolari I valori singolari sono restituiti in un vettore riga. I vettori singolari
sinistri e/o destri U e V possono essere ottenuti fornendo valori non nulli sinistri e/o destri U e V possono essere ottenuti fornendo valori non nulli
per, rispettivamente, gli argomenti 2 e 3. Per una matrice A, il codice per, rispettivamente, gli argomenti 2 e 3. Per una matrice A, il codice
s = svd(A, &U, &V) s = svd(A, &U, &V)
B = (U .* s) * V B = (U .* s) * V
dovrebbe generare B identica ad A (precisione numerica a parte). dovrebbe generare B identica ad A (precisione numerica a parte).
Vedi anche "eigengen", "eigensym", "qrdecomp". Vedi anche "eigengen", "eigensym", "qrdecomp".
# svm # svm
Risultato: serie Risultato: serie
Argomenti: L (lista) Argomenti: L (lista)
param (bundle) param (bundle)
bmod (riferimento a bundle, opzionale) bmod (riferimento a bundle, opzionale)
bprob (riferimento a bundle, opzionale) bprob (riferimento a bundle, opzionale)
Questa funzione abilita il training di un modello SVM (Support Vector Questa funzione abilita il training di un modello SVM (Support Vector
Machine) e le relative previsioni; il backend utilizzato è LIBSVM. La lista Machine) e le relative previsioni; il backend utilizzato è LIBSVM. La lista
passata come argomento L deve includere la variabile dipendente, seguita passata come argomento L deve includere la variabile dipendente, seguita
dalle variabili indipendenti, mentre il bundle param è usato per passare dalle variabili indipendenti, mentre il bundle param è usato per passare
opzioni alla SVM. La funzione restituisce una serie contenente le opzioni alla SVM. La funzione restituisce una serie contenente le
previsioni. I due parametri opzionali aggiuntivi sono puntatori a bundle per previsioni. I due parametri opzionali aggiuntivi sono puntatori a bundle per
raccogliere informazioni aggiuntive sul training e/o la previsione. raccogliere informazioni aggiuntive sul training e/o la previsione.
Per maggiori dettagli, consultare la documentazione PDF: Help:gretlSVM (in Per maggiori dettagli, consultare la documentazione PDF: gretl + SVM.
inglese).
# tan # tan
Risultato: stesso tipo dell'argomento Risultato: stesso tipo dell'argomento
Argomento: x (scalare, serie o matrice) Argomento: x (scalare, serie o matrice)
Funzione tangente di x. Vedi anche "atan", "cos", "sin". Funzione tangente di x. Vedi anche "atan", "cos", "sin".
# tanh # tanh
Risultato: stesso tipo dell'argomento Risultato: stesso tipo dell'argomento
Argomento: x (scalare, serie o matrice) Argomento: x (scalare, serie o matrice)
skipping to change at line 5742 skipping to change at line 6390
# tolower # tolower
Risultato: stringa Risultato: stringa
Argomento: s (stringa) Argomento: s (stringa)
Restituisce una copia di s in cui ogni lettera maiuscola è convertita in Restituisce una copia di s in cui ogni lettera maiuscola è convertita in
minuscola. minuscola.
Esempi: Esempi:
string s1 = "Ciao, Gretl!" string s1 = "Ciao, Gretl!"
string s2 = tolower(s1) string s2 = tolower(s1)
print s2 print s2
string s3 = tolower("Ciao, Gretl!") string s3 = tolower("Ciao, Gretl!")
print s3 print s3
# toupper # toupper
Risultato: stringa Risultato: stringa
Argomento: s (stringa) Argomento: s (stringa)
Restituisce una copia di s in cui ogni lettera minuscola è convertita in Restituisce una copia di s in cui ogni lettera minuscola è convertita in
maiuscola. maiuscola.
Esempi: Esempi:
string s1 = "Ciao, Gretl!" string s1 = "Ciao, Gretl!"
string s2 = toupper(s1) string s2 = toupper(s1)
print s2 print s2
string s3 = toupper("Ciao, Gretl!") string s3 = toupper("Ciao, Gretl!")
print s3 print s3
# tr # tr
Risultato: scalare Risultato: scalare
Argomento: A (matrice quadrata) Argomento: A (matrice quadrata)
Restituisce la traccia della matrice A, ovvero la somma degli elementi lungo Restituisce la traccia della matrice A, ovvero la somma degli elementi lungo
la diagonale. Vedi anche "diag". la diagonale. Vedi anche "diag".
# transp # transp
Risultato: matrice Risultato: matrice
skipping to change at line 5926 skipping to change at line 6574
Se l'argomento è uno scalare restituisce il nome della variabile con numero Se l'argomento è uno scalare restituisce il nome della variabile con numero
ID v o genera un errore nel caso in cui una tale variabile non esista. ID v o genera un errore nel caso in cui una tale variabile non esista.
Se l'argomento è una lista restituisce una stringa contenente i nomi delle Se l'argomento è una lista restituisce una stringa contenente i nomi delle
variabili nella lista, separati da virgole. Se la lista fornita è vuota, la variabili nella lista, separati da virgole. Se la lista fornita è vuota, la
stringa restituita sarà vuota. stringa restituita sarà vuota.
Esempio: Esempio:
open broiler.gdt open broiler.gdt
string s = varname(7) string s = varname(7)
print s print s
# varnames # varnames
Risultato: array di stringhe Risultato: array di stringhe
Argomento: L (lista) Argomento: L (lista)
Restituisce un array di stringhe contenente i nomi delle variabili nella Restituisce un array di stringhe contenente i nomi delle variabili nella
lista L. Se quest'ultima è vuota, lo sarà anche l'array risultato. lista L. Se quest'ultima è vuota, lo sarà anche l'array risultato.
Esempio: Esempio:
open keane.gdt open keane.gdt
list L = year wage status list L = year wage status
strings S = varnames(L) strings S = varnames(L)
eval S[1] eval S[1]
eval S[2] eval S[2]
eval S[3] eval S[3]
# varnum # varnum
Risultato: intero Risultato: intero
Argomento: varname (stringa) Argomento: varname (stringa)
Restituisce il numero ID della variabile varname, o NA se tale variabile non Restituisce il numero ID della variabile varname, o NA se tale variabile non
esiste. esiste.
# varsimul # varsimul
Risultato: matrice Risultato: matrice
 End of changes. 121 change blocks. 
291 lines changed or deleted 939 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)