1
2## Accessors
3
4# $ahat access
5Resultado: 	série
6
7Deve seguir a estimação de um modelo de dados em painel com efeitos fixos. Retorna uma série com as estimativas dos efeitos individuais fixos (interceptos por unidade).
8
9# $aic access
10Resultado: 	escalar
11
12Retorna o Critério de Informação de Akaike do último modelo estimado, quando disponível. Veja <@pdf="guia de utilização do Gretl#chap:criteria"> (Capítulo 28) para detalhes sobre os cálculos.
13
14# $bic access
15Resultado: 	escalar
16
17Retorna o Critério de Informação Bayesiano de Schwarz para o último modelo estimado, quando disponível. Veja <@pdf="guia de utilização do Gretl#chap:criteria"> (Capítulo 28) para detalhes sobre os cálculos.
18
19# $chisq access
20Resultado: 	escalar
21
22Retorna estatística qui-quadrado global do último modelo estimado, quando disponível.
23
24# $coeff access
25Resultado: 	matriz ou escalar
26Argumento: 	<@var="s">  (nome do coeficiente, opcional)
27
28Quando utilizado sem argumentos, <@lit="$coeff"> retorna um vetor coluna com os coeficientes estimados do último modelo. Com o argumento opcional de texto (string) a função retorna, na forma de um escalar, o parâmetro estimado <@var="s">. Ver também <@ref="$stderr">, <@ref="$vcv">.
29
30Exemplo:
31
32<code>
33     open bjg
34     arima 0 1 1 ; 0 1 1 ; lg
35     b = $coeff               # fornece um vetor
36     macoef = $coeff(theta_1) # fornece um escalar
37</code>
38
39Se o “modelo” em questão for um sistema, o resultado dependerá das características do sistema: para VARs e VECMs o valor retornado será uma matriz com uma coluna por equação, caso contrário será um vetor coluna contendo os coeficientes da primeira equação seguidos pelos coeficientes da segunda equação e assim sucessivamente.
40
41# $command access
42Resultado: 	texto
43
44Deve ser utilizada após a estimação de um modelo e retorna o seu tipo, por exemplo <@lit="ols"> ou <@lit="probit">.
45
46# $compan access
47Resultado: 	matriz
48
49Deve ser utilizada após a estimação de um VAR ou um VECM e retorna a matriz companheira.
50
51# $datatype access
52Resultado: 	escalar
53
54Retorna um número representando o tipo dos dados que estão sendo atualmente utilizados: 0 = sem dados, 1 = dados de corte transversal (não datados), 2 = dados de séries temporais, 3 = dados em painel.
55
56# $depvar access
57Resultado: 	texto
58
59Deve ser utilizada após a estimação de um modelo com equação única e retorna o nome da variável dependente.
60
61# $df access
62Resultado: 	escalar
63
64Retorna os graus de liberdade do último modelo estimado. Se o último modelo for um sistema de equações, o valor retornado será o número de graus de liberdade por equação. Se os graus de liberdade das equações forem diferentes então o valor dado será calculado como a diferença entre o número de observações e a média do número de coeficientes por equação (essa média será arredondada para o valor inteiro imediatamente superior).
65
66# $diagpval access
67Resultado: 	escalar
68
69Deve ser utilizada após a estimação de um sistema de equações e retorna o <@mth="P">-valor associado com a estatística <@ref="$diagtest">.
70
71# $diagtest access
72Resultado: 	escalar
73
74Deve ser utilizada após a estimação de um sistema de equações. Retorna a estatística de teste para a hipótese nula de que a matriz de covariâncias dos resíduos das equações do sistema é diagonal. Este é o teste de Breusch–Pagan, exceto quando o estimador for o SUR iterado (irrestrito), nesse caso será um teste de razão de verossimilhança. Veja <@pdf="guia de utilização do Gretl#chap:system"> (Capítulo 34) para detalhes e também <@ref="$diagpval">.
75
76# $dotdir access
77Resultado: 	texto
78
79Este acessor retorna o caminho onde Gretl guarda os ficheiros temporários, por exemplo quando se usa a função <@ref="mwrite"> com um argumento não-nulo.
80
81# $dw access
82Resultado: 	escalar
83
84Retorna a estatística de Durbin–Watson para a correlação de primeira ordem do último modelo estimado (quando disponível).
85
86# $dwpval access
87Resultado: 	escalar
88
89Retorna o p-valor para a estatística de Durbin–Watson do último modelo estimado (quando disponível). É calculada via procedimento de Imhof.
90
91Devido à precisão limitada da aritmética computacional, a integral de Imhof pode se tornar negativa quando a estatística de Durbin–Watson estiver próxima de seu limite inferior. Nesse caso a função de acesso retorna <@lit="NA">. Uma vez que qualquer outra falha será sinalizada, é possivelmente seguro assumir que um resultado NA indica que o verdadeiro p-valor é “muito pequeno”, embora não seja possível quantificá-lo.
92
93# $ec access
94Resultado: 	matriz
95
96Deve ser utilizada após a estimação de um VECM e retorna uma matriz contendo os termos de correção de erros. O número de linhas é igual ao número de observações utilizadas e o número de colunas é igual à ordem de cointegração do sistema.
97
98# $error access
99Resultado: 	escalar
100
101Retorna o código interno de erro do programa. Esse código será um valor não-nulo quando a função <@xrf="catch"> tiver sido utilizada. Note que o código interno de erro irá retornar para zero quando esta função de acesso for utilizada novamente. Para consultar, posteriormente, a mensagem de erro associada a um dado <@lit="$error"> será necessário armazená-la em uma variável. Isso pode ser feito da seguinte forma:
102
103<code>
104     err = $error
105     if (err)
106         printf "Got error %d (%s)\n", err, errmsg(err);
107     endif
108</code>
109
110Ver também <@xrf="catch">, <@ref="errmsg">.
111
112# $ess access
113Resultado: 	escalar
114
115Retorna o erro da soma dos quadrados do último modelo estimado, quando disponível.
116
117# $evals access
118Resultado: 	matriz
119
120Deve ser utilizada após a estimação de um VECM e retorna um vetor contendo os autovalores que foram utilizados no cálculo do teste traço para verificação da cointegração.
121
122# $fcast access
123Resultado: 	matriz
124
125Deve ser utilizada após o comando <@xrf="fcast"> e retorna os valores previstos na forma de uma matriz. Se foi utilizado um sistema de equações para realizar as previsões a matriz será composta por uma coluna para cada equação, caso contrário será um vetor coluna.
126
127# $fcse access
128Resultado: 	matriz
129
130Deve ser utilizada após o comando <@xrf="fcast"> e retorna os erros padrão das previsões, quando disponíveis, na forma de uma matriz. Se foi utilizado um sistema de equações para realizar as previsões a matriz será composta por uma coluna para cada equação, caso contrário será um vetor coluna.
131
132# $fevd access
133Resultado: 	matriz
134
135Deve ser utilizada após a estimação de um VAR e retorna uma matriz contendo a decomposição da variância dos erros de previsão (FEVD, na sigla em inglês). Essa matriz possui <@mth="h"> linhas, onde <@mth="h"> indica a quantidade de períodos do horizonte de previsão que, por sua vez, pode ser escolhida via comando <@lit="set horizon"> ou de forma automática com base na frequência dos dados.
136
137Para um VAR com <@mth="p"> variáveis, a matriz possui <@mth="p"> <@sup="2"> colunas: as primeiras <@mth="p"> colunas contêm a FEVD para a primeira variável do VAR, as <@mth="p"> colunas seguintes contêm a FEVD para a segunda variável do VAR e assim sucessivamente. A fração (em termos decimais) do erro de previsão da variável <@mth="i"> causado por uma inovação na variável <@mth="j"> é então encontrado na coluna (<@mth="i"> – 1) <@mth="p"> + <@mth="j">.
138
139Para uma variante mais flexível desta funcionalidade, ver a função <@ref="fevd">.
140
141# $Fstat access
142Resultado: 	escalar
143
144Retorna estatística F global do último modelo estimado, quando disponível.
145
146# $gmmcrit access
147Resultado: 	escalar
148
149Deve ser utilizada após um bloco <@lit="gmm">. Retorna o valor da função objetivo GMM em seu mínimo.
150
151# $h access
152Resultado: 	série
153
154Deve ser utilizada após o comando <@lit="garch">. Retorna a série da variância condicional estimada.
155
156# $hausman access
157Resultado: 	vetor linha
158
159Deve ser utilizada após a estimação de um modelo via <@lit="tsls"> ou <@lit="panel"> com a opção de efeitos aleatórios. Retorna um vetor 1×3 contendo o valor da estatística do teste de Hausman, os graus de liberdade correspondentes e o p-valor para o teste, respectivamente.
160
161# $hqc access
162Resultado: 	escalar
163
164Retorna o Critério de Informação de Hannan-Quinn para o último modelo estimado, quando disponível. Veja <@pdf="guia de utilização do Gretl#chap:criteria"> (Capítulo 28) para detalhes sobre os cálculos.
165
166# $huge access
167Resultado: 	escalar
168
169Retorna um número positivo com valor bastante elevado. Por padrão é igual a 1.0E100, mas pode ser alterado via comando <@xrf="set">.
170
171# $jalpha access
172Resultado: 	matriz
173
174Deve ser utilizada após a estimação de um VECM e retorna a matriz de cargas. O número de linhas dessa matriz é igual ao número de variáveis do VECM e o número de colunas é igual a ordem de cointegração.
175
176# $jbeta access
177Resultado: 	matriz
178
179Deve ser utilizada após a estimação de um VECM e retorna a matriz de cointegração. O número de linhas dessa matriz é igual ao número de variáveis no VECM (se existirem variáveis exógenas restritas ao espaço de cointegração adiciona-se mais uma linha) e o número de colunas é igual a ordem de cointegração.
180
181# $jvbeta access
182Resultado: 	matriz quadrada
183
184Deve ser utilizada após a estimação de um VECM e retorna a matriz de covariâncias estimada para os elementos dos vetores de cointegração.
185
186No caso de uma estimação sem restrições, o número de linhas dessa matriz é igual ao número de elementos irrestritos do espaço de cointegração após a normalização de Phillips. Entretanto, se for estimado um sistema restrito via comando <@lit="restrict"> com a opção <@lit="--full">, uma matriz singular com <@mth="(n+m)r "> linhas será retornada (sendo <@mth="n"> o número de variáveis endógenas, <@mth="m"> o número de variáveis exógenas restritas ao espaço de cointegração e <@mth="r"> a ordem de cointegração).
187
188Exemplo: o código
189
190<code>
191     open denmark.gdt
192     vecm 2 1 LRM LRY IBO IDE --rc --seasonals -q
193     s0 = $jvbeta
194
195     restrict --full
196       b[1,1] = 1
197       b[1,2] = -1
198       b[1,3] + b[1,4] = 0
199     end restrict
200     s1 = $jvbeta
201
202     print s0
203     print s1
204</code>
205
206produz a seguinte saída.
207
208<code>
209     s0 (4 x 4)
210
211          0.019751     0.029816  -0.00044837     -0.12227
212          0.029816      0.31005     -0.45823     -0.18526
213      -0.00044837     -0.45823       1.2169    -0.035437
214          -0.12227     -0.18526    -0.035437      0.76062
215
216     s1 (5 x 5)
217
218     0.0000       0.0000       0.0000       0.0000       0.0000
219     0.0000       0.0000       0.0000       0.0000       0.0000
220     0.0000       0.0000      0.27398     -0.27398    -0.019059
221     0.0000       0.0000     -0.27398      0.27398     0.019059
222     0.0000       0.0000    -0.019059     0.019059    0.0014180
223</code>
224
225# $lang access
226Resultado: 	texto
227
228Retorna o texto (string) com o código do idioma que está sendo utilizado no momento, desde que este possa ser determinado. O texto é composto pelo código ISO 639-1 com duas letras (por exemplo, <@lit="en"> para inglês, <@lit="jp"> para japonês, <@lit="el"> para grego) seguido de um sublinhado e o código do país de acordo com o ISO 3166-1. Assim, por exemplo, o português de Portugal é representado por <@lit="pt_PT"> enquanto o português do Brasil é representado por <@lit="pt_BR">.
229
230Se o idioma não puder ser determinado será retornado o texto “<@lit="unknown">”.
231
232# $llt access
233Resultado: 	série
234
235Para determinados modelos estimados via Máxima Verossimilhança a função retorna os valores do log da verossimilhança para cada observação. Atualmente essa função está disponível para logit e probit binários, tobit e heckit.
236
237# $lnl access
238Resultado: 	escalar
239
240Retorna a log-verossimilhança para o último modelo estimado (quando for aplicável).
241
242# $macheps access
243Resultado: 	escalar
244
245Retorna o valor do “épsilon da máquina” que, por sua vez, fornece um limite superior para o erro relativo devido ao arredondamento na aritmética de ponto flutuante com precisão dupla.
246
247# $mapfile access
248Resultado: 	texto
249
250Se tiver sido carregado dados de um ficheiro de formas GeoJSON ou ESRI, retorna o nome do ficheiro que deve obter o mapa de polígonos, caso contrário retorna uma cadeia de texto vazia. Isto está preparado para ser usado com a função <@ref="geoplot">.
251
252# $mnlprobs access
253Resultado: 	matriz
254
255Deve seguir a estimação de um modelo logit multinomial (apenas) e retorna uma matriz com as probabilidades estimadas para cada resultado possível em cada observação dentro da amostra utilizada na estimação do modelo. Cada linha representa uma observação e cada coluna representa um resultado.
256
257# $model access
258Resultado: 	lote
259
260Deve seguir a estimação de modelos de equação única e retorna um pacote (bundle) contendo vários itens pertencentes ao modelo. Todas as funções de acesso de modelos regulares são incluídas e são referenciados por chaves iguais aos nomes das funções de acesso regulares menos o cifrão inicial. Assim, por exemplo, os resíduos aparecem sob a chave <@lit="uhat"> e o quadrado da soma dos erros sob <@lit="ess">.
261
262Dependendo do estimador, informações adicionais podem ser disponibilizadas. As chaves para tais informações são normalmente auto-explicativas. Para ver o que está disponível basta salvar o pacote e imprimir seu conteúdo. Isso é mostrado no exemplo a seguir:
263
264<code>
265     ols y 0 x
266     bundle b = $model
267     print b
268</code>
269
270# $mpirank access
271Resultado: 	número inteiro
272
273Se gretl foi compilado com suporte MPI, e o programa foi iniciado em modo MPI, retorna o “posto” de base 0 o ID do processo actual. Caso contrário retorna –1.
274
275# $mpisize access
276Resultado: 	número inteiro
277
278Se gretl foi compilado com suporte MPI, e o programa foi iniciado em modo MPI, retorna o número do processo MPi actualmente em execução. Caso contrário retorna 0.
279
280# $ncoeff access
281Resultado: 	número inteiro
282
283Retorna o número total de coeficientes estimados no último modelo.
284
285# $nobs access
286Resultado: 	número inteiro
287
288Retorna o número de observações na amostra atualmente selecionada. Veja também: <@ref="$tmax">.
289
290# $now access
291Resultado: 	vetor
292
293Produz um vector de dois elementos: o primeiro elemento é o número de segundos decorridos desde1970-01-01 00:00:00 +0000 (UTC), que é uma medida utilizada muito frequentemente no mundo da informatica para representar a hora. O segundo é a data actual no formato “básico” ISO 8601, que é <@lit="YYYYMMDD">; para processar o segundo elemento pode-se usar a função <@ref="epochday">.
294
295# $nvars access
296Resultado: 	número inteiro
297
298Retorna o número de variáveis no conjunto de dados (incluindo a constante).
299
300# $obsdate access
301Resultado: 	série
302
303Deve ser utilizada quando o conjunto de dados corrente for composto por séries temporais com frequência decenal, anual, trimestral, mensal, semanal (datada) ou diária (datada). Pode ser utilizada também com dados em painel quando a informação temporal estiver ajustada corretamente (veja o comando <@xrf="setobs">). A série que será retornada é composta por números com 8 dígitos seguindo o padrão <@lit="YYYYMMDD"> (formato de dados “básico” do ISO 8601), que correspondem ao dia da observação ou ao primeiro dia da observação no caso de frequências de séries temporais menores que a diária.
304
305Esta série pode ser útil na utilização do comando <@xrf="join">.
306
307# $obsmajor access
308Resultado: 	série
309
310É aplicável quando as observações no conjunto de dados corrente têm uma estrutura maior:menor, como em séries temporais trimestrais (ano:trimestre), séries temporais mensais (ano:mês), dados de horas (dia:hora) e dados em painel (indivíduo:período). Retorna uma série contendo o componente maior, ou de menor frequência, de cada observação (por exemplo, o ano).
311
312Ver também <@ref="$obsminor">, <@ref="$obsmicro">.
313
314# $obsmicro access
315Resultado: 	série
316
317É aplicável quando as observações no conjunto de dados corrente têm uma estrutura maior:menor:micro, como em séries temporais datadas diárias (ano:mês:dia). Retorna uma série contendo o componente micro, ou de maior frequência, de cada observação (por exemplo, o dia).
318
319Ver também <@ref="$obsmajor">, <@ref="$obsminor">.
320
321# $obsminor access
322Resultado: 	série
323
324É aplicável quando as observações no conjunto de dados corrente têm uma estrutura maior:menor, como em séries temporais trimestrais (ano:trimestre), séries temporais mensais (ano:mês), dados de horas (dia:hora) e dados em painel (indivíduo:período). Retorna uma série contendo o componente menor, ou de maior frequência, de cada observação (por exemplo, o mês).
325
326No caso de dados diários datados, <@lit="$obsminor"> retorna o mês de cada observação.
327
328Ver também <@ref="$obsmajor">, <@ref="$obsmicro">.
329
330# $parnames access
331Resultado: 	cadeia de texto
332
333Depois da estimação de um modelo de uma só equação, produz um vector de texto contendo os nomes dos parâmetros do modelo. Os números do nomes correspondem ao número dos elementos no vector <@ref="$coeff"> .
334
335Para modelos especificados com uma lista de regressores o resultado será o mesmo que
336
337<code>
338     varnames($xlist)
339</code>
340
341(ver <@ref="varnames">), mas <@lit="$parnames"> é mais geral, pois que funciona também com modelos sem lista de regressores (<@xrf="nls">, <@xrf="mle">, <@xrf="gmm">).
342
343# $pd access
344Resultado: 	número inteiro
345
346Retorna a frequência ou periodicidade dos dados (por exemplo: 4 para dados trimestrais). No caso de dados em painel o valor retornado será a quantidade de períodos de tempo no conjunto de dados.
347
348# $pi access
349Resultado: 	escalar
350
351Retorna o valor de π com dupla precisão.
352
353# $pkgdir access
354Resultado: 	texto
355
356Uma ferramenta especial para ser usada por autores de pacotes de funções. Retorna uma cadeia de texto vazia se não estiver em execução, e se estiver, retorna o caminho completo (de acordo com a plataforma) de onde o pacote está instalado. Por exemplo, o valor retornado pode ser:
357
358<code>
359     /usr/share/gretl/functions/foo
360</code>
361
362se for essa a directoria onde <@lit="foo.gfn"> estiver localizado. Isto permite escritores de pacotes aceder a recursos como sejam ficheiros de matrizes que tenham sido incluidos nos seus pacotes.
363
364# $pvalue access
365Resultado: 	escalar ou matriz
366
367Retorna o p-valor da estatística de teste que foi gerada pelo último comando explícito de teste de hipóteses (por exemplo: <@lit="chow">). Veja <@pdf="guia de utilização do Gretl#chap:genr"> (Capítulo 10) para detalhes.
368
369Geralmente retorna um escalar, mas em alguns casos retorna uma matriz. Isso ocorre, por exemplo, com os p-valores dos testes lambda traço e lambda máximo associadas ao teste de cointegração de Johansen). Nesse caso os valores na matriz estarão dispostos da mesma forma que na saída do teste.
370
371Ver também <@ref="$test">.
372
373# $qlrbreak access
374Resultado: 	escalar
375
376Deve ser utilizada após o comando <@xrf="qlrtest"> (que realiza o teste QLR para quebra estrutural em um ponto desconhecido. Retorna o número da observação no qual a estatística de teste é maximizada.
377
378# $result access
379Resultado: 	matriz ou bundle
380
381Fornece a informação armazenada de alguns comandos que não têm acessores específicos. Tais comandos incluem <@xrf="corr">, <@xrf="fractint">, <@xrf="freq">, <@xrf="summary">, <@xrf="xtab">, <@xrf="vif"> e <@xrf="bkw"> ; neste caso o resultado é uma matriz, e ainda <@xrf="pkg">, que opcionalmente guarda como um resultado bundle.
382
383# $rho access
384Resultado: 	escalar
385Argumento: 	<@var="n">  (escalar, opcional)
386
387Se for utilizada sem argumentos a função retorna o coeficiente autorregressivo de primeira ordem para os resíduos do último modelo. Após a estimação de um modelo via comando <@lit="ar">, a sintaxe <@lit="$rho(n)"> retorna a estimativa correspondente de ρ(<@mth="n">).
388
389# $rsq access
390Resultado: 	escalar
391
392Retorna o <@mth="R"><@sup="2"> não ajustado do último modelo estimado, quando disponível.
393
394# $sample access
395Resultado: 	série
396
397Deve ser utilizada após a estimação de um modelo com equação simples e retorna uma variável dummy com valores iguais a 1 nas observações utilizadas na estimação, 0 nas observações na amostra corrente e que não foram utilizadas na estimação (possivelmente devido a valores ausentes) e NA nas observações fora da amostra selecionada corrente.
398
399Caso se queira calcular estatísticas baseadas na amostra que foi utilizada para um dado modelo, pode-se fazer, por exemplo:
400
401<code>
402     ols y 0 xlist
403     genr sdum = $sample
404     smpl sdum --dummy
405</code>
406
407# $sargan access
408Resultado: 	vetor linha
409
410Deve ser utilizada após o comando <@lit="tsls">. Retorna um vetor 1×3 contendo a estatística do teste de sobre-identificação de Sargan e os correspondentes graus de liberdade e p-valor, respectivamente. Se o modelo for exatamente identificado a estatística não estará disponível e tentar acessá-la irá provocar um erro.
411
412# $seed access
413Resultado: 	escalar
414
415Retorna o valor com que o gerador de números aleatórios de gretl foi inicializado (“semeado”). Se tiver sido definido por você, então não há necessidade de usar este acessor, mas pode ser de interesse se a “semente” tiver sido inicializada automaticamente (baseado no tempo em que o programa foi iniciado).
416
417# $sigma access
418Resultado: 	escalar ou matriz
419
420Se o último modelo estimado foi uma equação simples, retorna o erro padrão da regressão na forma de um escalar (ou, em outras palavras, retorna o desvio padrão dos resíduos com uma correção apropriada de graus de liberdade). Se o último modelo foi um sistema de equações, retorna a matriz de covariâncias dos resíduos das equações do sistema.
421
422# $stderr access
423Resultado: 	matriz ou escalar
424Argumento: 	<@var="s">  (nome do coeficiente, opcional)
425
426Quando utilizado sem argumentos, <@lit="$stderr"> retorna um vetor coluna com os erros padrão dos coeficientes do último modelo estimado. Com o argumento opcional de texto (string) a função retorna, na forma de um escalar, o parâmetro estimado <@var="s">.
427
428Se o “modelo” um sistema, o resultado dependerá de suas características: para VARs e VECMs o valor retornado será uma matriz contendo uma coluna para cada equação, caso contrário, será um vetor coluna contendo os coeficientes da primeira equação seguidos pelos coeficientes da segunda equação e assim sucessivamente.
429
430Ver também <@ref="$coeff">, <@ref="$vcv">.
431
432# $stopwatch access
433Resultado: 	escalar
434
435Deve ser precedida pelo comando <@lit="set stopwatch"> que, por sua vez, ativa a medição de tempo da CPU. Na primeira utilização da função de acesso obtém-se a quantidade de segundos que se passaram desde o comando <@lit="set stopwatch">. A cada acesso o relógio será reiniciado de forma que as utilizações subsequentes de <@lit="$stopwatch"> irão fornecer os segundos da CPU entre as duas utilizações.
436
437# $sysA access
438Resultado: 	matriz
439
440Deve ser utilizada após a estimação de um sistema de equações simultâneas. Retorna a matriz com os coeficientes das variáveis endógenas defasadas, caso existam, na forma estrutural do sistema. Veja o comando <@xrf="system">.
441
442# $sysB access
443Resultado: 	matriz
444
445Deve ser utilizada após a estimação de um sistema de equações simultâneas. Retorna a matriz com os coeficientes das variáveis exógenas na forma estrutural do sistema. Veja o comando <@xrf="system">.
446
447# $sysGamma access
448Resultado: 	matriz
449
450Deve ser utilizada após a estimação de um sistema de equações simultâneas. Retorna a matriz com os coeficientes das variáveis endógenas contemporâneas na forma estrutural do sistema. Veja o comando <@xrf="system">.
451
452# $sysinfo access
453Resultado: 	lote
454
455Retorna um pacote (bundle) contendo informações sobre o Gretl e o sistema operacional onde está sendo executado. O elementos do pacote são especificados a seguir.
456
457<indent>
458• <@lit="mpi">: inteiro, igual a 1 se o sistema suporta MPI (Message Passing Interface), caso contrário 0.
459</indent>
460
461<indent>
462• <@lit="omp">: inteiro, igual a 1 se o Gretl foi compilado com suporte a Open MP, caso contrário 0.
463</indent>
464
465<indent>
466• <@lit="nproc">: inteiro, indica o número de processadores disponíveis.
467</indent>
468
469<indent>
470• <@lit="mpimax">: inteiro, indica o número máximo de processos MPI que podem ser executados em paralelo. É igual a zero se não houver suporte para MPI, caso contrário é igual ao valor de <@lit="nproc"> local. Se for especificado um arquivo de hosts MPI, <@lit="mpimax"> será igual a soma do número de processadores ou “slots” ao longo de todas a máquinas referenciadas no arquivo.
471</indent>
472
473<indent>
474• <@lit="wordlen">: inteiro, igual a 32 ou 64 para sistemas de 32 bit e 64, respectivamente.
475</indent>
476
477<indent>
478• <@lit="os">: texto representando o sistema operacional e é igual a <@lit="linux">, <@lit="osx">, <@lit="windows"> ou <@lit="other">.
479</indent>
480
481<indent>
482• <@lit="hostname">: informa o nome da máquina (ou “host”) onde o Gretl está sendo executado no momento. Se não for possível determinar o nome, será retornado o <@lit="localhost">.
483</indent>
484
485Note que elementos individuais no pacote podem ser acessados via utilização da notação “dot” sem a necessidade de copiar o pacote inteiro. Por exemplo,
486
487<code>
488     if $sysinfo.os == "linux"
489         # faça alguma coisa que seja própria do Linux
490     endif
491</code>
492
493# $system access
494Resultado: 	lote
495
496Deve seguir a estimação de um sistema de equações via comandos <@xrf="system">, <@xrf="var"> ou <@xrf="vecm">. Retorna um pacote (bundle) contendo os ítems que fazem parte do sistema. Todas as funções de acesso regulares são incluídas: estas estão referenciadas de acordo com indicadores que são iguais aos nomes de acesso regular, sem utilizar o símbolo cifrão. Por exemplo, os resíduos aparecem sob o indicador <@lit="uhat"> e os coeficientes sob <@lit="coeff">. Os os indicadores para as informações adicionais deverão ser auto-explicativos. Para verificar quais estão disponíveis pode-se exibir os conteúdos do pacote. Exemplo:
497
498<code>
499     var 4 y1 y2 y2
500     bundle b = $system
501     print b
502</code>
503
504Um pacote definido dessa forma pode ser utilizado como o argumento final (que é opcional) nas funções <@ref="fevd"> e <@ref="irf">.
505
506# $T access
507Resultado: 	número inteiro
508
509Retorna o número de observações utilizadas na estimação do último modelo.
510
511# $t1 access
512Resultado: 	número inteiro
513
514Retorna o número da primeira observação na amostra selecionada corrente.
515
516# $t2 access
517Resultado: 	número inteiro
518
519Retorna o número da última observação na amostra selecionada corrente.
520
521# $test access
522Resultado: 	escalar ou matriz
523
524Retorna o valor da estatística de teste que foi gerada pelo último comando explícito de teste de hipóteses (por exemplo: <@lit="chow">). Veja <@pdf="guia de utilização do Gretl#chap:genr"> (Capítulo 10) para detalhes.
525
526Geralmente retorna um escalar, mas em alguns casos retorna uma matriz. Isso ocorre, por exemplo, com as estatísticas lambda traço e lambda máximo associadas ao teste de cointegração de Johansen). Nesse caso os valores na matriz estarão dispostos da mesma forma que na saída do teste.
527
528Ver também <@ref="$pvalue">.
529
530# $tmax access
531Resultado: 	número inteiro
532
533Devolve o máximo valor possível para indicar o fim do intervalo de uma amostra alterada com o comando <@xrf="smpl">. Na maior parte das vezes, isto vai ser igual ao número de observações do conjunto de dados, mas numa função em Hansl, o valor <@lit="$tmax"> pode ser menor, pois em geral o acesso aos dados a partir do interior de funções está limitado ao intervalo amostral definido pela função chamadora.
534
535Notar que, em geral, o <@lit="$tmax"> não é igual a <@ref="$nobs">, que indica número de observações do intervalo da amostra actual.
536
537# $trsq access
538Resultado: 	escalar
539
540Retorna <@mth="TR"><@sup="2"> (tamanho da amostra multiplicado pelo R-quadrado) do último modelo, quando disponível.
541
542# $uhat access
543Resultado: 	série
544
545Retorna os resíduos do último modelo. Isto pode ter diferentes significados a depender dos estimadores utilizados. Por exemplo, após a estimação de um ARMA <@lit="$uhat"> irá conter os erros de previsão de 1 passo à frente, após a estimação de um probit irá conter os resíduos generalizados.
546
547Se o “modelo” em questão for um sistema (um VAR, um VECM ou um sistema de equações simultâneas), o <@lit="$uhat"> sem parâmetros fornece a matriz de resíduos, uma coluna por equação.
548
549# $unit access
550Resultado: 	série
551
552Vale apenas para dados de painel. Retorna uma série com valor igual a 1 em todas as observações na primeira unidade ou grupo, 2 em todas as observações na segunda unidade ou grupo e assim sucessivamente.
553
554# $vcv access
555Resultado: 	matriz ou escalar
556Argumentos:	<@var="s1">  (nome do coeficiente, opcional)
557		<@var="s2">  (nome do coeficiente, opcional)
558
559Quando utilizado sem argumentos, <@lit="$vcv"> retorna uma matriz contendo a matriz de covariâncias estimadas para os coeficientes do último modelo. Se o último modelo foi uma equação simples, então é possível fornecer os nomes dos dois parâmetros entre parênteses para se obter a covariância estimada entre <@var="s1"> e <@var="s2">. Ver também <@ref="$coeff">, <@ref="$stderr">.
560
561Este acessor não está disponível para VARs ou VECMs. Para modelos desse tipo <@ref="$sigma"> e <@ref="$xtxinv">.
562
563# $vecGamma access
564Resultado: 	matriz
565
566Deve ser utilizada após a estimação de um VECM e retorna uma matriz na qual as matrizes Gama (coeficientes das diferenças defasadas das variáveis cointegradas) são empilhadas lado a lado. Cada linha representa uma equação. Para um VECM de ordem <@mth="p"> existem <@mth="p"> – 1 sub-matrizes.
567
568# $version access
569Resultado: 	escalar
570
571Retorna um valor inteiro que identifica a versão do Gretl. Atualmente a versão do Gretl é composta por um texto com o seguinte formato: ano, com 4 dígitos, seguido de uma letra, de a até j, representando as atualizações dentro desse ano (por exemplo, 2015d). O valor retornado por essa função é igual ao ano multiplicado por 10 e adicionado de um número representando, em ordem léxica, a letra. Assim, 2015d seria representado por 20153.
572
573Em versões anteriores ao Gretl 2015d, o identificador possuia a seguinte forma: x.y.z (três inteiros separados por pontos) e o valor da função era calculado como <@lit="10000*x + 100*y + z ">. Assim, por exemplo, a versão 1.10.2 era traduzida como 11002. Note que dessa forma a ordem numérica de <@lit="$version "> foi preservada mesmo com a mudança no esquema de versões.
574
575# $vma access
576Resultado: 	matriz
577
578Deve ser utilizada após a estimação de um VAR ou um VECM e retorna uma matriz contendo a representação VMA até a ordem especificada via comando <@lit="set horizon">. Veja <@pdf="guia de utilização do Gretl#chap:var"> (Capítulo 32) para detalhes.
579
580# $windows access
581Resultado: 	número inteiro
582
583Retorna o valor 1 se o Gretl estiver sendo utilizado no Windows e 0 caso contrário. Através dessa função é possível utilizar comandos “shell” em scripts que possam ser executados em diferentes sistemas operacionais.
584
585Veja também o comando <@xrf="shell">.
586
587# $workdir access
588Resultado: 	texto
589
590Este acessor retorna o caminho por defeito onde Gretl lê e escreve os ficheiros. Uma descrição mais detalhada pode ser encontrada no Guia de Referência dos Comandos em <@xrf="workdir">.Note-se que esta variável pode ser alterada por meio do comando <@xrf="set">.
591
592# $xlist access
593Resultado: 	lista
594
595Se o último modelo estimado foi um equação simples a função retorna uma lista com os regressores. Se o último modelo foi um sistema de equações ela retorna uma lista “global” com as variáveis exógenas e predeterminadas (na mesma ordem que aparecem na função <@ref="$sysB">). Se o último modelo foi um VAR ela retorna uma lista com os regressores exógenos, caso existam.
596
597# $xtxinv access
598Resultado: 	matriz
599
600Após a estimação de um VAR ou VECM (apenas), retorna <@mth="X'X"><@sup="-1">, onde <@mth="X"> é a matriz comum de regressores utilizados em cada equação. Essa função de acesso não está disponível para VECMs estimados com restrições impostas na matriz de cargas(α).
601
602# $yhat access
603Resultado: 	série
604
605Retorna os valores ajustados da última regressão.
606
607# $ylist access
608Resultado: 	lista
609
610Se o último modelo estimado foi um VAR, um VECM ou um sistema de equações simultâneas a função retorna uma lista com as variáveis endógenas. Se o último modelo foi uma equação simples a função de acesso retorna uma lista com apenas um elemento, a variável dependente. No caso especial do modelo biprobit a lista irá conter dois elementos.
611
612## Functions proper
613
614# abs math
615Resultado: 	o mesmo tipo que o argumento
616Argumento: 	<@var="x">  (escalar, série ou matriz)
617
618Retorna o valor absoluto de <@var="x">.
619
620# acos math
621Resultado: 	o mesmo tipo que o argumento
622Argumento: 	<@var="x">  (escalar, série ou matriz)
623
624Retorna o arco-cosseno de <@var="x">, isto é, o valor cujo cosseno é <@var="x">. Resultado em radianos e o argumento deve estar entre –1 e 1.
625
626# acosh math
627Resultado: 	o mesmo tipo que o argumento
628Argumento: 	<@var="x">  (escalar, série ou matriz)
629
630Retorna o cosseno hiperbólico inverso de <@var="x"> (solução positiva). <@var="x"> deve ser maior que 1, caso contrário a função retornará NA. Ver também <@ref="cosh">.
631
632# aggregate stats
633Resultado: 	matriz
634Argumentos:	<@var="x">  (série ou lista)
635		<@var="byvar">  (série ou lista)
636		<@var="funcname">  (texto, opcional)
637
638Na forma mais simples de uso, <@var="x"> é igual a <@lit="null">, <@var="byvar"> é uma séries individual e o terceiro argumento é omitido. Neste caso é retornada uma matriz com duas colunas contendo na primeira coluna os valores distintos de <@var="byvar">, ordenados de forma crescente, e na segunda a quantidade de observações de <@var="byvar"> para cada um dos valores distintos. Por exemplo,
639
640<code>
641     open data4-1
642     eval aggregate(null, bedrms)
643</code>
644
645mostrará que a serie <@lit="bedrms"> tem valores 3 (num total de 5 vezes) e 4 (num total de 9 vezes).
646
647Se <@var="x"> e <@var="byvar"> são ambas séries individuais, e é indicado um terceiro argumento, o valor retornado é uma matriz com três colunas contendo, respectivamente, os valores distintos de <@var="byvar">, por ordem crescente; a contagem das observações em que o <@var="byvar"> toma em cada um desses valores; e os valores da estatística especificada por <@var="funcname"> calculada na série <@var="x">, usando apenas aquelas observações nas quais <@var="byvar"> tem valor igual aos dados na primeira coluna.
648
649Mais geralmente, se <@var="byvar"> for uma lista com <@mth="n"> membros então as <@mth="n"> colunas a esquerda contêm as combinações dos valores distintos de cada uma das <@mth="n"> séries e a coluna de contagem contém o número de observações nas quais cada combinação é feita. Se <@var="x"> for uma lista com <@mth="m"> membros então as <@mth="m"> colunas mais a direita contêm os valores da estatística especificada para cada uma das <@var="x"> variáveis, novamente calculadas na subamostra indicada na(s) primeira(s) coluna(s).
650
651Os seguintes valores de <@var="funcname"> são suportados de forma “nativa”: <@ref="sum">, <@ref="sumall">, <@ref="mean">, <@ref="sd">, <@ref="var">, <@ref="sst">, <@ref="skewness">, <@ref="kurtosis">, <@ref="min">, <@ref="max">, <@ref="median">, <@ref="nobs"> e <@ref="gini">. Cada uma dessas funções utiliza uma série como argumento e retorna um valor escalar e, nesse sentido, pode-se dizer que “agregam” a série de alguma forma. É possível utilizar uma função definida pelo usuário como um agregador. Da mesma forma que as funções nativas, tal função deve ter como argumento apenas uma única série e retornar um valor escalar.
652
653Note que apesar de a contagem de casos ser realizada de forma automática pela função <@lit="nobs">, a função <@lit="aggregate "> não é redundante como uma agregadora, uma vez que fornece o número de observações válidas (não ausentes) em <@var="x "> em cada combinação <@var="byvar">.
654
655Para exemplificar isso, suponha que <@lit="region"> representa um código de uma região geográfica usando valores inteiros de 1 até <@mth="n"> e <@lit="income"> representa a renda doméstica. Então o cálculo a seguir deverá produzir uma matriz de ordem <@itl="n">×3 contendo os códigos das regiões, a contagem de observações em cada região e a renda média doméstica para cada uma das regiões:
656
657<code>
658     matrix m = aggregate(income, region, mean)
659</code>
660
661Para um exemplo usando listas, seja <@lit="gender"> uma variável dummy macho/fêmea, seja <@lit="race"> uma variável categórica com três valores e considere o seguinte código:
662
663<code>
664     list BY = gender race
665     list X = income age
666     matrix m = aggregate(X, BY, sd)
667</code>
668
669A utilização de <@lit="aggregate"> produzirá uma matriz de ordem 6×5. As primeiras duas colunas contêm as 6 distintas combinações dos valores de gênero e raça. A coluna do meio contém a contagem para cada uma dessas combinações. As duas colunas mais à direita contêm os desvios padrão amostrais de <@lit="income"> e <@lit="age">.
670
671Note que se <@var="byvar"> for uma lista, algumas combinações dos valores de <@var="byvar"> podem não estar presentes nos dados (fornecendo uma contagem igual a zero). Nesse caso os valores das estatísticas para <@var="x"> são considerados como <@lit="NaN"> (ou seja, não são números). Caso seja desejado ignorar esses casos é possível utilizar a função <@ref="selifr"> para selecionar apenas aquelas linhas que não possuam uma contagem igual a zero. A coluna a ser testada estará uma posição à direita após o número de variáveis de <@var="byvar">, assim, pode-se utilizar o seguinte código:
672
673<code>
674     matrix m = aggregate(X, BY, sd)
675     scalar c = nelem(BY)
676     m = selifr(m, m[,c+1])
677</code>
678
679# argname strings
680Resultado: 	texto
681Argumento: 	<@var="s">  (texto)
682
683Seja <@var="s"> o nome de um parâmetro de uma função definida pelo usuário, retorna o nome do argumento correspondente ou uma variável de texto (string) vazia se o argumento for anônimo.
684
685# array data-utils
686Resultado: 	ver abaixo
687Argumento: 	<@var="n">  (número inteiro)
688
689É a função “construtora” básica de uma nova variável do tipo arranjo (array). Ao usar esta função é necessário que se especifique um tipo (na forma plural) para o arranjo: <@lit="strings">, <@lit="matrices">, <@lit="bundles"> ou <@lit="lists">. O valor de retorno é um arranjo do tipo especificado e com <@var="n"> elementos “vazios” (exemplos: variável de texto/string vazia ou matriz nula). Exemplos de utilização:
690
691<code>
692     strings S = array(5)
693     matrices M = array(3)
694</code>
695
696Veja também <@ref="defarray">.
697
698# asin math
699Resultado: 	o mesmo tipo que o argumento
700Argumento: 	<@var="x">  (escalar, série ou matriz)
701
702Retorna o arco-seno de <@var="x">, isto é, o valor cujo seno é <@var="x">. Resultado em radianos e o argumento deve estar entre –1 e 1.
703
704# asinh math
705Resultado: 	o mesmo tipo que o argumento
706Argumento: 	<@var="x">  (escalar, série ou matriz)
707
708Retorna o seno hiperbólico inverso de <@var="x">. Ver também <@ref="sinh">.
709
710# assert programming
711Resultado: 	escalar
712Argumento: 	<@var="expr">  (escalar)
713
714Esta função serve para testar ou despistar erros no código hansl. O argumento deve ser uma expressão escalar. O valor retornado é 1 se <@var="expr"> retorna um valor não-zero (o valor booleano “verdadeiro”, ou “sucesso”) ou 0 se a expressão é zero (o valor booleano “falso”, ou “insucesso”).
715
716Por defeito, não há consequências se <@lit="assert"> falhar, para além do valor retornado ser zero. No entanto o comando <@xrf="set"> pode ser usado para fazer com que uma falha da verificação seja mais consequente. Existem dois níveis:
717
718<code>
719     # mostra uma mensagem de aviso mas continua a execução
720     set assert warn
721     # mostra uma mensagem de erro e interrompe a execução
722     set assert stop
723</code>
724
725O comportamento padrão pode ser restaurado com o comando
726
727<code>
728     set assert off
729</code>
730
731Como simples exemplo, se num certo ponto no script hansl um escalar <@lit="x"> ser sempre não-negativo, este código controlará esta condição e terminará se ela não for satisfeita:
732
733<code>
734     set assert stop
735     assert(x >= 0)
736</code>
737
738# atan math
739Resultado: 	o mesmo tipo que o argumento
740Argumento: 	<@var="x">  (escalar, série ou matriz)
741
742Retorna o arco-tangente de <@var="x">, isto é, o valor cuja tangente é <@var="x">. Resultado em radianos. Ver também <@ref="cos">, <@ref="sin">, <@ref="tan">.
743
744# atan2 math
745Resultado: 	o mesmo tipo que o argumento
746Argumentos:	<@var="y">  (escalar, série ou matriz)
747		<@var="x">  (escalar, série ou matriz)
748
749Retorna o valor principal do arco-tangente de <@var="y">/<@var="x">, usando os sinais dos dois argumentos para determinar o quadrante do resultado, que é expresso em radianos, dentro do intervalo [–π, π].
750
751Se os dois argumentos forem de tipos diferentes, o resultado é do tipo “mais alto” dos dois, seguindo a ordem, matriz > série > escalar. Por exemlo, se <@var="y"> é um escalar e <@var="x"> um vector de <@mth="n"> elementos (ou viceversa), o resultado é também um vector. Note-se que os argumentos matriciais deverem ser vectores, e que se nenhum deles for escalar, devem ter a mesma dimensão.
752
753Ver também <@ref="tan">, <@ref="tanh">.
754
755# atanh math
756Resultado: 	o mesmo tipo que o argumento
757Argumento: 	<@var="x">  (escalar, série ou matriz)
758
759Retorna a tangente hiperbólica inversa de <@var="x">. Ver também <@ref="tanh">.
760
761# atof strings
762Resultado: 	escalar
763Argumento: 	<@var="s">  (texto)
764
765Função semelhante à existente na linguagem de programação C, retorna o resultado da conversão da variável de texto (string) <@var="s"> (ou sua porção inicial, após descartar quaisquer espaços em branco no seu início) em número de ponto flutuante. Diferente do que ocorre na linguagem C, a função <@lit="atof"> (por questões de portabilidade) sempre assume que o caractere decimal é o “<@lit=".">”. Todos os caracteres que se seguem após a parte de <@var="s"> que pode ser convertida para um número de ponto flutuante são ignorados.
766
767Se nenhum dos caracteres de <@var="s"> (que se seguem após os espaços em branco que são descartados) puderem ser convertidos a função retornará <@lit="NA">.
768
769<code>
770     # Exemplos:
771     x = atof("1.234") # retorna x = 1.234
772     x = atof("1,234") # retorna x = 1
773     x = atof("1.2y")  # retorna x = 1.2
774     x = atof("y")     # retorna x = NA
775     x = atof(",234")  # retorna x = NA
776</code>
777
778Veja também <@ref="sscanf"> para maior flexibilidade nas conversões de textos em números.
779
780# bessel math
781Resultado: 	o mesmo tipo que o argumento
782Argumentos:	<@var="type">  (caractere)
783		<@var="v">  (escalar)
784		<@var="x">  (escalar, série ou matriz)
785
786Calcula uma das variantes da função de Bessel de ordem <@var="v"> e argumento <@var="x">. O valor retornado será do mesmo tipo de <@var="x">. A função específica é selecionada pelo primeiro argumento e deve ser <@lit="J">, <@lit="Y">, <@lit="I"> ou <@lit="K">. Uma boa discussão sobre as funções de Bessel pode ser encontrada na Wikipédia. Aqui serão feitos comentários breves.
787
788caso <@lit="J">: função de Bessel de primeiro tipo. Se assemelha a uma onda senoidal amortecida. Definida para <@var="v"> real e <@var="x">. Se <@var="x"> for negativo então <@var="v"> deve ser um inteiro.
789
790caso <@lit="Y">: função de Bessel de segundo tipo. Definida para <@var="v"> real e <@var="x">, mas com uma singularidade em <@var="x"> = 0.
791
792caso <@lit="I">: função de Bessel modificada de primeiro tipo. Uma função com crescimento exponencial. Argumentos que podem ser usados são os mesmos do caso <@lit="J">.
793
794caso <@lit="K">: função de Bessel modificada de segundo tipo. Uma função com decaimento exponencial. Diverge em <@var="x"> = 0 e não é definida para valores negativos de <@var="x">. É simétrica em torno de <@var="v"> = 0.
795
796# BFGSmax numerical
797Resultado: 	escalar
798Argumentos:	<@var="&b">  (referência a matriz)
799		<@var="f">  (chamada a função)
800		<@var="g">  (chamada a função, opcional)
801
802Realiza a maximização numérica via método de Broyden, Fletcher, Goldfarb e Shanno. O argumento <@var=" b"> deve conter os valores iniciais de um conjunto de parâmetros e o argumento <@var="f"> deve especificar uma chamada à função que calcule o critério (escalar) a ser maximizado, dados os valores correntes dos parâmetros e quaisquer outros dados que sejam relevantes. Se o objetivo for de fato uma minimização, esta função deverá retornar o negativo do critério. Se for completada com sucesso, <@lit="BFGSmax"> retorna o valor maximizado do critério e <@var="b"> armazena os valores dos parâmetros que maximizam a função.
803
804O terceiro argumento, opcional, estabelece uma maneira de fornecer derivadas analíticas (caso contrário o gradiente será computado numericamente). A função gradiente <@var=" g"> deve ter como primeiro argumento uma matriz pré-definida que tenha o tamanho adequado para armazenar o gradiente, dado na forma de ponteiro. Ela também precisa ter o vetor de parâmetros como um argumento (na forma de ponteiro ou não). Outros argumentos são opcionais.
805
806Para maiores detalhes e exemplos veja o capítulo sobre métodos numéricos em <@pdf="guia de utilização do Gretl#chap:numerical"> (Capítulo 37). Ver também <@ref="BFGScmax">, <@ref="NRmax">, <@ref="fdjac">, <@ref="simann">.
807
808# BFGSmin numerical
809Resultado: 	escalar
810
811É uma forma alternativa da função <@ref="BFGSmax">. Se invocada com este nome a função comporta-se como minimizadora.
812
813# BFGScmax numerical
814Resultado: 	escalar
815Argumentos:	<@var="&b">  (referência a matriz)
816		<@var="bounds">  (matriz)
817		<@var="f">  (chamada a função)
818		<@var="g">  (chamada a função, opcional)
819
820Realiza a maximização com restrições via L-BFGS-B (BFGS com memória limitada, veja <@bib="Byrd, Lu, Nocedal e Zhu, 1995;byrd-etal95">). O argumento <@var="b "> deve conter os valores iniciais de um conjunto de parâmetros, <@var="bounds"> deve conter as restrições que aplicadas aos valores dos parâmetros (veja abaixo) e <@var="f"> deve especificar uma chamada à função que calcule o critério (escalar) a ser maximizado, dados os valores correntes dos parâmetros e quaisquer outros dados que sejam relevantes. Se o objetivo for de fato uma minimização, esta função deverá retornar o negativo do critério. Se for completada com sucesso, <@lit="BFGScmax"> retorna o valor maximizado do critério, sujeito às restrições em <@var="bounds"> e <@var="b"> contém os valores dos parâmetros que maximizam a função.
821
822A matriz <@var="bounds"> deve ter 3 colunas e um número de linhas igual ao número de elementos restritos no vetor de parâmetros. O primeiro elemento de uma dada linha é o índice (de base 1) do parâmetro restrito, o segundo e o terceiro são os limites inferiores e superiores, respectivamente. Os valores <@lit="-$huge"> e <@lit="$huge"> devem ser usados para indicar que o parâmetro não possui restrições inferiores ou superiores, respectivamente. Por exemplo, a expressão a seguir é a forma de se especificar que o segundo elemento do vetor de parâmetros deve ser não-negativo:
823
824<code>
825     matrix bounds = {2, 0, $huge}
826</code>
827
828O quarto argumento, opcional, estabelece uma maneira de fornecer derivadas analíticas (caso contrário o gradiente será computado numericamente). A função gradiente <@var=" g"> deve ter como primeiro argumento uma matriz pré-definida que tenha o tamanho adequado para armazenar o gradiente, dado na forma de ponteiro. Ela também precisa ter o vetor de parâmetros como um argumento (na forma de ponteiro ou não). Outros argumentos são opcionais.
829
830Para maiores detalhes e exemplos veja o capítulo sobre métodos numéricos em <@pdf="guia de utilização do Gretl#chap:numerical"> (Capítulo 37). Ver também <@ref="BFGSmax">, <@ref="NRmax">, <@ref="fdjac">, <@ref="simann">.
831
832# BFGScmin numerical
833Resultado: 	escalar
834
835É uma forma alternativa da função <@ref="BFGSmax">.Se invocada com este nome a função comporta-se como minimizadora.
836
837# bincoeff math
838Resultado: 	o mesmo tipo que o argumento
839Argumentos:	<@var="n">  (escalar, série ou matriz)
840		<@var="k">  (escalar, série ou matriz)
841
842Calcula o coeficiente binomial, ou seja o número de maneiras com que <@var="k"> elementos possam ser escolhidos a partir dos <@var="n"> elementos sem repetições, independentemente da sua ordenação. Este número é também igual ao <@var="(k+1)">-esimo coeficiente da expansão polinomial da <@mth="(1+x)^n">.
843
844Para argumentos inteiros, o resultado é <@mth="n!/k!(n-k)!">, mas a função aceita também aceita argumentos reais, e a fórmula generaliza-se com <@mth=" Γ(n+1)/( Γ(k+1) × Γ(n-k+1) )">
845
846Quando <@var="k"> > <@var="n"> ou <@var="k"> < 0, a função retorna NA.
847
848Se os dois argumentos forem de tipos diferentes, o resultado é do tipo “mais alto” dos dois, seguindo a ordem, matriz > série > escalar. Por exemlo, se <@var="n"> é um escalar e <@var="k"> um vector de <@mth="r"> elementos (ou viceversa), o resultado é também um vector. Note-se que os argumentos matriciais deverem ser vectores, e que se nenhum deles for escalar, devem ter a mesma dimensão.
849
850Ver também <@ref="gammafun"> e <@ref="lngamma">.
851
852# bkfilt timeseries
853Resultado: 	série
854Argumentos:	<@var="y">  (série)
855		<@var="f1">  (número inteiro, opcional)
856		<@var="f2">  (número inteiro, opcional)
857		<@var="k">  (número inteiro, opcional)
858
859Retorna o resultado da aplicação do filtro passa-banda de Baxter–King para a série <@var="y">. Os parâmetros opcionais <@var="f1"> e <@var="f2"> representam, respectivamente, os limites inferior e superior da amplitude de frequência a ser extraída, enquanto <@var="k"> é a ordem de aproximação a ser utilizada.
860
861Se esses argumentos não forem fornecidos então os valores padrão irão depender da periodicidade do conjunto de dados. Para dados anuais os padrões para <@var="f1">, <@var="f2"> e <@var="k"> são 2, 8 e 3, respectivamente. Para dados trimestrais são 6, 32 e 12. Para dados mensais são 18, 96 e 36. Esses valores são escolhidos para coincidir com a escolha mais comum entre os praticantes, que é a utilização desse filtro para extrair o componente de frequência do “ciclo de negócios”. Isso, por sua vez, é comumente definido como sendo entre 18 meses e 8 anos. O filtro, por escolha padrão, abrange 3 anos de dados.
862
863Se <@var="f2"> for maior ou igual ao número de observações disponíveis, então a versão “passa-baixa” do filtro será executada e a série resultante deve ser considerada como uma estimativa do componente de tendência, ao invés de ciclo. Ver também <@ref="bwfilt">, <@ref="hpfilt">.
864
865# bkw stats
866Resultado: 	matriz
867Argumentos:	<@var="V">  (matriz)
868		<@var="parnames">  (cadeia de texto, opcional)
869		<@var="verbose">  (booleano, opcional)
870
871Calcula o test BKW para a colinearidade (ver <@bib="Belsley, Kuh and Welsch (1980);belsley-etal80">) dada a matriz covariança da estimativa dos parâmetros <@var="V">. O segundo argumento opcional, que pode ser um vector de texto ou uma cadeia de texto que contenha nomes separados por vírgulas, é usado para etiquetar a coluna que mostra a proporção da variância; o número de nomes deve ser igual à dimensão de <@var="V">. Depois de se ter estimado uma modelo em gretl, pode-se obter os parâmetros adequados por via dos acessores <@ref="$vcv"> e <@ref="$parnames">.
872
873Por defeito esta função produz apenas a tabela BKW como matriz, mas se inserir um valor diferente de 0 como terceiro argumento, junto com a tabela é mostrado mais alguma análise.
874
875Esta função também existe como comando que retorna o mesmo cálculo, <@xrf="bkw">, e que usa automaticamente o último modelo sem necessitar argumentos.
876
877# boxcox transforms
878Resultado: 	o mesmo tipo que o argumento
879Argumentos:	<@var="y">  (série ou matriz)
880		<@var="d">  (escalar)
881
882Retorna a transformação de Box–Cox com parâmetro <@var="d"> para uma variável positiva <@var="y"> (ou a coluna da matriz <@var="y">).
883
884O resultado é (<@mth="y"><@sup="d"> - 1)/<@mth="d"> para <@mth="d"> diferente de zero ou log(<@mth="y">) para <@mth="d"> = 0.
885
886# bread data-utils
887Resultado: 	lote
888Argumentos:	<@var="fname">  (texto)
889		<@var="import">  (booleano, opcional)
890
891Lê um pacote (bundle) a partir de um arquivo de texto. A variável de texto (string) <@var="fname"> deve conter o nome do arquivo no qual o pacote será lido. Se esse nome tiver a extensão “<@lit=".gz">” será assumido que foi aplicada a compactação do arquivo via gzip.
892
893O arquivo em questão deve ser um XML apropriadamente definido: ele dever conter um elemento <@lit="gretl-bundle">, utilizado para armazenar zero ou mais elementos <@lit="bundled-item">. Por exemplo:
894
895<code>
896     <?xml version="1.0" encoding="UTF-8"?>
897     <gretl-bundle name="temp">
898          <bundled-item key="s" type="string">moo</bundled-item>
899          <bundled-item key="x" type="scalar">3</bundled-item>
900     </gretl-bundle>
901</code>
902
903Como esperado, tais arquivos são gerados automaticamente pela função associada <@ref="bwrite">.
904
905Se o nome do arquivo não contiver a especificação completa de seu caminho, ele será procurado em vários locais “prováveis”, começando no <@xrf="workdir"> corrente. Entretanto, se for dado um valor não-nulo para o argumento opcional <@var="import">, o arquivo será procurado no diretório “@dotdir”. Nesse caso o argumento <@var="fname"> deverá ser um nome simples, sem a inclusão do caminho.
906
907Se ocorrer algum erro (tal como o arquivo ter sido mal formatado ou ser inacessível), um erro será retornado via acessor <@ref="$error">.
908
909Ver também <@ref="mread">, <@ref="bwrite">.
910
911# brename data-utils
912Resultado: 	escalar
913Argumentos:	<@var="B">  (lote)
914		<@var="antiga">  (texto)
915		<@var="nova">  (texto)
916
917Se o argumento bundle <@var="B"> contém um elemento com a etiqueta <@var="antiga">, esta é alterada para <@var="nova">; caso contrário, é mostrado um erro. Em caso de sucesso, retorna 0.
918
919Esta não é uma operação muito comum, mas pode ser necessária em funções que trabalham com bundles, e <@lit="brename"> é uma ferramenta eficiente para essa tarefa. Exemplo:
920
921<code>
922     # controi um bundle contendo uma matriz grande
923     bundle b
924     b.X = mnormal(1000, 1000)
925     if 0
926         # muda o nome manualmente
927         Xcopy = b.X
928         delete b.X
929         b.Y = Xcopy
930         delete Xcopy
931     else
932         # melhor: mais eficiente
933         brename(b, "X", "Y")
934     endif
935</code>
936
937O primeiro método obriga a que a matriz seja copiada duas vezes, fora do bundle e depois insere com nova etiqueta, enquanto o método eficiente altera directamente a etiqueta.
938
939# bwfilt timeseries
940Resultado: 	série
941Argumentos:	<@var="y">  (série)
942		<@var="n">  (número inteiro)
943		<@var="omega">  (escalar)
944
945Retorna o resultado da aplicação de um filtro passa-baixo de Butterworth de ordem <@var="n"> e frequência de corte <@var="omega"> na série <@var="y">. O corte é expresso em graus e deve ser maior ou igual a 0 e menor que 180. Valores de corte menores restringem o passa-banda a menores frequências e assim produzem uma tendência mais suave. Valores maiores de <@var="n"> produzem um corte mais agudo, mas ao custo de possível instabilidade numérica.
946
947A inspeção preliminar do periodograma da série de interesse é útil quando se deseja aplicar esta função. Veja <@pdf="guia de utilização do Gretl#chap:tsfilter"> (Capítulo 30) para detalhes. Ver também <@ref="bkfilt">, <@ref="hpfilt">.
948
949# bwrite data-utils
950Resultado: 	número inteiro
951Argumentos:	<@var="B">  (lote)
952		<@var="fname">  (texto)
953		<@var="export">  (booleano, opcional)
954
955Escreve um pacote (bundle) <@var="B"> em um arquivo XML com nome <@var="fname">. Para uma descrição sumária de seu formato, veja <@ref="bread">. Se já existir um arquivo <@var="fname"> ele será sobrescrito. O valor de retorno da função é 0 em caso de sucesso. Se ocorrerem erros, tais como a impossibilidade de sobrescrever o arquivo, a função retorna um valor não-nulo.
956
957O arquivo de saída será salvo no diretório <@xrf="workdir">, a menos que a variável <@var="fname"> contenha um caminho para o diretório onde será armazenado. Entretanto, se for dado um valor não-nulo para o argumento <@var=" export">, o arquivo de saída será armazenado no diretório “@dotdir”. Neste caso um nome simples, sem especificação de caminho, deverá ser utilizado como segundo argumento.
958
959Por padrão, o arquivo XML é armazenado sem compressão, mas se <@var="fname"> tiver a extensão <@lit=".gz"> é aplicada a compressão gzip.
960
961Ver também <@ref="bread">, <@ref="mwrite">.
962
963# carg complex
964Resultado: 	matriz
965Argumento: 	<@var="C">  (matriz complexa)
966
967Retorna uma matriz real <@itl="m">×<@itl="n"> contendo o “argumento” complexo de cada elemento da matriz complexa <@itl="m">×<@itl="n"> <@var="C">. O argumento do número complexo <@mth="z"> = <@mth="x"> + <@mth="yi"> também pode ser calculado como <@lit="atan2(y, x)">.
968
969Ver também <@ref="cmod">, <@ref="atan2">.
970
971# cdemean transforms
972Resultado: 	matriz
973Argumentos:	<@var="X">  (matriz)
974		<@var="standardize">  (booleano, opcional)
975
976Centraliza as colunas da matriz <@var="X"> em torno de suas médias. Se o segundo argumento (opcional) é diferente de zero, a coluna é normalizada, usando o desvio padrão ajustada com os graus de liberdade (ou seja <@mth="n"> – 1 como divisor, onde <@mth="n"> é o número de linhas de <@var="X">).
977
978# cdf probdist
979Resultado: 	o mesmo tipo que o argumento
980Argumentos:	<@var="c">  (caractere)
981		<@var="…">  (ver abaixo)
982		<@var="x">  (escalar, série ou matriz)
983Exemplos: 	<@lit="p1 = cdf(N, -2.5)">
984		<@lit="p2 = cdf(X, 3, 5.67)">
985		<@lit="p3 = cdf(D, 0.25, -1, 1)">
986
987Calculadora da função de distribuição acumulada. Retorna <@mth="P(X ≤ x)">, onde a distribuição de <@mth="X"> é especificada pela letra <@var="c">. Entre os argumentos <@var=" c"> e <@var="x">, zero ou mais argumentos adicionais são necessários para que se especifique os parâmetros da distribuição. Isso é feito da seguinte forma (note que a distribuição normal tem, por conveniência, uma função própria, <@ref="cnorm">):
988
989<indent>
990• Normal padrão (c = z, n ou N): sem argumentos extras
991</indent>
992
993<indent>
994• Normal bivariada (D): coeficiente de correlação
995</indent>
996
997<indent>
998• t de Student (t): graus de liberdade
999</indent>
1000
1001<indent>
1002• Qui-quadrado (c, x ou X): graus de liberdade
1003</indent>
1004
1005<indent>
1006• F de Snedecor F (f ou F): graus de liberdade (num.); graus de liberdade (den.)
1007</indent>
1008
1009<indent>
1010• Gama (g ou G): forma; escala
1011</indent>
1012
1013<indent>
1014• Binomial (b ou B): probabilidade; quantidade de tentativas
1015</indent>
1016
1017<indent>
1018• Poisson (p ou P): média
1019</indent>
1020
1021<indent>
1022• Exponencial (exp): escala
1023</indent>
1024
1025<indent>
1026• Weibull (w ou W): forma; escala
1027</indent>
1028
1029<indent>
1030• Laplace (l ou L): media; escala
1031</indent>
1032
1033<indent>
1034• Erro Generalizado (E): forma
1035</indent>
1036
1037<indent>
1038• Qui-quadrado não-central (ncX): graus de liberdade, parâmetro de não-centralidade
1039</indent>
1040
1041<indent>
1042• F não-central (ncF): graus de liberdade (num.), graus de liberdade (den.), parâmetro de não-centralidade
1043</indent>
1044
1045<indent>
1046• t não-central (nct): graus de liberdade, parâmetro de não-centralidade
1047</indent>
1048
1049Note que na maioria dos casos existem pseudônimos para ajudar na memorização dos códigos. O caso da norma bivariada é especial: a sintaxe é <@lit="x = cdf(D, rho, z1, z2)"> onde <@lit="rho"> é a correlação entre as variáveis <@lit="z1"> e <@lit="z2">.
1050
1051Ver também <@ref="pdf">, <@ref="critical">, <@ref="invcdf">, <@ref="pvalue">.
1052
1053# cdiv complex
1054Resultado: 	matriz
1055Argumentos:	<@var="X">  (matriz)
1056		<@var="Y">  (matriz)
1057
1058Divisão de números complexos. Os dois argumentos devem possuir o mesmo número de linhas, <@mth="n">, e devem possuir uma ou duas colunas. A primeira coluna contém a parte real e a segunda (se estiver presente) contém a parte imaginária. A função retorna uma matriz de ordem <@itl="n">×2 ou, caso não exista a parte imaginária, um vetor com <@mth="n"> linhas. Ver também <@ref="cmult">.
1059
1060# cdummify transforms
1061Resultado: 	lista
1062Argumento: 	<@var="L">  (lista)
1063
1064Esta função devolve uma lista em que cada série do argumento <@var="L"> que tenha o atributo “codificado” é substituída por un conjunto de variáveis fictícias/dummy que representam cada um dos seus valores codificados, mas omitindo o valor mais pequeno/menor. Se o argumento <@var="L"> não contém nenhuma série codificada, o valor retornado vai ser idêntico ao argumento <@var="L">.
1065
1066As variáveis fictícias/dummy, se geradas, terão os nomes criados de acordo com o padrão <@lit="D"><@var=" nome-da-variável "><@lit="_"><@var="vi"> onde <@var="vi"> é o <@var="i"><@itl="-ésimo"> valor representado da variável codificada. Caso alguns valores sejam negativos, será inserido “m” antes do valor (absoluto) de <@var="vi">.
1067
1068Por exemplo, supondo que <@var="L"> contém, uma série codificada chamada <@lit="C1"> com valores –9, –7, 0, 1 e 2. Então, as variáveis dummy/fictícias geradas vão ser <@lit="DC1_m7"> (que codifica quando C1 = –7), <@lit="DC1_0"> (que codifica quando C1 = 0), etc.
1069
1070Ver também <@ref="dummify">, <@ref="getinfo">.
1071
1072# ceil math
1073Resultado: 	o mesmo tipo que o argumento
1074Argumento: 	<@var="x">  (escalar, série ou matriz)
1075
1076Consiste na função teto. Retorna o menor inteiro que seja maior ou igual a <@var="x">. Ver também <@ref="floor">, <@ref="int">.
1077
1078# cholesky linalg
1079Resultado: 	matriz quadrada
1080Argumento: 	<@var="A">  (matriz positiva definida)
1081
1082Realiza a decomposição de Cholesky da matriz <@var="A">, assumindo que seja simétrica e definida positiva. O resultado será uma matriz triangular inferior <@mth="L"> que satisfaz <@mth="A = LL'">. A função irá falhar se <@var="A"> não for simétrica ou não for definida positiva. Ver também <@ref="psdroot">.
1083
1084# chowlin timeseries
1085Resultado: 	matriz
1086Argumentos:	<@var="Y">  (matriz)
1087		<@var="xfac">  (número inteiro)
1088		<@var="X">  (matriz, opcional)
1089
1090Expande os dados de entrada, <@var="Y">, para uma frequência maior utilizando o método de <@bib="Chow e Lin (1971);chowlin71">. É assumido que as colunas de <@var="Y"> representam séries. A matriz retornada tem a mesma quantidade de colunas de <@var="Y"> e <@var="xfac"> vezes o número de linhas.
1091
1092O segundo argumento representa o fator de expansão. Deve ser igual a 3 para expandir dados trimestrais em mensais ou igual a 4 para expandir de anual para trimestral (estes são os únicos fatores atualmente suportados). O terceiro argumento, que é opcional, pode ser utilizado para fornecer uma matriz de covariáveis com frequência maior.
1093
1094Os regressores utilizados por padrão são uma constante e uma tendência quadrática. Se <@var="X"> for fornecido, suas colunas devem ser utilizadas como regressores adicionais. A função retornará um erro se o número de linhas em <@var="X"> não for igual a <@var="xfac"> vezes o número de linhas em <@var="Y">.
1095
1096# cmod complex
1097Resultado: 	matriz
1098Argumento: 	<@var="C">  (matriz complexa)
1099
1100Retorna uma matriz real <@itl="m">×<@itl="n"> contendo o valor absoluto (ou “módulo”) de cada elemento da matriz complexa <@itl="m">×<@itl="n"> <@var="C">. O módulo do número complexo <@mth="z"> = <@mth="x"> + <@mth="yi"> é igual à raiz quadrada de <@mth="x"><@sup="2"> + <@mth="y"><@sup="2">.
1101
1102Ver também <@ref="carg">.
1103
1104# cmult complex
1105Resultado: 	matriz
1106Argumentos:	<@var="X">  (matriz)
1107		<@var="Y">  (matriz)
1108
1109Multiplicação complexa. Os dois argumentos devem ter o mesmo número de linhas, <@mth="n">, e uma ou duas colunas. A primeira coluna contendo a parte real e a segunda (se existir) a parte imaginária. O valor retornado é uma matriz <@itl="n">×2, ou, se o resultado não contiver parte imaginária, um vetor de tamanho <@mth="n">. Ver também <@ref="cdiv">.
1110
1111# cnorm probdist
1112Resultado: 	o mesmo tipo que o argumento
1113Argumento: 	<@var="x">  (escalar, série ou matriz)
1114
1115Retorna a função de distribuição acumulada para uma normal padrão. Ver também <@ref="dnorm">, <@ref="qnorm">.
1116
1117# cnumber linalg
1118Resultado: 	escalar
1119Argumento: 	<@var="X">  (matriz)
1120
1121Retorna o número condicional da matriz <@var="X"> de ordem <@itl="n">×<@itl="k">, conforme definido em <@bib="Belsley, Kuh e Welsch (1980);belsley-etal80">. Se as colunas de <@var="X"> forem mutuamente ortogonais o número condicional de <@var="X"> é a unidade. Um número condicional grande é um indicador de multicolinearidade, sendo que é considerado normalmente um valor “grande” algo acima de 50 (ou, algumas vezes, de 30).
1122
1123Os passos para esses cálculos são: (1) construir uma matriz <@mth="Z"> onde suas colunas são a divisão das colunas de <@var="X"> divididas por suas respectivas normas euclidianas; (2) construir <@mth="Z'Z"> e obter seus autovalores e; (3) calcular a raiz quadrada da razão entre o maior e o menor autovalor.
1124
1125Ver também <@ref="rcond">.
1126
1127# cnameget strings
1128Resultado: 	texto ou cadeia de texto
1129Argumentos:	<@var="M">  (matriz)
1130		<@var="col">  (número inteiro, opcional)
1131
1132Se o argumento <@var="col"> for dado, retorna o nome da coluna <@var="col"> da matriz <@var="M">. Se as colunas de <@var="M"> não possuírem nomes então será retornada um texto (string) vazio. Se <@var="col"> for maior que o número de colunas da matriz será sinalizado um erro.
1133
1134Se não se indicar o segundo argumento, retornará um vetor de texto que contém os nomes das colunas de <@var="M">, ou um vetor de texto vazio se <@var="M"> não tiver nomes de colunas atribuídos.
1135
1136Exemplo:
1137
1138<code>
1139     matrix A = { 11, 23, 13 ; 54, 15, 46 }
1140     cnameset(A, "Col_A Col_B Col_C")
1141     string name = cnameget(A, 3)
1142     print name
1143</code>
1144
1145Ver também <@ref="cnameset">.
1146
1147# cnameset matrix
1148Resultado: 	escalar
1149Argumentos:	<@var="M">  (matriz)
1150		<@var="S">  (cadeia de texto ou lista)
1151
1152Adiciona nomes para as colunas da matriz <@var="M"> de ordem <@itl="T">×<@itl="k"> . Se <@var="S"> for uma lista, os nomes serão os das séries listadas. A lista precisa ter <@mth="k"> membros. Se <@var="S"> for um arranjo (array) de textos (string), ele precisa ter <@mth="k "> elementos. Para manter a compatibilidade com versões anteriores do Gretl, uma única variável de texto também pode ser utilizada como segundo argumento. Nesse caso ela precisa ter <@mth="k"> textos separados por espaços.
1153
1154Retorna o valor 0 se as colunas forem nomeadas com sucesso. Caso contrário retorna um valor não-nulo. Veja também <@ref="rownames">.
1155
1156Exemplo:
1157
1158<code>
1159     matrix M = {1, 2; 2, 1; 4, 1}
1160     variável de textos S = array(2)
1161     S[1] = "Col1"
1162     S[2] = "Col2"
1163     colnames(M, S)
1164     print M
1165</code>
1166
1167# cols matrix
1168Resultado: 	número inteiro
1169Argumento: 	<@var="X">  (matriz)
1170
1171Retorna o número de colunas da matriz <@var="X">. Ver também <@ref="mshape">, <@ref="rows">, <@ref="unvech">, <@ref="vec">, <@ref="vech">.
1172
1173# complex complex
1174Resultado: 	matriz complexa
1175Argumentos:	<@var="A">  (escalar ou matriz)
1176		<@var="B">  (escalar ou matriz, opcional)
1177
1178Retorna uma matriz complexa, onde <@var="A"> é utilisada para fornecer a parte real e <@var="B"> a parte imaginária. Se <@var="A"> é <@itl="m">×<@itl="n"> e <@var="B"> é um escalar, o resultado é <@itl="m">×<@itl="n"> com a parte imaginária constante—e recíprocamente o oposto, mas com a parte real constante. Se ambos os argumentos são matrizes, elas devem ser da mesmas dimensões. Por defeito, caso o segundo argumento seja omitido, a parte imaginária é igual a zero. Ver também <@ref="cswitch">.
1179
1180# conj complex
1181Resultado: 	matriz complexa
1182Argumento: 	<@var="C">  (matriz complexa)
1183
1184Retorna uma matriz complexa <@itl="m">×<@itl="n"> contendo o complexo conjugado de cada elemento da matriz complexa <@itl="m">×<@itl="n"> <@var="C">. O conjugado de um número complexo <@mth="z"> = <@mth="x"> + <@mth="yi"> é igual a <@mth="x"> – <@mth="yi">.
1185
1186Ver também <@ref="carg">, <@ref="cmod">.
1187
1188# conv2d linalg
1189Resultado: 	matriz
1190Argumentos:	<@var="A">  (matriz)
1191		<@var="B">  (matriz)
1192
1193Calcula a convolução bidimensional das matrizes <@var="A"> e <@var="B">. Se <@var="A"> é <@itl="r">×<@itl="c"> e <@var="B"> é <@itl="m">×<@itl="n"> a matriz resultante terá <@mth="r+m-1"> linhas e <@mth="c+n-1"> colunas.
1194
1195Ver também <@ref="fft">, <@ref="filter">.
1196
1197# corr stats
1198Resultado: 	escalar
1199Argumentos:	<@var="y1">  (série ou vetor)
1200		<@var="y2">  (série ou vetor)
1201
1202Calcula o coeficiente de correlação entre <@var="y1"> e <@var="y2">. Os argumentos devem ser duas séries ou dois vetores com o mesmo tamanho. Ver também <@ref="cov">, <@ref="mcov">, <@ref="mcorr">, <@ref="npcorr">.
1203
1204# corrgm timeseries
1205Resultado: 	matriz
1206Argumentos:	<@var="x">  (série, matriz ou lista)
1207		<@var="p">  (número inteiro)
1208		<@var="y">  (série ou vetor, opcional)
1209
1210Se forem fornecidos apenas os dois primeiros argumentos a função calcula o correlograma de <@var="x"> para as defasagens de 1 até <@var="p">. Sendo <@mth="k"> o número de elementos em <@var="x"> (igual a 1 se <@var="x"> for uma série, ao número de colunas se <@var="x"> for uma matriz ou ao número de membros se <@var="x"> for uma lista). O valor retornado será uma matriz com <@var="p"> linhas e 2<@mth="k"> colunas, onde as <@mth="k"> primeiras colunas conterão as respectivas autocorrelações e o restante as respectivas autocorrelações parciais.
1211
1212Se um terceiro argumento for fornecido a função irá computar o correlograma cruzado para cada um dos <@mth="k"> elementos em <@var="x"> e <@var="y">, partindo de <@mth="+"><@var="p"> até <@mth="-"><@var=" p">. A matriz retornada possui 2<@mth="p"> + 1 linhas e <@mth="k"> colunas. Se <@var="x"> for uma série ou lista e <@var="y"> for um vetor, <@var="y"> precisa ter linhas na mesma quantidade que o total de observações na amostra selecionada.
1213
1214# cos math
1215Resultado: 	o mesmo tipo que o argumento
1216Argumento: 	<@var="x">  (escalar, série ou matriz)
1217
1218Retorna o cosseno de <@var="x">. Ver também <@ref="sin">, <@ref="tan">, <@ref="atan">.
1219
1220# cosh math
1221Resultado: 	o mesmo tipo que o argumento
1222Argumento: 	<@var="x">  (escalar, série ou matriz)
1223
1224Retorna o cosseno hiperbólico de <@var="x">.
1225
1226Ver também <@ref="acosh">, <@ref="sinh">, <@ref="tanh">.
1227
1228# cov stats
1229Resultado: 	escalar
1230Argumentos:	<@var="y1">  (série ou vetor)
1231		<@var="y2">  (série ou vetor)
1232
1233Retorna a covariância <@var="y1"> e <@var="y2">. Os argumentos devem ser duas séries ou dois vetores (estes devem possuir o mesmo comprimento). Ver também <@ref="corr">, <@ref="mcov">, <@ref="mcorr">.
1234
1235# critical probdist
1236Resultado: 	o mesmo tipo que o argumento
1237Argumentos:	<@var="c">  (caractere)
1238		<@var="…">  (ver abaixo)
1239		<@var="p">  (escalar, série ou matriz)
1240Exemplos: 	<@lit="c1 = critical(t, 20, 0.025)">
1241		<@lit="c2 = critical(F, 4, 48, 0.05)">
1242
1243Calculadora de valores críticos. Retorna <@mth="x"> tal que <@mth="P(X > x) = p">, onde a distribuição <@mth="X"> é determinada pela letra <@var="c">. Entre os argumentos <@var="c"> e <@var="p">, zero ou mais argumentos escalares são necessários para especificar os parâmetros da distribuição, Isso é feito da seguinte forma:
1244
1245<indent>
1246• Normal padrão (c = z, n ou N): sem argumentos extras
1247</indent>
1248
1249<indent>
1250• t de Student (t): graus de liberdade
1251</indent>
1252
1253<indent>
1254• Chi square (c, x ou X): graus de liberdade
1255</indent>
1256
1257<indent>
1258• F de Snedecor (f ou F): g.l. (num.); g.l. (den.)
1259</indent>
1260
1261<indent>
1262• Binomial (b ou B): probabilidade; tentativas
1263</indent>
1264
1265<indent>
1266• Poisson (p ou P): média
1267</indent>
1268
1269<indent>
1270• Laplace (l ou L): média; escala
1271</indent>
1272
1273<indent>
1274• Erro Generalizado (E): forma
1275</indent>
1276
1277Ver também <@ref="cdf">, <@ref="invcdf">, <@ref="pvalue">.
1278
1279# cswitch complex
1280Resultado: 	matriz
1281Argumentos:	<@var="A">  (matriz)
1282		<@var="modo">  (escalar)
1283
1284Reinterpreta uma matriz real como contendo valores complexos ou viceversa. A acção exacta depende de <@var="modo"> (que pode ter os valores 1,2,3 ou 4) como se mostra a seguir:
1285
1286modo 1: <@var="A"> deve ser uma matriz real com um número par de colunas. Produz uma matriz complexa com a metade das colunas; as colunas ímpares de <@var="A"> fornecem a parte real e as colunas pares as partes imaginárias.
1287
1288modo 2: Produz o resultado inverso daquele em modo 1. <@var="A"> deve ser uma matriz complexa e o resultado é uma matriz real com o dobro das colunas de <@var="A">.
1289
1290modo 3: <@var="A"> deve ser uma matriz real com um número par de linhas. Produz uma matriz complexa com a metade das linhas; as linhas ímpares de <@var="A"> fornecem a parte real e as linhas pares as partes imaginárias.
1291
1292modo 4: Produz o resultado inverso daquele em modo modo 3. <@var="A"> deve ser uma matriz complexa e o resultado é uma matriz real com o dobro das linhas de <@var="A">.
1293
1294Ver também <@ref="complex">.
1295
1296# ctrans complex
1297Resultado: 	matriz complexa
1298Argumento: 	<@var="C">  (matriz complexa)
1299
1300Retorna a matriz complexa <@itl="n">×<@itl="m"> contendo a transposta do conjugado da matriz complexa <@itl="m">×<@itl="n"> <@var="C">. O operador <@lit="'"> (primo) também produz a transposição conjugada de matrizes complexas. A função <@ref="transp"> pode ser usada em matrizes complexas mas produz a transposiçã0 “directa” (não coniugada).
1301
1302# cum transforms
1303Resultado: 	o mesmo tipo que o argumento
1304Argumento: 	<@var="x">  (série ou matriz)
1305
1306Acumula <@var="x"> (isto é, cria uma soma móvel). Quando <@var="x"> for uma série, produz uma série <@mth="y"> onde cada um de seus elementos é igual a soma dos valores de <@var="x"> até a observação correspondente. O ponto de partida para a acumulação é a primeira observação não-ausente da amostra selecionada corrente. Quando <@var="x"> for uma matriz, seus elementos são acumulados por colunas.
1307
1308Ver também <@ref="diff">.
1309
1310# curl data-utils
1311Resultado: 	escalar
1312Argumento: 	<@var="&b">  (referência a lote)
1313
1314Fornece uma maneira relativamente flexível de se obter um buffer de texto contendo dados de um servidor de internet utilizando a biblioteca libcurl. O argumento <@var="b">, do tipo pacote (bundle), deve conter uma variável de texto (string) chamada <@lit="URL"> que fornece o endereço completo do recurso no host alvo. Outros elementos opcionais são apresentados a seguir.
1315
1316<indent>
1317• “<@lit="header">”: a variável de texto especificando um header HTTP que será enviado para o host.
1318</indent>
1319
1320<indent>
1321• “<@lit="postdata">”: a variável de texto contendo os dados que serão enviados para o host.
1322</indent>
1323
1324Os campos <@lit="header"> e <@lit="postdata"> são destinados para o uso com uma requisição HTTP do tipo <@lit="POST">. Se <@lit="postdata"> estiver presente o método <@lit="POST"> é implícito, caso contrário o método <@lit="GET"> é implícito. Mas note que para requisições <@lit="GET"> diretas a função <@ref="readfile"> oferece uma interface mais simples.
1325
1326Se outro elemento opcional do pacote, um escalar chamado <@lit="include"> estiver presente e possuir valor não-nulo, a requisição irá incluir o header recebido do host com o corpo de saída.
1327
1328Ao completar-se a requisição, o texto recebido do servidor é adicionado ao pacote e recebe o nome de “<@lit="output">”.
1329
1330Se um erro ocorrer na formulação da requisição (por exemplo, não existir a <@lit="URL"> na entrada) a função irá falhar, caso contrário ela retornará o valor 0 se a requisição for bem sucedida ou um valor não nulo, sendo que neste caso a mensagem de erro da biblioteca curl será adicionado ao pacote e identificado como “<@lit="errmsg">”. Note, entretanto, que “sucesso” neste sentido não significa necessariamente que os dados desejados foram obtidos. Na verdade significa apenas que alguma resposta foi recebida do servidor. Assim, é necessário conferir o conteúdo do buffer de saída (que pode ser de fato uma mensagem tal como “Página não encontrada”).
1331
1332Um bom exemplo de como utilizar essa função é baixar alguns dados do site do US Bureau of Labor Statistics, que requere o envio de uma consulta (query) JSON. Note o uso de <@xrf="sprintf"> para inserir aspas duplas no dado <@lit="POST">.
1333
1334<code>
1335     bundle req
1336     req.URL = "http://api.bls.gov/publicAPI/v1/timeseries/data/"
1337     req.include = 1
1338     req.header = "Content-Type: application/json"
1339     string s = sprintf("{\"seriesid\":[\"LEU0254555900\"]}")
1340     req.postdata = s
1341     err = curl(&req)
1342     if err == 0
1343         s = req.output
1344         string line
1345         loop while getline(s, line) --quiet
1346             printf "%s\n", line
1347         endloop
1348     endif
1349</code>
1350
1351Veja também as funções <@ref="jsonget"> e <@ref="xmlget"> para processamento de dados recebidos no formato JSON e XML, respectivamente.
1352
1353# dayspan calendar
1354Resultado: 	número inteiro
1355Argumentos:	<@var="dia1">  (número inteiro)
1356		<@var="dia2">  (número inteiro)
1357		<@var="dias por semana">  (número inteiro)
1358
1359Retorna o número de dias (relevantes) entre os dias <@var="dia1"> e <@var="dia2">, inclusive. Os <@var="dias por semana">, que têm que ser 5, 6 ou 7, dão o número de dias na semana que devem contar (um valor de 6, ignora domingos, e um valor de 5 ignora sábados e domingos).
1360
1361Para obter dias de época a partir de formas mais familiares de datas, ver <@ref="epochday">. Veja também: <@ref="smplspan">.
1362
1363# defarray data-utils
1364Resultado: 	ver abaixo
1365Argumento: 	... (ver abaixo)
1366
1367Permite a definição de uma variável do tipo arranjo (array) <@itl="de forma direta">, através do fornecimento de um ou mais elementos. Ao utilizar essa função é necessário que se especifique um tipo (na forma plural) para o arranjo: <@lit="strings">, <@lit="matrices">, <@lit="bundles"> ou <@lit="lists">. Cada um dos argumentos dever ser um objeto do mesmo tipo que o especificado na definição do arranjo. Em caso de sucesso na definição, será retornado um arranjo com <@mth="n"> elementos, onde <@mth="n"> é igual ao número de argumentos.
1368
1369<code>
1370     strings S = defarray("foo", "bar", "baz")
1371     matrices M = defarray(I(3), X'X, A*B, P[1:])
1372</code>
1373
1374Veja também <@ref="array">.
1375
1376# defbundle data-utils
1377Resultado: 	lote
1378Argumento: 	... (ver abaixo)
1379
1380Permite a definição inicial de uma variável pacote (bundle) <@itl="por extenso">, com a indicação de zero ou mais pares com o formato <@var="chave">, <@var="membro">. Se contarmos os argumentos a partir de 1, cada argumento numerado ímpar tem de corresponder a uma cadeia de texto (chave) e cada argumento numerado par deve representar um objeto/objecto de um tipo que possa ser incluído num pacote.
1381
1382Alguns exemplos simples:
1383
1384<code>
1385     bundle b1 = defbundle("s", "Texto exemplo", "m", I(3))
1386     bundle b2 = defbundle("yn", normal(), "x", 5)
1387</code>
1388
1389O primeiro exemplo é um pacote cujos membros são uma cadeia de texto e uma matriz. O segundo, um pacote com um membro que é uma série e outro que é escalar. Notar que não se pode especificar o tipo de cada argumento quando se utiliza esta função, por isso deve-se aceitar o tipo “natural” do argumento em questão. Por exemplo, se se pretendia acrescentar uma série com valor constante 5, a um pacote chamado <@lit="b1"> seria necessário escrever algo como o seguinte (depois de declarar <@lit="b1">):
1390
1391<code>
1392     series b1.s5 = 5
1393</code>
1394
1395Se não se fornecer nenhum argumento a esta função, isso equivale a criar um pacote vazio (ou esvaziar o conteúdo um pacote existente), o que também poderia ser feito via:
1396
1397<code>
1398     bundle b = null
1399</code>
1400
1401# deflist data-utils
1402Resultado: 	lista
1403Argumento: 	... (ver abaixo)
1404
1405Gera uma lista (de séries já definidas) dados um ou mais argumentos apropriados. Cada argumento deve ser uma série já definida (indicada pelo seu nome ou número ID), uma lista definida previamente ou por uma expressão cujo resultado seja uma lista (incluindo um vetor que possa ser interpretado como um conjunto de números ID).
1406
1407Um ponto a ser considerado é que esta função simplesmente concatena seus argumentos para produzir a lista que ela devolve. Quando se pretende que o valor a ser retornado não tenha duplicados (que não se refira a nenhuma série mais que uma vez), fica a cargo do utilizador garantir que esse requisito seja seguido.
1408
1409# deseas timeseries
1410Resultado: 	série
1411Argumentos:	<@var="x">  (série)
1412		<@var="c">  (caractere, opcional)
1413
1414Precisa que o TRAMO/SEATS e/ou X-12-ARIMA estejam instalados. Retorna a série <@var="x"> dessazonalizada (ou seja, sazonalmente ajustada). A série a ser dessazonalizada precisa ser mensal ou trimestral. Para utilizar o X-12-ARIMA deve-se fornecer <@lit="X"> como segundo argumento e para usar o TRAMO/SEATS deve-se fornecer <@lit="T">. Se o segundo argumento for omitido o Gretl irá utilizar o X-12-ARIMA.
1415
1416Note que se a série de entrada não possuir um componente sazonal detectável a execução da função irá falhar. Note também que tanto o TRAMO/SEATS quanto o X-12-ARIMA oferecem um grande número de opções, mas a função <@lit="deseas"> utilizará apenas os seus valores padrão. Em ambos os programas os fatores sazonais são calculados com base em um modelo ARIMA automaticamente selecionado. Uma das diferenças entre os dois que pode levar a resultados bastante distintos é o ajuste prévio de observações aberrantes que o TRAMO/SEATS realiza e que não é feito pelo X-12-ARIMA.
1417
1418# det linalg
1419Resultado: 	escalar
1420Argumento: 	<@var="A">  (matriz quadrada)
1421
1422Retorna o determinante de <@var="A">, calculado via decomposição LU. Ver também <@ref="ldet">, <@ref="rcond">, <@ref="cnumber">.
1423
1424# diag matrix
1425Resultado: 	matriz
1426Argumento: 	<@var="X">  (matriz)
1427
1428Retorna a diagonal principal de <@var="X"> em um vetor coluna. Se <@var="X"> for uma matriz de ordem <@itl="m">×<@itl="n"> o número de elementos do vetor resultante será igual a min(<@mth="m">, <@mth="n">). Ver também <@ref="tr">.
1429
1430# diagcat matrix
1431Resultado: 	matriz
1432Argumentos:	<@var="A">  (matriz)
1433		<@var="B">  (matriz)
1434
1435Retorna a soma direta de <@var="A"> e <@var="B">, isto é, uma matriz contendo <@var="A"> no canto superior esquerdo e <@var="B"> no canto inferior direito. Se <@var="A"> e <@var="B"> forem ambas quadradas, a matriz resultante será diagonal em blocos.
1436
1437# diff transforms
1438Resultado: 	o mesmo tipo que o argumento
1439Argumento: 	<@var="y">  (série, matriz ou lista)
1440
1441Calcula a primeira diferença. Se <@var="y"> for uma série ou uma lista de séries, os valores iniciais serão iguais a <@lit="NA">. Se <@var="y"> for uma matriz, a diferenciação é feita por colunas e os valores iniciais serão iguais a 0.
1442
1443Quando for retornada uma lista, cada uma das variáveis será automaticamente nomeada conforme o modelo <@lit="d_"><@var="varname">, onde <@var="varname"> é o nome da série original. O nome será truncado caso necessário e pode ser ajustado caso já exista uma variável com o mesmo nome.
1444
1445Ver também <@ref="cum">, <@ref="ldiff">, <@ref="sdiff">.
1446
1447# digamma math
1448Resultado: 	o mesmo tipo que o argumento
1449Argumento: 	<@var="x">  (escalar, série ou matriz)
1450
1451Retorna a função digama (ou Psi) de <@var="x"> e consiste na derivada logarítmica da função gama.
1452
1453# dnorm probdist
1454Resultado: 	o mesmo tipo que o argumento
1455Argumento: 	<@var="x">  (escalar, série ou matriz)
1456
1457Retorna a densidade da distribuição normal padrão em <@var="x">. Para obter a densidade para uma distribuição normal não-padrão em <@mth="x">, utilize o escore-<@mth="z"> de <@mth="x"> como argumento da função <@lit="dnorm"> e multiplique o resultado pela jacobiana da transformação <@mth="z">, ou seja, 1/σ, conforme ilustrado a seguir:
1458
1459<code>
1460     mu = 100
1461     sigma = 5
1462     x = 109
1463     fx = (1/sigma) * dnorm((x-mu)/sigma)
1464</code>
1465
1466Ver também <@ref="cnorm">, <@ref="qnorm">.
1467
1468# dropcoll transforms
1469Resultado: 	lista
1470Argumentos:	<@var="X">  (lista)
1471		<@var="epsilon">  (escalar, opcional)
1472
1473Retorna uma lista com os mesmo elementos de <@var="X">, mas excluindo as séries colineares. Assim, se todas as séries em <@var="X"> forem linearmente independentes, a lista resultante será simplesmente uma cópia de <@var="X">.
1474
1475O algoritmo utiliza a decomposição QR (transformação de Householder), de forma que está sujeita a erro de precisão finita. Para avaliar a sensibilidade do algoritmo, um segundo parâmetro (opcional) <@var="epsilon"> pode ser especificado para tornar o teste de colinearidade mais ou menos estrito, conforme desejado. O valor padrão para <@var="epsilon"> é 1.0e-8. Ajustando <@var="epsilon"> para um maior valor eleva a probabilidade de uma série ser descartada.
1476
1477Exemplo:
1478
1479<code>
1480     nulldata 20
1481     set seed 9876
1482     series foo = normal()
1483     series bar = normal()
1484     series foobar = foo + bar
1485     list X = foo bar foobar
1486     list Y = dropcoll(X)
1487     list print X
1488     list print Y
1489     # defina épsilon como sendo um valor bastante pequeno
1490     list Y = dropcoll(X, 1.0e-30)
1491     list print Y
1492</code>
1493
1494produz
1495
1496<code>
1497     ? list print X
1498     foo bar foobar
1499     ? list print Y
1500     foo bar
1501     ? list Y = dropcoll(X, 1.0e-30)
1502     Replaced list Y
1503     ? list print Y
1504     foo bar foobar
1505</code>
1506
1507# dsort matrix
1508Resultado: 	o mesmo tipo que o argumento
1509Argumento: 	<@var="x">  (série ou vetor)
1510
1511Ordena <@var="x"> de forma decrescente, descartando observações com valores ausentes quando <@var="x"> for uma série. Ver também <@ref="sort">, <@ref="values">.
1512
1513# dummify transforms
1514Resultado: 	lista
1515Argumentos:	<@var="x">  (série)
1516		<@var="omitval">  (escalar, opcional)
1517
1518O argumento <@var="x"> deve ser uma série discreta. Essa função cria um conjunto de variáveis dummy, sendo uma para cada um dos valores distintos na série. Por padrão o menor valor é tratado como a categoria omitida e não é explicitamente representado.
1519
1520O segundo argumento (opcional) representa o valor de <@var="x"> que deve ser tratado como sendo a categoria omitida. O efeito quando o argumento único for dado é equivalente a utilizar o seguinte comando: <@lit="dummify(x, min(x))">. Para produzir um conjunto completo de dummies, ou seja, sem a categoria omitida, pode-se usar <@lit="dummify(x, NA)">.
1521
1522As variáveis geradas são automaticamente nomeadas de acordo com o seguinte padrão: <@lit="D"><@var="varname"><@lit="_"><@var="i"> onde <@var="varname"> é o nome da séries original e <@var="i"> é um índice iniciado em 1. A porção que representa o nome original da série será truncado, caso seja necessário, e ajustado no caso de não ser único no conjunto de nomes assim construído.
1523
1524# easterday calendar
1525Resultado: 	o mesmo tipo que o argumento
1526Argumento: 	<@var="x">  (escalar, série ou matriz)
1527
1528Com o argumento <@var="x"> representando um ano, retorna a data da Páscoa no calendário gregoriano no formato <@mth="mês + dia/100">. Note que 10 de abril é, nesta convenção, 4.1. Assim, 4.2 representa 20 de abril e não 2 de abril (que seria representado por 4.02).
1529
1530<code>
1531     scalar e = easterday(2014)
1532     scalar m = floor(e)
1533     scalar d = 100*(e-m)
1534</code>
1535
1536# ecdf stats
1537Resultado: 	matriz
1538Argumento: 	<@var="y">  (série ou vetor)
1539
1540Calcula a função distribuição acumulada (FDA) empírica de <@var="y">. Esta é retornada em uma matriz com duas colunas: a primeira contém os valores únicos e ordenados de <@var="y"> e a segunda a frequência relativa cumulativa, isto é, a quantidade de vezes em que o valor da observação é menor ou igual ao valor na primeira coluna, dividida pelo número total de observações.
1541
1542# eigen linalg
1543Resultado: 	matriz
1544Argumentos:	<@var="A">  (matriz quadrada)
1545		<@var="&V">  (referência a matriz, ou <@lit="null">)
1546		<@var="&W">  (referência a matriz, ou <@lit="null">)
1547
1548Calcula os valores próprios e, opcionalmente, os vectores próprios direito e/ou esquerdo, da matriz <@itl="n">×<@itl="n"> <@var="A">, que pode ser real ou complexa. O valores próprios são retornados num vector complexo.
1549
1550Se você deseja obter o vector próprio direito na forma de matriz complexa, <@itl="n">×<@itl="n">), forneça o nome de uma matriz existente, precedida por <@lit="&"> para indicar o “endereço” da matriz em questão, comom segundo argumento. De outro modo, este argumento pode ser omitido.
1551
1552Para obter o vector próprio esquerdo (igualmente, na forma de matriz complexa), fornecer o endereço da matrix como terceiro argumento. Note que se pretender os vectores esquerdos mas não os direitos, você deve usar a palavra chave <@lit="null"> como valor para o segundo argumento.
1553
1554Ver também <@ref="eigensym">, <@ref="eigsolve">, <@ref="svd">.
1555
1556# eigengen linalg
1557Resultado: 	matriz
1558Argumentos:	<@var="A">  (matriz quadrada)
1559		<@var="&U">  (referência a matriz, ou <@lit="null">)
1560
1561Calcula os autovalores e, opcionalmente, os autovetores, da matriz <@var="A"> de ordem <@itl="n">×<@itl="n">. Se todos os autovalores forem reais uma matriz <@itl="n">×1 é retornada. Caso contrário, o resultado é uma matriz <@itl="n">×2, com a primeira coluna contendo os componentes reais e a segunda coluna os componentes imaginários. Não é garantido que os autovalores sejam classificados em alguma ordem particular.
1562
1563Existem duas possibilidades para o segundo argumento. Ele deve ser o nome de uma matriz existente precedida por <@lit="&"> (para indicar o “endereço” da matriz em questão), sendo que nesse caso um resultado auxiliar é armazenado nesta matriz. A outra possibilidade é a utilização da palavra-chave <@lit="null">, sendo que nesse caso o resultado auxiliar não é produzido.
1564
1565Se o segundo argumento for não-nulo, a matriz especificada será sobrescrita com o resultado auxiliar. Vale salientar que não é necessário que a matriz existente tenha a dimensão adequada para receber o resultado. A matriz <@var="U"> é organizada da seguinte forma:
1566
1567<indent>
1568• Se o <@mth="i">-ésimo autovalor for real, a <@mth="i">-ésima coluna de <@mth="U"> irá conter o autovetor correspondente;
1569</indent>
1570
1571<indent>
1572• Se o <@mth="i">-ésimo autovalor for complexo, a <@mth="i">-ésima coluna de <@var="U"> irá conter a parte real do autovetor correspondente e a coluna seguinte a parte imaginária. O autovetor para o autovalor conjugado é a conjugada do autovetor.
1573</indent>
1574
1575Em outras palavras, os autovetores são armazenados na mesma ordem que os autovalores, mas os autovetores reais ocupam uma coluna, enquanto que os autovetores complexos ocupam duas (sendo que a parte real é armazenada primeiro). O número total de colunas ainda é <@mth="n">, pois o autovetor conjugado é ignorado.
1576
1577Ver também <@ref="eigensym">, <@ref="eigsolve">, <@ref="qrdecomp">, <@ref="svd">.
1578
1579# eigensym linalg
1580Resultado: 	matriz
1581Argumentos:	<@var="A">  (matriz simétrica)
1582		<@var="&U">  (referência a matriz, ou <@lit="null">)
1583
1584Funciona da mesma forma que <@ref="eigengen">, mas o argumento <@var="A"> deve ser simétrico (sendo que neste caso os cálculos podem ser reduzidos). Diferentemente de <@ref="eigengen">, autovalores são retornados em ordem ascendente.
1585
1586Note: se o interesse é na decomposição espectral de uma matriz da forma <@mth="X'X">, onde <@mth="X"> é uma matriz grande, é preferível calculá-la via operador <@lit="X'X"> ao invés de utilizar a sintaxe mais geral <@lit="X'*X">. A primeira expressão utiliza um algoritmo especializado que tem a dupla vantagem de ser mais eficiente computacionalmente e de garantir que o resultado seja livre, por construção, dos artefatos de precisão de máquina que podem torná-la numericamente não-simétrico.
1587
1588# eigsolve linalg
1589Resultado: 	matriz
1590Argumentos:	<@var="A">  (matriz simétrica)
1591		<@var="B">  (matriz simétrica)
1592		<@var="&U">  (referência a matriz, ou <@lit="null">)
1593
1594Resolve o problema do autovalor generalizado |<@mth="A"> – λ<@mth="B">| = 0, onde <@mth="A"> e <@mth="B"> são simétricas e <@mth="B"> é positiva definida. Os autovalores são retornados diretamente, ordenados de forma ascendente. Se for utilizado o terceiro argumento (opcional) ele deve ser o nome de uma matriz existente precedida por <@lit="&">. Neste caso os autovetores generalizados serão escritos nesta matriz.
1595
1596# epochday calendar
1597Resultado: 	escalar ou série
1598Argumentos:	<@var="ano">  (escalar ou série)
1599		<@var="mês">  (escalar ou série)
1600		<@var="dia">  (escalar ou série)
1601
1602Retorna o número do dia na época corrente especificada pelo ano, mês e dia. O número do dia é igual a 1 para o dia 1 de janeiro do ano 1 depois de Cristo, no calendário gregoriano proléptico, e 733786 na data 2010-01-01. Se algum dos argumentos for uma série, os valores retornados também terão a forma de uma série, caso contrário será retornado um escalar.
1603
1604Por padrão os valores do <@var="ano">, <@var="mês"> e <@var="dia"> assumem-se serem relativos ao calendário gregoriano, mas se o ano for um valor negativo a interpretação muda para o calendário juliano.
1605
1606Para a inversa dessa função, veja <@ref="isodate">. Veja também a função <@ref="juldate"> para o calendário juliano.
1607
1608# errmsg programming
1609Resultado: 	texto
1610Argumento: 	<@var="errno">  (número inteiro)
1611
1612Retorna a mensagem de erro do Gretl associada a <@var="errno">. Veja também <@ref="$error">.
1613
1614# errorif programming
1615Resultado: 	escalar
1616Argumentos:	<@var="condição">  (booleano)
1617		<@var="msg">  (texto)
1618
1619Aplicável apenas no contexto de uma função cirada pelo utilizador. Se a <@var="condição"> é diferente de zero, termina a execução da função actual, mostrando a razão de erro; o argumento <@var="msg"> é então mostrado no écran como parte da resposta do chamador da função em questão.
1620
1621O valor de retorno (1) desta função é puramente nominal.
1622
1623# exists data-utils
1624Resultado: 	número inteiro
1625Argumento: 	<@var="name">  (texto)
1626
1627Retorna um valor não-nulo se <@var="name"> é o identificador de um objeto existente, seja um escalar, uma série, uma matriz, uma lista, uma variável de texto, um pacote (bundle) ou um arranjo (array). Caso contrário retorna 0. Veja também <@ref="typeof">.
1628
1629# exp math
1630Resultado: 	o mesmo tipo que o argumento
1631Argumento: 	<@var="x">  (escalar, série ou matriz)
1632
1633Retorna <@mth="e"><@sup="x">. Note que no caso de matrizes a função é aplicada em cada elemento. Para a função exponencial matricial veja <@ref="mexp">.
1634
1635# fcstats stats
1636Resultado: 	matriz
1637Argumentos:	<@var="y">  (série ou vetor)
1638		<@var="f">  (série, lista ou matriz)
1639
1640Produz uma matriz contendo várias estatísticas que podem ser utilizadas para avaliar a série <@var="f">, que consiste na previsão da série observada <@var="y">.
1641
1642Quando <@var="f"> é uma série ou um vetor/vector, o resultado é um vetor/vector coluna. Quando <@var="f"> é uma lista com <@mth="k"> membros ou uma matriz de ordem <@itl="T">×<@itl="k">, o resultado tem <@mth="k"> colunas, sendo que cada uma contém as estatísticas do elemento correspondente (série ou coluna) do argumento de entrada (série, vetor, lista ou matriz) como uma predição de <@var="y">.
1643
1644Em todos os casos, a dimensão “vertical” do argumento de entrada (o comprimento da amostra corrente para uma série ou uma lista, e o número de linhas para uma matriz) deve coincidir entre os dois argumentos.
1645
1646As linhas da matriz retornada são constituídas pelas seguintes estatísticas:
1647
1648<code>
1649     1  Erro Médio (ME)
1650     2  Raiz do Erro Quadrado Médio (RMSE)
1651     3  Erro Absoluto Médio (MAE)
1652     4  Erro Percentual Médio (MPE)
1653     5  Erro Percentual Absoluto Médio (MAPE)
1654     6  U de Theil
1655     7  Proporção do viés, UM
1656     8  Proporção da regressão, UR
1657     9  Proporção do distúrbio, UD
1658</code>
1659
1660Para mais detalhes sobre o cálculo dessas estatísticas e a interpretação dos valores de <@mth="U">, veja o <@pdf="guia de utilização do Gretl#chap:forecast"> (Capítulo 35).
1661
1662# fdjac numerical
1663Resultado: 	matriz
1664Argumentos:	<@var="b">  (vetor coluna)
1665		<@var="fcall">  (chamada a função)
1666		<@var="h">  (escalar, opcional)
1667
1668Calcula uma aproximação numérica para a jacobiana associada ao vetor <@var="b"> de ordem <@mth="n"> e a função de transformação especificada pelo argumento <@var="fcall">. A chamada da função deve ter <@var="b"> como primeiro argumento (tanto na forma direta quanto na forma de ponteiro), seguido por quaisquer argumentos adicionais que podem ser necessários e o valor retornado deverá ser uma matriz de ordem <@itl="m">×1. Se executada com sucesso, <@lit="fdjac"> retorna uma matriz de ordem <@itl="m">×<@itl="n"> contendo a jacobiana. Exemplo:
1669
1670Pode-se utilizar o terceiro argumento (opcional) para determinar o tamanho da medida <@mth="h"> que se usa no mecanismo de aproximação (ver mais abaixo). Quando se omite este argumento, o tamanho da medida determina-se automaticamente.
1671
1672Aqui está um exemplo do seu uso:
1673
1674<code>
1675     matrix J = fdjac(theta, myfunc(&theta, X))
1676</code>
1677
1678A função pode utilizar três diferentes métodos: diferença anterior, diferença bilateral ou extrapolação de Richardson com 4 nós. Respectivamente:
1679
1680<@mth="J"><@sub="0"> = <@mth="(f(x+h) - f(x))/h">
1681
1682<@mth="J"><@sub="1"> = <@mth="(f(x+h) - f(x-h))/2h">
1683
1684<@mth="J"><@sub="2"> = <@mth="[8(f(x+h) - f(x-h)) - (f(x+2h) - f(x-2h))] /12h">
1685
1686As três alternativas acima trazem, geralmente, um dilema entre acurácia e velocidade. É possível escolher os métodos através do comando <@xrf="set">, ajustando a variável <@lit="fdjac_quality"> em 0, 1 ou 2.
1687
1688Para mais detalhes e exemplos veja o capítulo sobre métodos numéricos no <@pdf="guia de utilização do Gretl#chap:numerical"> (Capítulo 37).
1689
1690Ver também <@ref="BFGSmax">, <@ref="numhess">, <@xrf="set">.
1691
1692# feval programming
1693Resultado: 	ver abaixo
1694Argumentos:	<@var="nome-de-função">  (texto)
1695		... (ver abaixo)
1696
1697Ferramenta sobretudo destinada a autores de funções. O primeiro argumento é o nome de uma função, e os restantes argumentos devem ser passados para a função em questão. Na práctica a função identificada como <@var="nome-de-função"> é tratada ela mesmo como sendo uma variável. O valor retornado é o que a função retorna de acordo com os argumentos especificados.
1698
1699O exemplo abaixo mostra alguns usos possíveis:
1700
1701<code>
1702     function scalar utility (scalar c, scalar sigma)
1703     return (c^(1-sigma)-1)/(1-sigma)
1704     end function
1705
1706     strings S = defarray("log", "utility")
1707
1708     # chama uma função interna com um argumento
1709     x = feval(S[1], 2.5)
1710     # chama uma função definida pelo utilizador
1711     x = feval(S[2], 5, 0.5)
1712     # uma função com dois argumentos
1713     func = "zeros"
1714     m = feval(func, 5-2, sqrt(4))
1715     print m
1716     # uma função com três argumentos
1717     x = feval("monthlen", 12, 1980, 5)
1718</code>
1719
1720Existe uma analogia entre <@lit="feval"> e <@ref="genseries">: ambas as funções recebem a variaável como elemento sintático que no momento da composição é fixo.
1721
1722# fevd timeseries
1723Resultado: 	matriz
1724Argumentos:	<@var="target">  (número inteiro)
1725		<@var="shock">  (número inteiro)
1726		<@var="sys">  (lote, opcional)
1727
1728Essa função é uma alternativa mais flexível à função de acesso <@ref="$fevd"> para a obtenção da matriz de decomposição da variância do erro de previsão (FEVD) que pode ser obtida após a estimação de um VAR ou VECM. Quando utilizada sem o argumento final, <@var="sys">, está disponível apenas imediatamente após a estimação de um VAR ou VECM. Alternativamente, as informações de uma VAR ou VECM podem ser armazenadas em um pacote via função <@ref="$system"> que, por sua vez, pode ser utilizado como o último argumento da função <@lit="fevd">.
1729
1730Os argumentos <@var="target"> e <@var="shock"> são índices das variáveis endógenas no sistema, com 0 indicando “todas”. Os seguintes exemplos ilustram sua utilização. No primeiro deles a matriz <@lit="fe1"> armazena as proporções da variância do erro de previsão para <@lit="y1"> causadas por <@lit="y1">, <@lit="y2"> e <@lit="y3"> (as linhas somam 1). No segundo, <@lit="fe2"> armazena as contribuições de <@lit="y2"> para a variância do erro de previsão de todas as três variáveis (logo as linhas não somam 1). No terceiro caso o valor retornado é um vetor coluna contendo a “própria parcela” da variância do erro de previsão de <@lit="y1">.
1731
1732<code>
1733     var 4 y1 y2 y3
1734     bundle vb = $system
1735     matrix fe1 = fevd(1, 0, vb)
1736     matrix fe2 = fevd(0, 2, vb)
1737     matrix fe3 = fevd(1, 1, vb)
1738</code>
1739
1740O número de períodos (linhas) ao longo dos quais a decomposição é traçada é determinado automaticamente com base na frequência dos dados, mas isso pode ser ajustado via comando <@xrf="set">, como por exemplo <@lit="set horizon 10">.
1741
1742Ver também <@ref="irf">.
1743
1744# fft linalg
1745Resultado: 	matriz
1746Argumento: 	<@var="X">  (matriz)
1747
1748Calcula a transformada de Fourier real discreta. Se a matriz de entrada <@var="X"> tiver <@mth="n"> colunas, a saída terá 2<@mth="n"> colunas, onde as partes reais são armazenadas nas colunas ímpares e as complexas nas pares.
1749
1750Quando seja necessário calcular a transformada de Fourier em vários vetores com o mesmo número de elementos, é mais eficiente, do ponto de vista numérico, agrupar esses vetores em uma única matriz ao invés de aplicar a função <@lit="fft"> em cada vetor de forma separada. Ver também <@ref="ffti">.
1751
1752# fft2 linalg
1753Resultado: 	matriz
1754Argumento: 	<@var="X">  (matriz)
1755
1756Transfromada discreta de Fourier. A matriz de entrada <@var="X"> pode ser real ou complexa. O resultado é uma matiz complexa de com a mesma dimensão de <@var="X">.
1757
1758Quando seja necessário calcular a transformada de Fourier em vários vetores com o mesmo número de elementos, é mais eficiente, do ponto de vista numérico, agrupar esses vetores em uma única matriz ao invés de aplicar a função <@lit="fft2"> em cada vetor de forma separada. Ver também <@ref="ffti">.
1759
1760# ffti linalg
1761Resultado: 	matriz
1762Argumento: 	<@var="X">  (matriz)
1763
1764Calcula a inversa da transformada de Fourier real discreta. Assume-se que <@var="X"> contém <@mth="n"> colunas complexas, com a parte real nas colunas ímpares e a parte real nas pares. Assim, o número total de colunas deverá ser 2<@mth="n">. Uma matriz com <@mth="n"> colunas é retornada. returned.
1765
1766Quando seja necessário calcular a inversa da transformada de Fourier em vários vetores com o mesmo número de elementos, é mais eficiente, do ponto de vista numérico, agrupar esses vetores em uma única matriz ao invés de aplicar a função <@lit="fft"> em cada vetor de forma separada. Ver também <@ref="fft">.
1767
1768# filter timeseries
1769Resultado: 	ver abaixo
1770Argumentos:	<@var="x">  (série ou matriz)
1771		<@var="a">  (escalar ou vetor, opcional)
1772		<@var="b">  (escalar ou vetor, opcional)
1773		<@var="y0">  (escalar, opcional)
1774
1775Calcula uma filtragem semelhante ao ARMA do argumento <@var="x">. A transformação pode ser escrita como
1776
1777<@mth="y"><@sub="t"> = <@mth="a"><@sub="0"> <@mth="x"><@sub="t"> + <@mth="a"><@sub="1"> <@mth="x"><@sub="t-1"> + ... <@mth="a"><@sub="q"> <@mth="x"><@sub="t-q"> + <@mth="b"><@sub="1"> <@mth="y"><@sub="t-1"> + ... <@mth="b"><@sub="p"><@mth="y"><@sub="t-p">
1778
1779Se o argumento <@var="x"> for uma série, o resultado será também uma série. Caso contrário, se <@var="x"> for uma matriz com <@mth="T"> linhas e <@mth="k"> colunas, o resultado será uma matriz com o mesmo tamanho e com a filtragem sendo realizada coluna por coluna.
1780
1781Os argumentos <@var="a"> e <@var="b"> são opcionais. Eles podem ser escalares, vetores ou a palavra-chave <@lit="null">.
1782
1783Se <@var="a"> for um escalar, isto é usado como <@mth="a"><@sub="0"> e implica em <@mth="q=0">. Se ele for um vetor com <@mth="q+1"> elementos, eles contêm os coeficientes de <@mth="a"><@sub="0"> a <@mth="a"><@sub="q">. Se <@var="a"> for <@lit="null"> ou for omitido, isso é equivalente a definir <@mth="a"><@sub="0"> <@mth="=1"> e <@mth="q=0">.
1784
1785Se <@var="b"> for um escalar, isto é usado como <@mth="b"><@sub="1"> e implica em <@mth="p=1">. Se ele for um vetor com <@mth="p"> elementos, eles contêm os coeficientes de <@mth="b"><@sub="1"> a <@mth="b"><@sub="p">. Se <@var="b"> for <@lit="null"> ou for omitido, isso é equivalente a definir <@mth="B(L)=1">.
1786
1787O argumento escalar opcional <@var="y0"> for tomado para representa todos os valores de <@mth="y"> anteriores ao início da amostra (usado apenas quando <@mth="p>0">). Se for omitido, subentende-se que é igual a 0. Assume-se que valores pré-amostrais de <@var="x"> são sempre 0.
1788
1789Ver também <@ref="bkfilt">, <@ref="bwfilt">, <@ref="fracdiff">, <@ref="hpfilt">, <@ref="movavg">, <@ref="varsimul">.
1790
1791Exemplo:
1792
1793<code>
1794     nulldata 5
1795     y = filter(index, 0.5, -0.9, 1)
1796     print index y --byobs
1797     x = seq(1,5)' ~ (1 | zeros(4,1))
1798     w = filter(x, 0.5, -0.9, 1)
1799     print x w
1800</code>
1801
1802produz
1803
1804<code>
1805          index            y
1806
1807          1            1     -0.40000
1808          2            2      1.36000
1809          3            3      0.27600
1810          4            4      1.75160
1811          5            5      0.92356
1812
1813          x (5 x 2)
1814
1815          1   1
1816          2   0
1817          3   0
1818          4   0
1819          5   0
1820
1821          w (5 x 2)
1822
1823          -0.40000     -0.40000
1824          1.3600      0.36000
1825          0.27600     -0.32400
1826          1.7516      0.29160
1827          0.92356     -0.26244
1828</code>
1829
1830# firstobs data-utils
1831Resultado: 	número inteiro
1832Argumento: 	<@var="y">  (série)
1833
1834Retorna o número da primeira observação não ausente da série <@var="y">. Note que se alguma forma de subamostragem estiver sendo utilizada o valor retornado poderá ser menor que o valor retornado pela função <@ref="$t1">. Ver também <@ref="lastobs">.
1835
1836# fixname strings
1837Resultado: 	texto
1838Argumentos:	<@var="rawname">  (texto)
1839		<@var="underscore">  (booleano, opcional)
1840
1841Tem como intuito principal a utilização em conjunto com o comando <@xrf="join">. Retorna o resultado da conversão de <@var="rawname"> em um identificador válido do Gretl, que deve ser iniciado por uma letra, conter apenas letras ASCII, dígitos e traço inferior (“underscore”), e não deve ter mais que 31 caracteres. As regras utilizadas na conversão são:
1842
18431. Remover quaisquer caracteres que não sejam letras no início do nome.
1844
18452. Até o limite de 31 caracteres não ter sido ultrapassado ou a entrada tiver sido exaurida: transcreve os caracteres “legais ”, omite os caracteres “ilegais”, com exceção dos espaços, e substitui os espaços por traços inferiores. Se o caractere anterior for um traço inferior o espaço será omitido.
1846
1847Se você estiver seguro de que a entrada não é muito extensa (e, dessa forma, não está sujeita a truncagem), você pode querer que um ou mais dos caracteres ilegais sejam substituídos por um traço inferior ao invés de simplesmente deletá-los. Isto pode produzir um identificador mais legível. Para que isso ocorra, forneça um valor diferente de 0 para o segundo argumento (que é opcional). Vale salientar que esse procedimento não é aconselhável quando o comando <@xrf="join"> for utilizado, uma vez que os nomes automaticamente “corrigidos ” não utilizarão o traço inferior.
1848
1849# flatten data-utils
1850Resultado: 	ver abaixo
1851Argumentos:	<@var="A">  (cadeia de matrizes ou texto)
1852		<@var="alt">  (booleano, opcional)
1853
1854Compacta um conjunto de matrizes numa única matriz ou conjunto de cadeias de texto numa única cadeia de texto.
1855
1856No caso matricial, as matrizes contidas em <@var="A"> são, por defeito, concatenadas horizontalmente, mas se um valor diferente de zero for passado como argumento <@var="alt"> a concatenação é vertical. Em ambos os casos será mostrado um erro se as matrizes não forem compatíveis com a operação. Ver <@ref="msplitby"> para a operação inversa.
1857
1858No caso de cadeia de texto, o resultado são as cadeias de texto em <@var="A">, e arranjadas uma por linha, por defeito. Se e um valor diferente de zero for passado como argumento <@var="alt"> as cadeias de texto são separadas por espaços aon invés de linhas.
1859
1860# floor math
1861Resultado: 	o mesmo tipo que o argumento
1862Argumento: 	<@var="y">  (escalar, série ou matriz)
1863
1864Consiste na função piso. Retorna o maior inteiro menor que ou igual <@var="x">. Note que <@ref="int"> e <@lit="floor"> possuem efeitos distintos em argumentos negativos: <@lit="int(-3.5)"> gera –3, enquanto <@lit="floor(-3.5)"> gera –4.
1865
1866# fracdiff timeseries
1867Resultado: 	série
1868Argumentos:	<@var="y">  (série)
1869		<@var="d">  (escalar)
1870
1871Retorna a diferença fracionária de ordem <@var="d"> para a series <@var="y">.
1872
1873Note que teoricamente a diferenciação fracionária é um filtro infinitamente longo. Na prática, valores antes da amostra de <@mth="y"><@sub="t"> são assumidos com sendo iguais a zero.
1874
1875É possível utilizar valores de <@var="d"> negativos. Nesse caso é realizada a integração fracionária.
1876
1877# fzero numerical
1878Resultado: 	escalar
1879Argumentos:	<@var="fcall">  (chamada a função)
1880		<@var="init">  (escalar ou vetor, opcional)
1881		<@var="toler">  (escalar, opcional)
1882
1883Tenta encontrar a raiz unitária de uma função coninua (tipicamente não-linear) <@mth="f">, que é uma variável escalar <@mth="x"> tal que <@mth="f">(<@mth="x">) = 0. O argumento <@var="fcall"> deve chamar a função em causa; <@var="fcall"> pode incluir um número arbitrário de argumentos, mas o primeiro tem que ser um escalar actuando com <@mth="x">. Em caso de sucesso, a função retorna o valor da raiz.
1884
1885O método utilizado é o de <@bib="Ridders (1979);ridders79">. Isto necessita de um intervalo inicial {<@mth="x"><@sub="0">, <@mth="x"><@sub="1">} tal que ambos os valores pertençam ao domínio da função e as respectivas imagens sejam de sinais opostos. Será mais provável obter melhores resultados, se o utilizador fornecer como segundo argumento, um vector cujos componentes sejam os valores extremos do intervalo. Se não for assim, pode-se fornecer um único valor escalar e <@lit="fzero"> tentará encontrar um intervalo adequado. Se o segundo argumento fôr omitido, <@mth="x"><@sub="0"> é inicializado com um valor positivo pequeno e nós procuramos um valor adequado para <@mth="x"><@sub="1">.
1886
1887O argumento opcional <@var="toler"> pode ser utilizado para ajustar a diferença máxima aceitável de <@mth="f">(<@mth="x">) de zero, sendo o valor por defeito 1.0e–14.
1888
1889Por defeito esta função opera silenciosamente, mas o progresso do processo iteractivo pode ser exposto usando o comando “<@lit="set max_verbose on">” antes de chamar <@lit="fzero">.
1890
1891Seguem-se alguns simples exemplos:
1892
1893<code>
1894     # Aproximação de Pi pesquisando um zero da
1895     # função sin() no intervalo 2.8 a 3.2
1896     x = fzero(sin(x), {2.8, 3.2})
1897     printf "\nx = %.12f vs pi = %.12f\n\n", x, $pi
1898
1899     # Aproximação da 'constante Omega' partindo de x=0.5
1900     function scalar f(scalar x)
1901     return log(x) + x
1902     end function
1903     x = fzero(f(x), 0.5)
1904     printf "x = %.12f f(x) = %.15f\n", x, f(x)
1905</code>
1906
1907# gammafun math
1908Resultado: 	o mesmo tipo que o argumento
1909Argumento: 	<@var="x">  (escalar, série ou matriz)
1910
1911Retorna a função gama de <@var="x">.
1912
1913# genseries data-utils
1914Resultado: 	escalar
1915Argumentos:	<@var="varname">  (texto)
1916		<@var="rhs">  (série)
1917
1918Permite que sejam geradas séries cujos nomes não são conhecidos a priori e/ou que sejam criadas séries e adicionadas a uma lista utilizando apenas uma única operação.
1919
1920O primeiro argumento fornece o nome da série a ser criada (ou modificada) e pode ser um texto literal, uma variável de texto (string), ou uma expressão cujo resultado seja uma variável de texto. O segundo argumento, <@var="rhs"> (abreviação em inglês de “lado direito”), define a fonte da série: isto pode ser o nome de uma série existente ou uma expressão cujo resultado seja uma série, da forma que aparece do lado direito do sinal de igualdade quando se definem séries da forma usual.
1921
1922O valor de retorno dessa função é o número ID das séries no conjunto de dados, um valor que pode ser utilizado para incluir as séries em uma lista (ou –1 caso a execução da função falhe).
1923
1924Por exemplo, suponha que se queira adicionar <@mth="n"> séries aleatórias com distribuição normal ao conjunto de dados e colocá-las em uma lista. O código a seguir fará isso:
1925
1926<code>
1927     list Normals = null
1928     loop i=1..n --quiet
1929         Normals += genseries(sprintf("norm%d", i), normal())
1930     endloop
1931</code>
1932
1933Ao término da execução a lista <@lit="Normals"> irá conter as séries <@lit="norm1">, <@lit="norm2"> e assim sucessivamente.
1934
1935# geoplot data-utils
1936Resultado: 	nada
1937Argumentos:	<@var="mapfile">  (texto)
1938		<@var="payload">  (série, opcional)
1939		<@var="options">  (lote, opcional)
1940
1941Chama a produção de um mapa, quando existem dados geográficos apropriados. Na maior parte dos casos o argumento <@var="mapfile"> deve ser dado como <@ref="$mapfile">, um acessor que obtém o nome relevante do ficheiro GeoJSON ou do ficheiro de formas ESRI. O argumento opcional <@var="payload"> é usado para fornecer o nome de uma série com a qual se coloriza as regiões do mapa. E o argumento final <@var="options"> como bundle permite você definir inúmeras opções.
1942
1943Veja a documentação do geoplot, <@adb="geoplot.pdf">, para mais detalhes e exemplos. Aqui se explica todas as configurações por via do argumento <@var="options">.
1944
1945# getenv programming
1946Resultado: 	texto
1947Argumento: 	<@var="s">  (texto)
1948
1949Se uma variável de ambiente de nome <@var="s"> estiver definida a função retorna uma variável com o texto dessa variável, caso contrário, retorna um texto vazio. Veja também <@ref="ngetenv">.
1950
1951# getinfo data-utils
1952Resultado: 	lote
1953Argumento: 	<@var="y">  (série)
1954
1955Retorna, na forma de um pacote (bundle) informações sobre a série especificada, o que pode ser feito por meio de seu nome ou de seu número ID. O pacote retornado contém os atributos que podem ser definidos via comando <@xrf="setinfo">. Ele também contém informações relevantes adicionais das séries que tenham sido criadas por meio de transformações nos dados primários (defasagens, logs, etc.): isso inclui o nome do comando do Gretl para a transformação sob código “transform” e o nome da série primária associada sob o código “parent”. Para séries defasadas, o número específico de defasagens pode ser encontrado sob o código “lag”.
1956
1957Exemplo de utilização:
1958
1959<code>
1960     open data9-7
1961     lags QNC
1962     bundle b = getinfo(QNC_2)
1963     print b
1964</code>
1965
1966Ao executar o código acima tem-se:
1967
1968<code>
1969     has_string_table = 0
1970     lag = 2
1971     parent = QNC
1972     name = QNC_2
1973     graph_name =
1974     coded = 0
1975     discrete = 0
1976     transform = lags
1977     description = = QNC(t - 2)
1978</code>
1979
1980Para verificar se a série 5 no conjunto de dados é um termo defasado pode-se proceder da seguinte forma:
1981
1982<code>
1983     if getinfo(5).lag != 0
1984        printf "a série 5 é uma defasagem de %s\n", getinfo(5).parent
1985     endif
1986</code>
1987
1988Deve-se ter em mente que a notação ponto (.) para acessar os membros do pacote pode ser utilizada mesmo este seja “anônimo” (ou seja, armazenado sem seu próprio nome).
1989
1990# getkeys data-utils
1991Resultado: 	cadeia de texto
1992Argumento: 	<@var="b">  (lote)
1993
1994Retorna um vetor de textos contendo os códigos que identificam os conteúdos de <@var="b">. Se o pacote (bundle) estiver vazio é retornado um vetor também vazio.
1995
1996# getline strings
1997Resultado: 	escalar
1998Argumentos:	<@var="source">  (texto)
1999		<@var="target">  (texto)
2000
2001Essa função lê sucessivamente as linhas de <@var="source">, que deve ser uma variável de texto (string). A cada chamada uma linha do texto é escrita em <@var="target"> (que também deve ser uma variável de texto) com o caractere de nova linha removido. O valor retornado é 1, se existir algo a ser lido (incluindo-se linhas em branco), ou 0, se todas as linhas de <@var="source"> tiverem sido lidas.
2002
2003A seguir é apresentado um exemplo onde o conteúdo de um arquivo de texto é dividido em linhas:
2004
2005<code>
2006     string s = readfile("data.txt")
2007     string line
2008     scalar i = 1
2009     loop while getline(s, line)
2010         printf "line %d = '%s'\n", i++, line
2011     endloop
2012</code>
2013
2014Neste exemplo pode-se ter a certeza de que o texto foi exaurido quando o loop terminar. Se não for desejado exaurir todas as linhas do texto pode-se chamar a função <@lit="getline">, sendo que sucessivas chamadas substituirão o conteúdo de <@var="target"> pela nova linha lida. Para reiniciar a leitura a partir da primeira linha de <@var="source "> basta utilizar <@lit="null"> no argumento <@var="target "> (ou apenas deixá-lo em branco). Exemplos:
2015
2016<code>
2017     getline(s, line) # recupera uma única linha
2018     getline(s, null) # reinicia a leitura
2019</code>
2020
2021Note que apesar de a posição de leitura avançar em cada chamada de <@lit=" getline">, o argumento <@var="source"> não é modificado por essa função, apenas <@var="target"> é alterado.
2022
2023# ghk stats
2024Resultado: 	matriz
2025Argumentos:	<@var="C">  (matriz)
2026		<@var="A">  (matriz)
2027		<@var="B">  (matriz)
2028		<@var="U">  (matriz)
2029		<@var="&dP">  (referência a matriz, ou <@lit="null">)
2030
2031Calcula a aproximação GHK (Geweke, Hajivassiliou, Keane) para a função de distribuição normal multivariada. Veja, por exemplo, <@bib="Geweke (1991);geweke91">. O valor retornado é um vetor de probabilidades de ordem <@itl="n">×1.
2032
2033O argumento <@var="C"> (<@itl="m">×<@itl="m">) deve fornecer o fator de Cholesky (triangular inferior) da matriz de covariância de <@mth="m"> variáveis normais. Ambos os argumentos <@var="A"> e <@var="B"> devem ser de ordem <@itl="n">×<@itl="m">, fornecendo, respectivamente, os limites inferior e superior aplicados às variáveis em cada uma das <@mth="n"> observações. Quando as variáveis não possuírem limites é necessário que tal característica seja indicada através da constante <@ref="$huge"> ou de sua negativa.
2034
2035A matriz <@var="U"> deve ter ordem <@itl="m">×<@itl="r">, sendo <@mth="r"> o número de elementos pseudo-aleatórios extraídos da distribuição uniforme. Funções convenientes para a criação de <@var=" U"> são <@ref="muniform"> e <@ref="halton">.
2036
2037A seguir encontra-se um caso relativamente simples onde as probabilidades multivariadas podem ser calculada de forma analítica. As séries <@lit="P"> e <@lit="Q"> devem ser numericamente muito similares entre si, sendo <@lit="P"> a probabilidade “verdadeira” e <@lit="Q"> sua aproximação GHK:
2038
2039<code>
2040     nulldata 20
2041     series inf1 = -2*uniform()
2042     series sup1 = 2*uniform()
2043     series inf2 = -2*uniform()
2044     series sup2 = 2*uniform()
2045
2046     scalar rho = 0.25
2047     matrix V = {1, rho; rho, 1}
2048
2049     series P = cdf(D, rho, inf1, inf2) - cdf(D, rho, sup1, inf2) \
2050     - cdf(D, rho, inf1, sup2) + cdf(D, rho, sup1, sup2)
2051
2052     C = cholesky(V)
2053     U = halton(2, 100)
2054
2055     series Q = ghk(C, {inf1, inf2}, {sup1, sup2}, U)
2056</code>
2057
2058O argumento opcional <@var="dP"> pode ser usado para recuperar a matriz <@itl="n">×<@itl="k"> de derivadas das probabilidades, onde <@mth="k"> é igual a 2<@mth="m"> + <@mth="m"> (<@mth="m"> + 1)/2. As primeiras <@mth="m"> colunas contêm as derivadas em relação aos limites inferiores, as próximas <@mth="m"> as derivadas em relação aos limites superiores e as colunas restantes as derivadas em relação aos elementos únicos da matriz <@mth="C"> na ordem “vech”.
2059
2060# gini stats
2061Resultado: 	escalar
2062Argumento: 	<@var="y">  (série ou vetor)
2063
2064Retorna o índice de desigualdade de Gini para a série ou o vetor (não negativos). Um valor de Gini igual a zero indica igualdade perfeita. O valor máximo de Gini para uma série com <@mth="n"> elementos é (<@mth="n"> – 1)/<@mth="n">, ocorrendo quando apenas um membro possui um valor positivo. Um Gini igual a 1,0 é, dessa forma, o limite aproximado por uma grande série com desigualdade máxima <@var="y">.
2065
2066# ginv linalg
2067Resultado: 	matriz
2068Argumento: 	<@var="A">  (matriz)
2069
2070Retorna <@mth="A"><@sup="+">, a Moore–Penrose ou inversa generalizada de <@var="A">, calculada via decomposição em valores singulares.
2071
2072Essa matriz possui as seguintes propriedades: <@mth="A"> <@mth="A"><@sup="+"> <@mth="A"> = <@mth="A"> and <@mth="A"><@sup="+"> <@mth="A"> <@mth="A"><@sup="+"> = <@mth="A"><@sup="+">. Além disso, os produtos <@mth="A"> <@mth="A"><@sup="+"> e <@mth="A"><@sup="+"> <@mth="A"> são simétricos por construção.
2073
2074Ver também <@ref="inv">, <@ref="svd">.
2075
2076# GSSmax numerical
2077Resultado: 	escalar
2078Argumentos:	<@var="&b">  (referência a matriz)
2079		<@var="f">  (chamada a função)
2080		<@var="toler">  (escalar, opcional)
2081
2082Maximização de unidimensional via método Golden Section Search (GSS). A matriz <@var="b"> deve ser um vetor de ordem 3. Na entrada o primeiro elemento é ignorado enquanto que o segundo e o terceiro elementos determinam os limites inferior e superior da busca. O argumento <@var="fncall"> deve especificar a chamada a uma função que retorna o valor da variável a ser maximizada. O elemento 1 de <@var="b">, que irá armazenar o valor corrente do parâmetro ajustável quando a função for chamada, deve ser determinado como seu primeiro argumento. Quaisquer argumentos requeridos podem então ser incluídos em seguida. A função em questão de ser unimodal (ou seja, não deve possuir máximos locais, apenas o máximo global) ao longo da amostra estipulada, caso contrário não se pode garantir que o GSS irá encontrar o máximo.
2083
2084Ao ser executada com sucesso <@lit="GSSmax"> retorna o valor ótimo da variável a ser maximizada, enquanto <@var="b"> armazena o valor do parâmetro ótimo juntamente dos limites de seu intervalo.
2085
2086O terceiro argumento, que é opcional, pode ser utilizado para ajustar a convergência, isto é, a largura máxima aceitável do intervalo final do parâmetro. Se esse argumento não for fornecido, será utilizado o valor 0,0001.
2087
2088Se o objetivo é de fato a minimização, a chamada à função deve retornar o critério com o sinal negativo. Alternativamente, ao invés de se utilizar <@lit="GSSmax"> pode-se utilizar a função <@lit="GSSmin">.
2089
2090Exemplo de utilização:
2091
2092<code>
2093      function scalar trigfunc (scalar theta)
2094          return 4 * sin(theta) * (1 + cos(theta))
2095      end function
2096
2097      matrix m = {0, 0, $pi/2}
2098      eval GSSmax(&m, trigfunc(m[1]))
2099      printf "\n%10.7f", m
2100</code>
2101
2102# GSSmin numerical
2103Resultado: 	escalar
2104
2105É uma forma alternativa da função <@ref="GSSmax">. Se invocada com este nome a função comporta-se como minimizadora.
2106
2107# halton matrix
2108Resultado: 	matriz
2109Argumentos:	<@var="m">  (número inteiro)
2110		<@var="r">  (número inteiro)
2111		<@var="offset">  (número inteiro, opcional)
2112
2113Retorna uma matriz <@itl="m">×<@itl="r"> contendo <@mth="m"> sequências de Halton de comprimento <@mth="r">. O <@mth="m"> é limitado a um máximo de 40. As sequências são construídas utilizando os primeiros <@mth="m"> primos. Por padrão os primeiros 10 elementos de cada sequência são descartados, mas isso pode ser ajustado via argumento opcional <@var="offset">, que deve ser um número inteiro não negativo. Maiores detalhes podem ser encontrados em <@bib="Halton e Smith (1964);halton64">.
2114
2115# hdprod linalg
2116Resultado: 	matriz
2117Argumentos:	<@var="X">  (matriz)
2118		<@var="Y">  (matriz)
2119
2120Calcula o produto direto horizontal. Os dois argumentos devem ter o mesmo número de linhas, <@mth="r">. O valor retornado é uma matriz com <@mth="r"> linhas, onde a <@mth="i">-ésima linha corresponde ao produto de Kronecker das linhas correspondentes de <@var="X"> e <@var="Y">.
2121
2122Esta operação é chamada de “produto horizontal direto” em conformidade com sua implementação na linguagem de programação GAUSS. Sua equivalente na álgebra linear padrão seria chamada de produto linha a linha de Khatri-Rao.
2123
2124Exemplo: o código
2125
2126<code>
2127     A = {1,2,3; 4,5,6}
2128     B = {0,1; -1,1}
2129     C = hdprod(A, B)
2130</code>
2131
2132produz a seguinte matriz:
2133
2134<code>
2135          0    1    0    2    0    3
2136         -4    4   -5    5   -6    6
2137</code>
2138
2139# hfdiff midas
2140Resultado: 	lista
2141Argumentos:	<@var="hfvars">  (lista)
2142		<@var="multiplier">  (escalar)
2143
2144Dada uma <@xrf="MIDAS_list">, produz uma lista com o mesmo tamanho contendo as primeiras diferenças de alta frequência. O segundo argumento é opcional e tem como valor padrão 1: ele pode ser utilizado para multiplicar as diferenças por alguma constante.
2145
2146# hfldiff midas
2147Resultado: 	lista
2148Argumentos:	<@var="hfvars">  (lista)
2149		<@var="multiplier">  (escalar)
2150
2151Dada uma <@xrf="MIDAS_list">, produz uma lista com o mesmo tamanho contendo as diferenças logarítmicas de alta frequência. O segundo argumento é opcional e tem como valor padrão 1: ele pode ser utilizado para multiplicar as diferenças por alguma constante. Um exemplo da utilização desse argumento é utilizar o valor 100 para obter as variações percentuais (aproximadas).
2152
2153# hflags midas
2154Resultado: 	lista
2155Argumentos:	<@var="minlag">  (número inteiro)
2156		<@var="maxlag">  (número inteiro)
2157		<@var="hfvars">  (lista)
2158
2159Dada uma <@xrf="MIDAS_list">, <@var="hfvars">, produz uma lista contendo as defasagens de auta frequência de <@var="minlag"> a <@var=" maxlag">. Deve-se utilizar valores positivos para defasagens (<@mth=" t"> - 1) e negativos para adiantamentos (<@mth="t"> + 1). Por exemplo, se <@var="minlag"> for –3 e <@var="maxlag"> for 5 então a lista retornada irá conter 9 séries: 3 adiantamentos, o valor atual e 5 defasagens.
2160
2161Note que a defasagem de alta frequência 0 corresponde ao primeiro período de alta frequência dentro de um período de baixa frequência, por exemplo, o primeiro mês de um trimestre ou o primeiro dia de um mês.
2162
2163# hflist midas
2164Resultado: 	lista
2165Argumentos:	<@var="x">  (vetor)
2166		<@var="m">  (número inteiro)
2167		<@var="prefix">  (texto)
2168
2169Produz a partir de um vetor <@var="x"> uma lista MIDAS (<@xrf="MIDAS_list">) de <@var="m"> séries, onde <@var="m"> é a razão entre a frequência das observações para a variável em <@var="x"> em relação a frequência base do conjunto de dados corrente. O valor de <@var="m"> deve ser ao menos 3 e o comprimento de <@var="x"> deve ser <@var="m"> vezes o comprimento da amostra selecionada corrente.
2170
2171Os nomes das séries na lista retornada são definidos a partir de um dado prefixo, dado pelo argumento <@var="prefix"> (este deve ser um texto ASCII com 24 ou menos caracteres e que seja um identificador válido para o Gretl) mais 1 ou mais prefixos representando o subperíodo da observação. Um erro será apresentado se algum desses nomes seja idêntico a nomes de objetos já existentes.
2172
2173# hpfilt timeseries
2174Resultado: 	série
2175Argumentos:	<@var="y">  (série)
2176		<@var="lambda">  (escalar, opcional)
2177		<@var="one-sided">  (booleano, opcional)
2178
2179Retorna o componente cíclico do filtro de Hodrick–Prescott aplicado à série <@var="y">. Se o parâmetro de suavização <@var="lambda"> não for fornecido o Gretl usará valores padrão com base na periodicidade dos dados. O parâmetro será igual a 100 vezes o quadrado da periodicidade (100 para dados anuais, 1600 para dados trimestrais, 14400 para dados mensais, etc.).
2180
2181Por padrão o filtro é a versão bilateral, “two-sided”, mas se o terceiro argumento (opcional) for um valor diferente de zero é computada a versão unilateral, “one-sided”, (de forma não prospectiva) é computada na forma proposta por <@bib="Stock and Watson (1999);stock-watson1999">.
2182
2183O uso mais comum do filtro HP é a retirada de tendência de séries, mas se o interesse for pela tendência em si, basta utilizar a seguinte expressão:
2184
2185<code>
2186     series hptrend = y - hfilt(y)
2187</code>
2188
2189Ver também <@ref="bkfilt">, <@ref="bwfilt">.
2190
2191# hyp2f1 math
2192Resultado: 	escalar ou matriz
2193Argumentos:	<@var="a">  (escalar)
2194		<@var="b">  (escalar)
2195		<@var="c">  (escalar)
2196		<@var="x">  (escalar ou matriz)
2197
2198Retorna a função hipergeométrica de Gauss para o argumento real <@var="x">.
2199
2200Se <@var="x"> é um escalar, a função retorna um escalar; se não, o resultado será uma matriz com a mesma dimensão que o argumento <@var="x">.
2201
2202# I matrix
2203Resultado: 	matriz
2204Argumento: 	<@var="n">  (número inteiro)
2205
2206Retorna uma matriz identidade com <@var="n"> linhas e colunas.
2207
2208# Im complex
2209Resultado: 	matriz
2210Argumento: 	<@var="C">  (matriz complexa)
2211
2212Retorna uma matriz real com a mesma dimensão que <@var="C">, contendo a parte imaginária da matriz de entrada. Ver também <@ref="Re">.
2213
2214# imaxc stats
2215Resultado: 	vetor linha
2216Argumento: 	<@var="X">  (matriz)
2217
2218Retorna um vetor com os números das linhas onde as colunas de <@var="X"> atingem seus valores máximos.
2219
2220Ver também <@ref="imaxr">, <@ref="iminc">, <@ref="maxc">.
2221
2222# imaxr stats
2223Resultado: 	vetor coluna
2224Argumento: 	<@var="X">  (matriz)
2225
2226Retorna um vetor com os números das colunas onde as linhas de <@var="X"> atingem seus valores máximos.
2227
2228Ver também <@ref="imaxc">, <@ref="iminr">, <@ref="maxr">.
2229
2230# imhof probdist
2231Resultado: 	escalar
2232Argumentos:	<@var="M">  (matriz)
2233		<@var="x">  (escalar)
2234
2235Calcula Prob(<@mth="u'Au"> < <@mth="x">) para uma forma quadrática em variáveis normais padrão, <@mth="u">, utilizando o procedimento desenvolvido por <@bib="Imhof (1961);imhof61">.
2236
2237Se o primeiro argumento, <@var="M">, for uma matriz quadrada ela será utilizada para especificar <@mth="A">, caso contrário, se for um vetor coluna, será utilizada como sendo os autovalores pré-calculados de <@mth="A">, caso contrário um erro será apresentado.
2238
2239Ver também <@ref="pvalue">.
2240
2241# iminc stats
2242Resultado: 	vetor linha
2243Argumento: 	<@var="X">  (matriz)
2244
2245Retorna um vetor com os números das linhas onde as colunas de <@var="X"> atingem seus valores mínimos.
2246
2247Ver também <@ref="iminr">, <@ref="imaxc">, <@ref="minc">.
2248
2249# iminr stats
2250Resultado: 	vetor coluna
2251Argumento: 	<@var="X">  (matriz)
2252
2253Retorna um vetor com os números das colunas onde as linhas de <@var="X"> atingem seus valores mínimos.
2254
2255Ver também <@ref="iminc">, <@ref="imaxr">, <@ref="minr">.
2256
2257# inbundle data-utils
2258Resultado: 	número inteiro
2259Argumentos:	<@var="b">  (lote)
2260		<@var="key">  (texto)
2261
2262Verifica se um pacote (bundle) <@var="b"> contém um item com o nome <@var="key">. O valor retornado é um código (na forma de um número inteiro) para o tipo de item: 0 caso não seja encontrado, 1 para escalar, 2 para série,3 para matriz, 4 para variável de texto, 5 para pacote (bundle) e 6 para arranjo (array). A função <@ref="typestr"> pode ser utilizada para se obter o nome do tipo do item na forma de variável de texto com base em seu código.
2263
2264# infnorm linalg
2265Resultado: 	escalar
2266Argumento: 	<@var="X">  (matriz)
2267
2268Retorna a norma infinito de <@var="X">, isto é, o máximo ao longo das linhas de <@var="X"> da soma dos valores absolutos dos elementos da linha.
2269
2270Ver também <@ref="onenorm">.
2271
2272# inlist data-utils
2273Resultado: 	número inteiro
2274Argumentos:	<@var="L">  (lista)
2275		<@var="y">  (série)
2276
2277Retorna a posição de <@var="y"> na lista <@var="L">, ou 0 se <@var="y"> não estiver presente em <@var="L">.
2278
2279O segundo argumento pode ser dado tanto como o nome da série quanto como o número ID da série. Se é sabido que uma série com dado nome (como por exemplo <@lit="foo">) existe, então é possível chamar essa função da seguinte forma:
2280
2281<code>
2282     pos = inlist(L, foo)
2283</code>
2284
2285O que a expressão acima está solicitando é: “Informe a posição da série <@lit="foo"> na lista <@lit="L"> (sendo 0 se ela não estiver incluída na lista L)”. Entretanto, se não houver certeza se a série com dado nome existe, deve-se inserir o nome entre aspas. Isso é feito da seguinte forma:
2286
2287<code>
2288     pos = inlist(L, "foo")
2289</code>
2290
2291Neste caso o que está sendo solicitado é: “Se existir uma série chamada <@lit="foo"> na lista <@lit="L">, me informe sua posição ou 0 caso ela não exista.”
2292
2293# instring strings
2294Resultado: 	número inteiro
2295Argumentos:	<@var="s1">  (texto)
2296		<@var="s2">  (texto)
2297
2298Função booleana relacionada à <@ref="strstr">. Retorna 1 se <@var="s1"> contiver <@var="s2">, 0 caso contrário. Assim, a expressão condicional
2299
2300<code>
2301      if instring("cattle", "cat")
2302</code>
2303
2304é logicamente equivalente a, mas mais eficiente que,
2305
2306<code>
2307      if strlen(strstr("cattle", "cat")) > 0
2308</code>
2309
2310# instrings strings
2311Resultado: 	matriz
2312Argumentos:	<@var="S">  (cadeia de texto)
2313		<@var="test">  (texto)
2314
2315Verifica quais os elementos do arranjo de texto em <@var="S"> são iguais a <@var="test">. Retorna um vector de comprimento igual ao número de igualdades, contendo as posições correspondentes dentro do arranjo; ou uma matriz vazia em caso de não haver correspondências.
2316
2317Exemplo:
2318
2319<code>
2320     strings S = defarray("A", "B", "C", "B")
2321     eval instrings(S, "B")
2322     2
2323     4
2324</code>
2325
2326# int math
2327Resultado: 	o mesmo tipo que o argumento
2328Argumento: 	<@var="x">  (escalar, série ou matriz)
2329
2330Retorna a parte inteira <@var="x">, truncando a parte fracional. Note que <@lit="int"> e <@ref="floor"> possuem efeitos distintos em argumentos negativos: <@lit="int(-3.5)"> gera –3, enquanto <@lit="floor(-3.5)"> gera –4. Ver também <@ref="ceil">.
2331
2332# inv linalg
2333Resultado: 	matriz
2334Argumento: 	<@var="A">  (matriz quadrada)
2335
2336Retorna a inversa de <@var="A">. Se <@var="A"> for singular ou não quadrada, uma mensagem de erro é produzida e nada é retornado. Note que o Gretl confere automaticamente a estrutura de <@var="A"> e utiliza o procedimento numérico mais eficiente para realizar a inversão.
2337
2338Os tipos de matriz que o Gretl confere são: identidade, diagonal, simétrica e positiva definida, simétrica mas não positiva definida e triangular.
2339
2340Observação: faz sentido utilizar essa função apenas se o intuito for utilizar a inversa de <@var="A"> mais de uma vez. Se o objetivo for apenas calcular uma expressão da forma <@mth="A"><@sup="-1"><@mth="B">, será preferível utilizar os operadores de “divisão” <@lit="\"> e <@lit="/">. Veja <@pdf="guia de utilização do Gretl#chap:matrices"> (Capítulo 17) para detalhes.
2341
2342Ver também <@ref="ginv">, <@ref="invpd">.
2343
2344# invcdf probdist
2345Resultado: 	o mesmo tipo que o argumento
2346Argumentos:	<@var="d">  (texto)
2347		<@var="…">  (ver abaixo)
2348		<@var="p">  (escalar, série ou matriz)
2349
2350Calculadora da função de distribuição acumulada inversa. Retorna <@mth="x"> tal que <@mth="P(X ≤ x) = p">, onde a distribuição de <@mth="X"> é especificada pela letra <@var="d">. Entre os argumentos <@var="d"> e <@var="p">, zero ou mais argumentos adicionais são necessários para que se especifique os parâmetros da distribuição. Isso é feito da seguinte forma:
2351
2352<indent>
2353• Normal padrão (c = z, n ou N): sem argumentos extras
2354</indent>
2355
2356<indent>
2357• Gama (g ou G): forma; escala
2358</indent>
2359
2360<indent>
2361• t de Student (t): graus de liberdade
2362</indent>
2363
2364<indent>
2365• Qui-quadrado (c, x ou X): graus de liberdade
2366</indent>
2367
2368<indent>
2369• F de Snedecor F (f ou F): graus de liberdade (num.); graus de liberdade (den.)
2370</indent>
2371
2372<indent>
2373• Binomial (b ou B): probabilidade; tentativas
2374</indent>
2375
2376<indent>
2377• Poisson (p ou P): média
2378</indent>
2379
2380<indent>
2381• Laplace (l ou L): média; escala
2382</indent>
2383
2384<indent>
2385• GED padronizada (E): forma
2386</indent>
2387
2388<indent>
2389• Qui-quadrado não-central (ncX): graus de liberdade, parâmetro de não-centralidade
2390</indent>
2391
2392<indent>
2393• F não-central (ncF): graus de liberdade (num.), graus de liberdade (den.), parâmetro de não-centralidade
2394</indent>
2395
2396<indent>
2397• t não-central (nct): graus de liberdade, parâmetro de não-centralidade
2398</indent>
2399
2400Ver também <@ref="cdf">, <@ref="critical">, <@ref="pvalue">.
2401
2402# invmills probdist
2403Resultado: 	o mesmo tipo que o argumento
2404Argumento: 	<@var="x">  (escalar, série ou matriz)
2405
2406Retorna a razão inversa de Mills em <@var="x">, isto é a razão entre a densidade normal padrão e o complemento para para a função de distribuição normal padrão, ambas avaliadas em <@var="x">.
2407
2408Essa função utiliza um algoritmo dedicado que fornece maior precisão quando comparado ao cálculo via <@ref="dnorm"> e <@ref="cnorm">, mas a diferença entre os dois métodos é considerável apenas para valores muito negativos de <@var="x">.
2409
2410Ver também <@ref="cdf">, <@ref="cnorm">, <@ref="dnorm">.
2411
2412# invpd linalg
2413Resultado: 	matriz quadrada
2414Argumento: 	<@var="A">  (matriz positiva definida)
2415
2416Retorna a inversa da matriz simétrica positiva definida <@var="A">. Essa função é ligeiramente mais rápida que <@ref="inv"> para matrizes grandes, uma vez que não é verificado se a matriz é simétrica. Por essa razão, essa função deve ser utilizada com cuidado.
2417
2418Observação: se o intuito for inverter uma matriz na forma <@mth="X'X">, onde <@mth="X"> é uma matriz grande, é preferível computá-la via operador <@lit="X'X"> ao invés de utilizar a sintaxe mais geral <@lit="X'*X">. A primeira expressão utiliza um algoritmo especializado que tem a dupla vantagem de ser mais eficiente computacionalmente e de garantir que o resultado seja livre, por construção, dos artefatos de precisão de máquina que podem torná-la numericamente não-simétrico.
2419
2420# irf timeseries
2421Resultado: 	matriz
2422Argumentos:	<@var="target">  (número inteiro)
2423		<@var="shock">  (número inteiro)
2424		<@var="alpha">  (escalar entre 0 e 1, opcional)
2425		<@var="sys">  (lote, opcional)
2426
2427Sem utilizar o argumento <@var="sys">, opcional, essa função está disponível apenas quando o último modelo estimado foi um VAR ou um VECM. Alternativamente, as informações de uma VAR ou VECM podem ser armazenadas em um pacote via função <@ref="$system"> que, por sua vez, pode ser utilizado como o último argumento.
2428
2429Ela retorna uma matriz contendo as respostas estimadas da variável <@var="target"> a um impulso (choque) de 1 desvio padrão na variável <@var="shock">. Essas variáveis são identificadas de acordo com suas posições na especificação do modelo: por exemplo, se para <@var="target"> e <@var="shock"> são dados os valores 1 e 3, respectivamente, a matriz que será retornada fornece as respostas da primeira variável no sistema a um choque na terceira variável.
2430
2431Se o terceiro argumento <@var="alpha">, que é opcional, for dado, a matriz retornada terá três colunas: a estimativa pontual das respostas, seguida dos limites inferior e superior de um intervalo de confiança obtido via bootstrap de 1 – α. Onde <@var="alpha"> = 0.1 corresponde a 90 por cento de confiança. Se <@var="alpha"> for omitido ou igualado a zero, apenas a estimativa pontual será fornecida.
2432
2433O número de períodos (linhas) da resposta é determinado automaticamente com base na frequência dos dados, mas isso pode ser ajustado via comando <@xrf="set">, como por exemplo <@lit="set horizon 10">.
2434
2435Ver também <@ref="fevd">.
2436
2437# irr math
2438Resultado: 	escalar
2439Argumento: 	<@var="x">  (série ou vetor)
2440
2441Retorna a Taxa Interna de Retorno para <@var="x">, considerado como sendo uma sequência de pagamentos (negativo) e recebimentos (positivo). Ver também <@ref="npv">.
2442
2443# iscomplex data-utils
2444Resultado: 	escalar
2445Argumento: 	<@var="nome">  (texto)
2446
2447Retorna 1 se <@var="nome"> é o nome de uma matriz complexa, 0 se é o nome de uma matriz real, ou <@lit="NA"> se nenhum dos dois.
2448
2449# isconst data-utils
2450Resultado: 	número inteiro
2451Argumentos:	<@var="y">  (série ou vetor)
2452		<@var="panel-code">  (número inteiro, opcional)
2453
2454Sem o segundo argumento (opcional), retorna 1 caso <@var="y"> tenha um valor constante ao longo da amostra selecionada (ou ao longo de toda sua extensão no caso de <@var="y"> ser um vetor), caso contrário retorna 0.
2455
2456O segundo argumento somente é aceito se o conjunto de dados corrente for um painel e <@var="y"> for uma série. Neste caso um valor de <@var="panel-code"> igual a 0 faz a função verificar se a série não varia em relação ao tempo. Um valor igual a 1 faz a função verificar se a série não varia entre as unidades de corte transversal (ou seja, se o valor de <@var="y"> é o mesmo para todos os grupos).
2457
2458Se <@var="y"> for uma série, valores ausentes são ignorados durante a verificação da constância da série.
2459
2460# isdiscrete data-utils
2461Resultado: 	número inteiro
2462Argumento: 	<@var="name">  (texto)
2463
2464Se <@var="name"> for um identificador para uma série correntemente definida, a função retorna 1 se a série for marcada como sendo discreta, caso contrário retorna 0. Se <@var="name"> não identifica uma série a função retorna <@lit="NA">.
2465
2466# isdummy data-utils
2467Resultado: 	número inteiro
2468Argumento: 	<@var="x">  (série ou vetor)
2469
2470Se todos os valores contidos em <@var="x"> são iguais a 0 ou 1 (ou ausentes), a função retorna o número de ocorrências do valor 1, caso contrário retorna 0.
2471
2472# isnan data-utils
2473Resultado: 	o mesmo tipo que o argumento
2474Argumento: 	<@var="x">  (escalar ou matriz)
2475
2476Dado um escalar como argumento, retorna 1 se <@var="x"> não for um número, “Not a Number” (NaN), caso contrário 0. Dada uma matriz como argumento, retorna uma matriz com a mesma dimensão com elementos iguais a 1 nas posições onde o elemento correspondente da matriz de entrada for NaN e 0 nas demais posições.
2477
2478# isoconv calendar
2479Resultado: 	escalar
2480Argumentos:	<@var="date">  (série)
2481		<@var="&year">  (referência a série)
2482		<@var="&month">  (referência a série)
2483		<@var="&day">  (referência a série, opcional)
2484
2485Dada uma série <@var="date"> contendo datas no formato ISO 8601 “básico” (<@lit="YYYYMMDD">), essa função escreve os componentes ano, mês e (opcionalmente) dia em séries nomeadas pelos argumentos <@var="year">, <@var="month"> e <@var="dayecond">. Um exemplo, assumindo que a série <@lit="dates"> contém os valores adequados de 8 dígitos, seria:
2486
2487<code>
2488     series y, m, d
2489     isoconv(dates, &y, &m, &d)
2490</code>
2491
2492Essa função retorna 0 em caso de sucesso e um valor não-nulo em caso de erro.
2493
2494# isocountry strings
2495Resultado: 	o mesmo tipo que o argumento
2496Argumentos:	<@var="país">  (texto ou cadeia de texto)
2497		<@var="tipo">  (número inteiro, opcional)
2498
2499Esta função produz a correspondência da designação dos países segundo os quatro modos previstos na norma ISO 3166, que são
2500
2501<indent>
25021. Nome do país (em Inglês)
2503</indent>
2504
2505<indent>
25062. Código Alfa-2 (duas letras maiúsculas)
2507</indent>
2508
2509<indent>
25103. Código Alfa-3 (três letras maiúsculas)
2511</indent>
2512
2513<indent>
25144. Código numérico (com três digitos)
2515</indent>
2516
2517Partindo de uma das quatro formas, a função retorna o código do país conforme a opção <@var="tipo">, que deve estar entre 1 e 4; se o argumento for omitido, a conversão é como se segue: quando o <@var="país"> é o nome de um país, o valor de retorno é o código Alfa-2; noutro casos, é retornado o nome do país. Adiante mostra-se várias chamadas válidas:
2518
2519<code>
2520     ? eval isocountry("Bolivia")
2521     BO
2522     ? eval isocountry("Bolivia", 3)
2523     BOL
2524     ? eval isocountry("GB")
2525     United Kingdom of Great Britain and Northern Ireland
2526     ? eval isocountry("GB", 3)
2527     GBR
2528     ? strings S = defarray("ES", "DE", "SD")
2529     ? strings C = isocountry(S)
2530     ? print C
2531     Array of strings, length 3
2532     [1] "Spain"
2533     [2] "Germany"
2534     [3] "Sudan"
2535     ? matrix m = {4, 840}
2536     ? C = isocountry(m)
2537     ? print C
2538     Array of strings, length 2
2539     [1] "Afghanistan"
2540     [2] "United States of America"
2541</code>
2542
2543O argumento <@var="país"> na forma 4 (código numérico), pode estar contido numa cadeia de texto ou num arranjo de texto (por exemplo, “032” para a Argentina), ou como uma variável numérica. Neste caso, <@var="país"> pode ser uma série ou um vector, mas a função dará erro se algum dos valores estiver for do intervalo entre 0 e 999.
2544
2545Em qualquer dos casos (mesmo quando o modo 4 é selecionado) é retornado uma cadeia de texto ou um arranjo de texto; se são necessários valores numéricos, estes podem ser obidos usando a função <@ref="atof">. Se o <@var="país"> não for encontrado na tabela ISO 3166, o valor retornado é uma cadeia de texto vazia e é mostrado um aviso.
2546
2547# isodate calendar
2548Resultado: 	ver abaixo
2549Argumentos:	<@var="ed">  (escalar ou série)
2550		<@var="as-string">  (booleano, opcional)
2551
2552O argumento <@var="ed"> é interpretado como um dia na época corrente (que por sua vez é igual a 1 para o primeiro dia de janeiro do ano 1 depois de Cristo, no calendário gregoriano proléptico). O valor padrão de retorno — de mesmo tipo que o de <@var="ed"> — é um número com 8 dígitos, ou uma série composta por tais números, seguindo o padrão <@lit=" YYYYMMDD"> (formato ISO 8601 “básico”), fornecendo a data correspondente no calendário gregoriano ao dia na época.
2553
2554Se <@var="ed"> for (apenas) um escalar e o segundo argumento opcional <@var="as-string"> for não-nulo, o valor de retorno não é numérico mas sim uma variável de texto (string) no padrão <@lit="YYYY-MM-DD"> (padrão ISO 8601 “estendido”).
2555
2556Para a função inversa veja <@ref="epochday">. Veja também a função <@ref="juldate">.
2557
2558# isoweek calendar
2559Resultado: 	ver abaixo
2560Argumentos:	<@var="ano">  (escalar ou série)
2561		<@var="mês">  (escalar ou série)
2562		<@var="dia">  (escalar ou série)
2563
2564Retorna o número da semana segundo o padrão ISO 8601, correspondente à data especificada nos três argumentos, ou <@lit="NA"> se a data não é válida. Note-se que todos os três argumentos têm que ser do mesmo tipo, sejam escalares (inteiros) ou séries.
2565
2566As semanas ISO são numeradas de 01 a 53; a maior parte dos anos têm 52, mas em média, em 400 anos, 71 têm 53 semanas. De acordo com a definição ISO 8601, a semana 01 é aquela que contém a primeira quinta-feira do ano, seguindo o calendário Gregoriano. Para mais detalhes, ver <@url="https://en.wikipedia.org/wiki/ISO_week_date">.
2567
2568# iwishart probdist
2569Resultado: 	matriz
2570Argumentos:	<@var="S">  (matriz simétrica)
2571		<@var="v">  (número inteiro)
2572
2573Dado <@var="S"> (uma matriz de ordem <@itl="p">×<@itl="p"> positiva definida), retorna um valor extraído da distribuição Inversa de Wishart com <@var="v"> graus de liberdade. A matriz retornada é também uma <@itl="p">×<@itl="p">. O algoritmo de <@bib="Odell e Feiveson (1966);odell-feiveson66"> é utilizado.
2574
2575# jsonget data-utils
2576Resultado: 	texto
2577Argumentos:	<@var="buf">  (texto)
2578		<@var="path">  (texto)
2579		<@var="nread">  (referência a escalar, opcional)
2580
2581O argumento <@var="buf"> deve ser um buffer JSON, que ser obtido de alguma página na internet via função <@ref="curl">, e o argumento <@var="path"> deve ser uma especificação JsonPath.
2582
2583Esta função retorna uma variável de texto (string) representando os dados encontrados no buffer no path especificado. Dados do tipo double (ponto flutuante), int (inteiro) e string (variável de texto) são suportados. No caso de doubles ou ints, sua representação em forma de texto é retornada (utilizando o locale “C” para os doubles). Se o objeto ao qual o <@var="path"> se refere for um arranjo (array), cada um dos membros será escrito em uma linha diferente na variável de texto retornada.
2584
2585Por padrão, um erro será sinalizado se o <@var="path"> não possuir uma correspondência no buffer JSON, porém esse comportamento pode ser modificado se o terceiro argumento, opcional, for dado: nesse caso o argumento recupera o número de correspondências e uma variável de texto vazia é retornada caso nenhuma tenha sido encontrada. Por exemplo:
2586
2587<code>
2588     ngot = 0
2589     ret = jsonget(jbuf, "$.some.thing", &ngot)
2590</code>
2591
2592Apesar disso, um erro ainda será sinalizado no caso de uma consulta (query) mal formulada.
2593
2594Para maiores detalhes sobre a sintaxe do JsonPath pode-se consultar o website <@url="http://goessner.net/articles/JsonPath/">. Entretanto, deve-se notar que o back-end para o <@lit="jsonget"> é fornecido pelo <@lit="json-glib"> que, por sua, vez não suporta todos os elementos do JsonPath. Além disso, a funcionalidade exata do <@lit="json-glib"> pode diferir dependendo da versão instalada no sistema. Para maiores detalhes ver: <@url="http://developer.gnome.org/json-glib/">
2595
2596Dito isto, os seguintes operadores deverão estar disponíveis para <@lit="jsonget">:
2597
2598<indent>
2599• root node, via caractere <@lit="$">
2600</indent>
2601
2602<indent>
2603• operador descendente recursivo: <@lit="..">
2604</indent>
2605
2606<indent>
2607• operador curinga/wildcard: <@lit="*">
2608</indent>
2609
2610<indent>
2611• operador subscrito: <@lit="[]">
2612</indent>
2613
2614<indent>
2615• operador de notação de conjunto, por exemplo <@lit="[i,j]">
2616</indent>
2617
2618<indent>
2619• operador de repartição: <@lit="[start:end:step]">
2620</indent>
2621
2622# jsongetb data-utils
2623Resultado: 	lote
2624Argumentos:	<@var="buf">  (texto)
2625		<@var="path">  (texto, opcional)
2626
2627O argumento <@var="buf"> deve ser um buffer JSON que, por sua vez, pode ser obtido de um website apropriado via função <@ref="curl">. A especificação e a utilização do argumento opcional <@var="path">, são descritos abaixo.
2628
2629O valor retornado pela função é um pacote (bundle) em que a estrutura basicamente emula a da entrada: objetos JSON se tornam pacotes (bundles) do Gretl e arrays JASON se tornam arranjos (arrays) do Gretl, com cada um armazenando tanto textos (strings) quanto pacotes (bundles). Nós de “valor” JSON se tornam ou membros de pacotes ou elementos de arranjos. No último caso, valores numéricos são convertidos em texto via função <@lit="sprintf">. Note que uma vez que arranjos do Gretl não podem ser aninhados, a entrada aceita por essa função é um pouco mais restritiva que a especificação JSON, que permite aninhamento de arrays.
2630
2631O argumento opcional <@var="path"> pode ser utilizado para limitar os elementos JSON incluídos no bundle retornado. Note que isto não é um “JsonPath” conforme descrito na ajuda da função <@ref="jsonget">. É uma simples construção sujeita às seguintes especificações:
2632
2633<indent>
2634• <@var="path"> é um array de elemento separados por barras, onde as barras (“/”) indicam a movimentação em um nível mais “profundo” na árvore JSON representada por <@var="buf">. Uma barra no início é permitida, mas não é necessária. Implicitamente o path sempre tem início na raiz. Não devem ser incluídos espaços em branco
2635</indent>
2636
2637<indent>
2638• Cada elemento separado por barras deve assumir uma das seguintes formas: (a) um nome único, de forma que apenas um elemento JSON cujo nome coincide com um dado nível estrutural será incluído; ou (b) “*” (asterisco), de forma que todos os elementos de um dado nível são incluídos; ou (c) um array de nomes separados por vírgulas, delimitados por colchetes (“{” e “}”), de forma que apenas os elementos JSON cujos nomes coincidam com algum dos nomes dados serão incluídos.
2639</indent>
2640
2641Veja também a função orientada à textos <@ref="jsonget">. A depender de seu objetivo uma dessas funções pode ser mais útil que a outra.
2642
2643# juldate calendar
2644Resultado: 	ver abaixo
2645Argumentos:	<@var="ed">  (escalar ou série)
2646		<@var="as-string">  (booleano, opcional)
2647
2648O argumento <@var="ed"> é interpretado como um dia de época que é igual a 1 no primeiro dia de janeiro do ano 1 depois de Cristo no calendário gregoriano proléptico. O valor de retorno padrão—do mesmo tipo de <@var="ed"> —é um número de 8 dígitos, ou uma série de tais números, seguindo o padrão <@lit="YYYYMMDD"> (formato ISO 8601 “básico”), fornecendo a data correspondente ao dia de época no calendário juliano.
2649
2650Se <@var="ed"> for (apenas) um escalar e o segundo parâmetro <@var="as-string"> (que é opcional) for não-nulo, o valor retornado não será numérico e sim um texto (string) seguindo o padrão <@lit="YYYY-MM-DD"> (formato ISO 8601 “estendido”).
2651
2652Veja também <@ref="isodate">.
2653
2654# kdensity nonparam
2655Resultado: 	matriz
2656Argumentos:	<@var="x">  (série ou vetor)
2657		<@var="scale">  (escalar, opcional)
2658		<@var="control">  (booleano, opcional)
2659
2660Calcula a estimativa de densidade pelo método do núcleo (kernel) para a série ou vetor <@var="x">. A matriz retornada tem duas colunas, com a primeira contendo um conjunto abscissas uniformemente espaçadas e a segunda a densidade estimada em cada um desses pontos.
2661
2662O parâmetro opcional <@var="scale"> pode ser utilizado para ajustar o grau de suavização em relação ao valor padrão 1.0 (maiores valores geram resultados mais suavizados). O parâmetro <@var="control"> age como um booleano: 0 (que é o padrão) implica na utilização do núcleo gaussiano, enquanto que um valor não-nulo implica na utilização do núcleo de Epanechnikov.
2663
2664Um gráfico dos resultados pode ser obtido via comando <@xrf="gnuplot">, como por exemplo:
2665
2666<code>
2667     matrix d = kdensity(x)
2668     gnuplot 2 1 --matrix=d --with-lines --fit=none
2669</code>
2670
2671# kdsmooth sspace
2672Resultado: 	escalar
2673Argumentos:	<@var="&Mod">  (referência a lote)
2674		<@var="MSE">  (booleano, opcional)
2675
2676Realiza a suavização dos distúrbios para um pacote (bundle) de Kalman previamente definido via função <@ref="ksetup"> e retorna 0 caso a execução tenha sucesso ou 1 se se forem encontrados problemas numéricos.
2677
2678Se a operação for completada com sucesso os distúrbios suavizados estarão disponíveis como <@lit="Mod.smdist">.
2679
2680O argumento opcional <@var="MSE"> determina os conteúdos de <@lit="Mod.smdisterr">. Se for omitido ou for igual a 0, essa matriz irá conter os erros padrão não-condicionais dos distúrbios suavizados que, por sua vez, normalmente, são utilizados para calcular os chamados <@itl="resíduos auxiliares">. Caso contrário, <@lit="Mod.smdisterr"> irá conter a raiz do erro quadrado médio estimado dos resíduos auxiliares em relação aos seus valores verdadeiros.
2681
2682Para maiores detalhes veja <@pdf="guia de utilização do Gretl#chap:kalman"> (Capítulo 36).
2683
2684Ver também <@ref="ksetup">, <@ref="kfilter">, <@ref="ksmooth">, <@ref="ksimul">.
2685
2686# kfilter sspace
2687Resultado: 	escalar
2688Argumento: 	<@var="&Mod">  (referência a lote)
2689
2690Realiza a filtragem em um pacote (bundle) de Kalman previamente definido via <@ref="ksetup"> e retorna 0 caso a execução tenha sucesso ou 1 se forem encontrados problemas numéricos.
2691
2692Se a operação for completada com sucesso os erros de previsão de 1 passo à frente estarão disponíveis como <@lit="Mod.prederr"> e a sequência de suas variâncias como <@lit="Mod.pevar">. Além disso, <@lit="Mod.llt"> dará acesso a um vetor de ordem <@mth="T"> contendo o log da verossimilhança por observação.
2693
2694Para maiores detalhes veja <@pdf="guia de utilização do Gretl#chap:kalman"> (Capítulo 36).
2695
2696Ver também <@ref="kdsmooth">, <@ref="ksetup">, <@ref="ksmooth">, <@ref="ksimul">.
2697
2698# kmeier nonparam
2699Resultado: 	matriz
2700Argumentos:	<@var="d">  (série ou vetor)
2701		<@var="cens">  (série ou vetor, opcional)
2702
2703Dada uma amostra de dados de duração, <@var="d">, possivelmente acompanhada por um registro de status de censura, <@var="cens">, calcula o estimador não-paramétrico de Kaplan–Meier da função de sobrevivência (<@bib="Kaplan e Meier, 1958;kaplan-meier">). A matriz retornada possui três colunas contendo, respectivamente, os valores únicos de <@var="d"> de forma ordenada, a função de sobrevivência estimada correspondente ao valor de duração na coluna 1 e o (elevado) erro padrão do estimador, calculado via método de <@bib="Greenwood (1926);greenwood26">.
2704
2705Se a série <@var="cens"> for dada, um valor 0 serve para indicar uma observação não-censurada, enquanto que um valor 1 indica uma observação censurada à direita (isto é, o período de observação do indivíduo em questão terminou antes que a duração ou o período tenham sido registrados como finalizados). Se <@var="cens"> não for dado é assumido que todas as observações são não-censuradas. Observação: a interpretação de <@var="cens"> pode ser estendida em algum momento de forma a cobrir outros tipos de censura.
2706
2707Ver também <@ref="naalen">.
2708
2709# kpsscrit stats
2710Resultado: 	matriz
2711Argumentos:	<@var="T">  (escalar)
2712		<@var="trend">  (booleano)
2713
2714Retorna um vetor linha contendo os valores críticos aos níveis de 10, 5 e 1 porcento do teste KPSS para a estacionariedade de uma série temporal. O argumento <@var="T"> deve fornecer o número de observações e o argumento <@var="trend"> deve ser igual a 1 se o teste inclui uma constante, ou 0, caso contrário.
2715
2716Os valores críticos são baseados nas superfícies de resposta estimados conforme sugerido por <@bib="Sephton (Economics Letters,1995);sephton95">. Veja também o comando <@xrf="kpss">.
2717
2718# ksetup sspace
2719Resultado: 	lote
2720Argumentos:	<@var="Y">  (série, matriz ou lista)
2721		<@var="H">  (escalar ou matriz)
2722		<@var="F">  (escalar ou matriz)
2723		<@var="Q">  (escalar ou matriz)
2724		<@var="C">  (matriz, opcional)
2725
2726Especifica um pacote (bundle) de Kalman, isto é, um objeto que contém todas as informações necessárias para se definir um modelo linear de espaço de estados na forma
2727
2728  <@fig="kalman1">
2729
2730e com a equação de transição de estados
2731
2732  <@fig="kalman2">
2733
2734onde Var<@mth="(u) = Q">.
2735
2736Objetos criados através dessa função podem ser posteriormente utilizados via funções dedicadas <@ref="kfilter"> para filtragem, <@ref="ksmooth"> e <@ref="kdsmooth"> para suavização e <@ref="ksimul"> para realizar simulações.
2737
2738A amplitude de classes de modelos que o Gretl pode manusear é, de fato, bem mais abrangente que o implicado pela representação acima: é possível a estimação de modelos com parâmetros variando no tempo, com prioris difusas, com variáveis exógenas na equação de medida e modelos com resíduos interrelacionados. Para maiores detalhes veja <@pdf="guia de utilização do Gretl#chap:kalman"> (Capítulo 36).
2739
2740Ver também <@ref="kdsmooth">, <@ref="kfilter">, <@ref="ksmooth">, <@ref="ksimul">.
2741
2742# ksimul sspace
2743Resultado: 	escalar
2744Argumento: 	<@var="&Mod">  (referência a lote)
2745
2746Utiliza um pacote (bundle) de Kalman previamente definido através da função <@ref="ksetup"> para simular dados.
2747
2748Para maiores detalhes veja <@pdf="guia de utilização do Gretl#chap:kalman"> (Capítulo 36).
2749
2750Ver também <@ref="ksetup">, <@ref="kfilter">, <@ref="ksmooth">.
2751
2752# ksmooth sspace
2753Resultado: 	matriz
2754Argumento: 	<@var="&Mod">  (referência a lote)
2755
2756Realiza uma suavização de ponto fixo em um pacote (bundle) de Kalman previamente definido via função <@ref="ksetup"> e retorna 0 caso a operação tenha sido realizada com sucesso ou 1 se surgirem problemas numéricos.
2757
2758Em caso de sucesso, os estados suavizados estarão disponíveis como <@lit="Mod.state"> e a sequência de suas matrizes de covariância como <@lit="Mod.stvar">. Para maiores detalhes veja <@pdf="guia de utilização do Gretl#chap:kalman"> (Capítulo 36).
2759
2760Ver também <@ref="ksetup">, <@ref="kdsmooth">, <@ref="kfilter">, <@ref="ksimul">.
2761
2762# kurtosis stats
2763Resultado: 	escalar
2764Argumento: 	<@var="x">  (série)
2765
2766Retorna o excesso de curtose da série <@var="x">, descartando quaisquer observações ausentes.
2767
2768# lags transforms
2769Resultado: 	lista ou matriz
2770Argumentos:	<@var="p">  (escalar ou vetor)
2771		<@var="y">  (série, lista ou matriz)
2772		<@var="bylag">  (booleano, opcional)
2773
2774Se o primeiro argumento for um escalar, gera as defasagens de 1 até <@var="p"> da série <@var="y">, se <@var="y"> for uma lista, retorna as defasagens de todas as séries na lista e se for uma matriz, retorna as defasagens de todas as colunas na matriz. Se <@var=" p"> = 0 e <@var="y"> for uma série ou lista, são geradas defasagens até o máximo da periodicidade dos dados. Caso contrário, o valor de <@var="p"> deve ser positivo.
2775
2776Se o primeiro argumento for um vetor, as defasagens serão aquelas especificadas no vetor. Um uso típico neste caso seria fornecer <@var="p"> como, por exemplo, <@lit="seq(3,7)">, omitindo assim a primeira e a segunda defasagens. Entretanto ambém é possível fornecer um vetor não contínuo como em <@lit="{3,5,7}">, contanto que as defasagens estejam sempre ordenadas de forma crescente.
2777
2778Quando o valor retornado for uma lista, as variáveis geradas são nomeadas automaticamente de acordo com o esquema <@var="varname"><@lit="_"><@var="i">, onde <@var="varname"> é o nome da série original e <@var="i"> é a defasagem específica. A parte original do nome é truncada, caso necessário, e pode ser ajustada no caso de não-singularidade no conjunto de nomes assim construído.
2779
2780Quando <@var="y"> for uma lista, ou uma matriz com mais de uma coluna, e a ordem de defasagem for maior que 1, a ordenação padrão dos termos no valor retornado pela função é feita por variável: todas as defasagens da primeira série ou coluna seguida por todas as defasagens da segunda e assim sucessivamente. O terceiro argumento (opcional) pode ser utilizado para alterar esse comportamento: se <@var="bylag"> for não-nulo então os termos são ordenados por defasagem: defasagem 1 de todas as séries ou colunas, seguida pela defasagem 2 de todas as séries e colunas e assim sucessivamente.
2781
2782Veja também <@ref="mlag"> para o uso com matrizes.
2783
2784# lastobs data-utils
2785Resultado: 	número inteiro
2786Argumento: 	<@var="y">  (série)
2787
2788Retorna o número da última observação não ausente da série <@var="y">. Note que se alguma forma de subamostragem estiver sendo utilizada o valor retornado poderá ser maior que o valor retornado pela função <@ref="$t2">. Ver também <@ref="firstobs">.
2789
2790# ldet linalg
2791Resultado: 	escalar
2792Argumento: 	<@var="A">  (matriz quadrada)
2793
2794Retorna o log natural do determinante de <@mth="A">, calculado via decomposição LU. Ver também <@ref="det">, <@ref="rcond">, <@ref="cnumber">.
2795
2796# ldiff transforms
2797Resultado: 	o mesmo tipo que o argumento
2798Argumento: 	<@var="y">  (série ou lista)
2799
2800Calcula as diferenças logarítmicas. Os valores iniciais são considerados como <@lit="NA">.
2801
2802Quando uma lista for retornada, as variáveis individuais são automaticamente nomeadas de acordo com o esquema <@lit="ld_"><@var="varname">, onde <@var="varname"> é o nome da série original. Se necessário, o nome será truncado e poderá ser ajustado caso o nome resultante já esteja sendo utilizado pelo Gretl.
2803
2804Ver também <@ref="diff">, <@ref="sdiff">.
2805
2806# lincomb transforms
2807Resultado: 	série
2808Argumentos:	<@var="L">  (lista)
2809		<@var="b">  (vetor)
2810
2811Calcula uma nova série como uma combinação linear das séries na lista <@var="L">. Os coeficientes são dados pelo vetor <@var="b"> cujo tamanho deve ser igual ao número de séries em series in <@var="L">.
2812
2813Ver também <@ref="wmean">.
2814
2815# linearize transforms
2816Resultado: 	série
2817Argumento: 	<@var="x">  (série)
2818
2819É necessário possuir o TRAMO instalado. Retorna uma versão “linearizada” da série de entrada. Isto é, uma série onde quaisquer valores ausentes são substituídos por valores interpolados e onde as observações aberrantes são ajustadas. O mecanismo completamente automático do TRAMO é usado para isso. Consulte a documentação do TRAMO para detalhes.
2820
2821Note que se a série de entrada não possuir valores ausentes e e observações aberrantes (conforme identificadas pelo TRAMO), a função retornará uma cópia da série original.
2822
2823# ljungbox stats
2824Resultado: 	escalar
2825Argumentos:	<@var="y">  (série)
2826		<@var="p">  (número inteiro)
2827
2828Calcula a estatística Q de Ljung–Box para a série <@var="y">, utilizando a ordem de defasagem <@var="p">, ao longo da amostra selecionada. A defasagem deve ser maior ou igual a 1 e menor que o número de observações disponíveis.
2829
2830Essa estatística pode ser testada contra a distribuição qui-quadrado com <@var="p"> graus de liberdade para verificar a hipótese nula de que a série <@var=" y"> não é serialmente correlacionada. Ver também <@ref="pvalue">.
2831
2832# lngamma math
2833Resultado: 	o mesmo tipo que o argumento
2834Argumento: 	<@var="x">  (escalar, série ou matriz)
2835
2836Retorna o log da função gama de <@var="x">.
2837
2838# loess nonparam
2839Resultado: 	série
2840Argumentos:	<@var="y">  (série)
2841		<@var="x">  (série)
2842		<@var="d">  (número inteiro, opcional)
2843		<@var="q">  (escalar, opcional)
2844		<@var="robust">  (booleano, opcional)
2845
2846Realiza a regressão polinomial localmente ponderada (LOESS) e retorna uma série contendo os valores previstos de <@var="y "> para cada valor não-ausente de <@var="x">. O método utilizado é o descrito por <@bib=" Cleveland (1979);cleveland79">.
2847
2848Os argumentos opcionais <@var="d"> e <@var="q "> especificam, respectivamente, a ordem do polinômio em <@var="x"> e a proporção dos pontos de dados a ser utilizada na estimação local. Por padrão os valores são <@var=" d"> = 1 e <@var="q"> = 0,5. Os outros valores aceitáveis para <@var="d"> são 0 e 2. Definir <@var=" d"> = 0 reduz a regressão local para a forma de uma média móvel. O valor de <@var="q"> deve ser maior que 0 e não pode exceder 1. Valores maiores produzem saídas mais suaves.
2849
2850Se um valor não-nulo for dado ao argumento <@var="robust "> as regressões locais serão iteradas duas vezes, com os pesos sendo modificados com base nos resíduos da iteração prévia de forma a reduzir a influência das observações aberrantes (“ outliers”).
2851
2852Veja também <@ref="nadarwat"> e, para maiores detalhes sobre métodos não-paramétricos, veja <@pdf="guia de utilização do Gretl#chap:nonparam"> (Capítulo 40).
2853
2854# log math
2855Resultado: 	o mesmo tipo que o argumento
2856Argumento: 	<@var="x">  (escalar, série, matriz ou lista)
2857
2858Retorna o logaritmo natural de <@var="x">. Gera <@lit="NA"> para valores não-positivos. Note que <@lit="ln"> é um pseudônimo aceitável para <@lit="log">.
2859
2860Quando uma lista for retornada, as variáveis individuais serão automaticamente nomeadas de acordo com o modelo <@lit="l_"><@var="varname">, onde <@var="varname"> é o nome da série original. O nome será truncado se necessário e pode ser ajustado no caso de já estar sendo usado pelo Gretl.
2861
2862# log10 math
2863Resultado: 	o mesmo tipo que o argumento
2864Argumento: 	<@var="x">  (escalar, série ou matriz)
2865
2866Retorna o logaritmo na base 10 de <@var="x">. A função irá gerar <@lit="NA"> para valores não-positivos.
2867
2868# log2 math
2869Resultado: 	o mesmo tipo que o argumento
2870Argumento: 	<@var="x">  (escalar, série ou matriz)
2871
2872Retorna o logaritmo na base 2 de <@var="x">. A função irá gerar <@lit="NA"> para valores não-positivos.
2873
2874# logistic math
2875Resultado: 	o mesmo tipo que o argumento
2876Argumento: 	<@var="x">  (escalar, série ou matriz)
2877
2878Retorna a função logística do argumento <@var="x">, isto é, <@mth="e"><@sup="x">/(1 + <@mth="e"><@sup="x">). Se <@var="x"> for ma matriz, a função será aplicada em cada elemento.
2879
2880# lower matrix
2881Resultado: 	matriz quadrada
2882Argumento: 	<@var="A">  (matriz)
2883
2884Retorna uma matriz triangular inferior de ordem <@itl="n">×<@itl="n">. Os elementos da diagonal e abaixo desta são iguais aos elementos correspondentes de <@var="A"> e os demais iguais a zero.
2885
2886Ver também <@ref="upper">.
2887
2888# lrcovar timeseries
2889Resultado: 	matriz
2890Argumentos:	<@var="A">  (matriz)
2891		<@var="demean">  (booleano, opcional)
2892
2893Retorna a matriz de variância-covariância de longo prazo das colunas de <@var="A">. Em primeiro lugar é retirada a média dos dados, a menos que o segundo argumento (que é opcional) seja igual a zero. O tipo de kernel/núcleo e o parâmetro de truncagem de defasagem (tamanho da janela) pode ser escolhido antes que a função seja chamada com as opções relacionadas ao HAC, que são oferecidas pelo comando <@xrf="set">, tais como <@lit="hac_kernel">, <@lit="hac_lag">, <@lit="hac_prewhiten">. Veja também a seção sobre dados de séries de tempo e matrizes de covariância no <@pdf="guia de utilização do Gretl#chap:robust_vcv"> (Capítulo 22).
2894
2895Ver também <@ref="lrvar">.
2896
2897# lrvar timeseries
2898Resultado: 	escalar
2899Argumentos:	<@var="y">  (série ou vetor)
2900		<@var="k">  (número inteiro)
2901
2902Retorna a variância de longo prazo de <@var="y">, calculada utilizando um núcleo de Bartlett com tamanho de janela igual a <@var="k">. Se o segundo argumento for omitido, ou for um valor menor que zero, o tamanho da janela toma como padrão a parte inteira da raiz cúbica do tamanho da amostra.
2903
2904Ver a função <@ref="lrcovar"> para o caso multivariado.
2905
2906Per l'equivalente multivariato, si veda <@ref="lrcovar">.
2907
2908# Lsolve linalg
2909Resultado: 	matriz
2910Argumentos:	<@var="L">  (matriz)
2911		<@var="b">  (matriz)
2912
2913Resolve a equação <@mth="Ax = b"> para cada <@mth="x">, onde <@var="L"> é o factor de Cholesky (triangular baixa) da matriz definida positiva <@mth="A">, satisfazendo <@mth="LL' = A">. A matriz <@var="L"> pode ser obtida usando a função <@ref="cholesky"> com a matriz <@mth="A"> como argumento.
2914
2915Os dois seguintes cálculos deve dar resultados iguais (excepto devido à precisão da máquina). mas a primeira variante baseada em <@lit="Lsolve"> permite reutilizar um factor de Cholesky já calculado e assim optimizar o tempo de cálculo para uma dada matriz <@mth="A"> e vários valores de <@mth="b">. A melhoria de velocidade será tanto maior quanto maior a dimensão das colunas de <@mth="A">.
2916
2917<code>
2918     # variante 1
2919     matrix L = cholesky(A)
2920     matrix x = Lsolve(L, b)
2921     # variante 2
2922     matrix x = A \ b
2923</code>
2924
2925# max stats
2926Resultado: 	escalar ou série
2927Argumento: 	<@var="y">  (série ou lista)
2928
2929Se o argumento <@var="y"> for uma série, retorna, na forma de um escalar, o valor máximo das observações não ausentes na série. Se o argumento for uma lista, retorna uma série onde cada elemento é o valor máximo em cada observação entre as séries listadas.
2930
2931Ver também <@ref="min">, <@ref="xmax">, <@ref="xmin">.
2932
2933# maxc stats
2934Resultado: 	vetor linha
2935Argumento: 	<@var="X">  (matriz)
2936
2937Retorna um vetor com os valores máximos das colunas de <@var="X">.
2938
2939Ver também <@ref="imaxc">, <@ref="maxr">, <@ref="minc">.
2940
2941# maxr stats
2942Resultado: 	vetor coluna
2943Argumento: 	<@var="X">  (matriz)
2944
2945Retorna um vetor com os valores máximos das linhas <@var="X">.
2946
2947Ver também <@ref="imaxr">, <@ref="maxc">, <@ref="minr">.
2948
2949# mcorr stats
2950Resultado: 	matriz
2951Argumento: 	<@var="X">  (matriz)
2952
2953Calcula a matriz de correlações tratando cada coluna de <@var="X"> como sendo uma a variável. Ver também <@ref="corr">, <@ref="cov">, <@ref="mcov">.
2954
2955# mcov stats
2956Resultado: 	matriz
2957Argumento: 	<@var="X">  (matriz)
2958
2959Calcula a matriz de covariâncias tratando cada coluna de <@var="X"> como sendo uma variável. Ver também <@ref="corr">, <@ref="cov">, <@ref="mcorr">.
2960
2961# mcovg stats
2962Resultado: 	matriz
2963Argumentos:	<@var="X">  (matriz)
2964		<@var="u">  (vetor, opcional)
2965		<@var="w">  (vetor, opcional)
2966		<@var="p">  (número inteiro)
2967
2968Retorna uma matriz covariograma para uma matriz <@var=" X"> de ordem <@itl="T">×<@itl="k"> (normalmente contendo regressores), um vetor <@var="u"> (opcional) com <@mth="T"> elementos (normalmente contendo resíduos), um vetor de pesos <@var="w"> (opcional) com <@mth=" p">+1 elementos e uma ordem de defasagem <@var=" p">, que deve ser maior ou igual a 0.
2969
2970A matriz retornada é o somatório com <@mth="j"> indo de <@mth="-p"> até <@mth="p"> de <@mth="w(|j|) * X(t)X(t-j)' * u(t)u(t-j)">, onde <@mth="X(t)'"> é a <@mth="t">-ésima linha de <@var="X">.
2971
2972Se <@var="u"> for <@lit="null"> os termos <@mth="u"> são omitidos, e se <@var="w"> for <@lit="null"> todos os pesos são considerados como sendo iguais a 1,0.
2973
2974Por exemplo, o seguinte código
2975
2976<code>
2977     set seed 123
2978     X    = mnormal(6,2)
2979     Lag  = mlag(X,1)
2980     Lead = mlag(X,-1)
2981     print X Lag Lead
2982     eval X'X
2983     eval mcovg(X, , , 0)
2984     eval X'(X + Lag + Lead)
2985     eval mcovg(X, , , 1)
2986</code>
2987
2988produz estes resultados:
2989
2990<code>
2991     ? print X Lag Lead
2992     X (6 x 2)
2993
2994       -0.76587      -1.0600
2995       -0.43188      0.30687
2996       -0.82656      0.40681
2997        0.39246      0.75479
2998        0.36875       2.5498
2999        0.28855     -0.55251
3000
3001     Lag (6 x 2)
3002
3003         0.0000       0.0000
3004       -0.76587      -1.0600
3005       -0.43188      0.30687
3006       -0.82656      0.40681
3007        0.39246      0.75479
3008        0.36875       2.5498
3009
3010     Lead (6 x 2)
3011
3012       -0.43188      0.30687
3013       -0.82656      0.40681
3014        0.39246      0.75479
3015        0.36875       2.5498
3016        0.28855     -0.55251
3017         0.0000       0.0000
3018
3019     ? eval X'X
3020         1.8295       1.4201
3021         1.4201       8.7596
3022
3023     ? eval mcovg(X,,, 0)
3024         1.8295       1.4201
3025         1.4201       8.7596
3026
3027     ? eval X'(X + Lag + Lead)
3028         3.0585       2.5603
3029         2.5603       10.004
3030
3031     ? eval mcovg(X,,, 1)
3032         3.0585       2.5603
3033         2.5603       10.004
3034</code>
3035
3036# mean stats
3037Resultado: 	escalar ou série
3038Argumento: 	<@var="x">  (série ou lista)
3039
3040Se <@var="x"> for uma série a função retorna a média amostral (na forma de um escalar), descartando quaisquer observações ausentes.
3041
3042Se <@var="x"> for uma lista a função retorna uma série <@mth="y"> tal que <@mth="y"><@sub="t"> é a média dos valores das variáveis da lista na observação <@mth="t">, ou <@lit="NA"> se existir algum valor ausente em <@mth="t">.
3043
3044# meanc stats
3045Resultado: 	vetor linha
3046Argumento: 	<@var="X">  (matriz)
3047
3048Retorna um vetor com as médias das colunas de <@var="X">. Ver também <@ref="meanr">, <@ref="sumc">, <@ref="sdc">.
3049
3050# meanr stats
3051Resultado: 	vetor coluna
3052Argumento: 	<@var="X">  (matriz)
3053
3054Retorna um vetor com as médias das linhas de <@var="X">. Ver também <@ref="meanc">, <@ref="sumr">.
3055
3056# median stats
3057Resultado: 	escalar ou série
3058Argumento: 	<@var="x">  (série ou lista)
3059
3060Se <@var="x"> for uma série, a função retorna sua mediana amostral (na forma de um escalar), ignorando quaisquer observações ausentes.
3061
3062Se <@var="x"> for uma lista, a função retorna uma séries <@mth="y"> tal que <@mth="y"><@sub="t"> é a mediana dos valores das variáveis da lista na observação <@mth="t">, ou <@lit="NA"> se existir algum valor ausente em <@mth="t">.
3063
3064# mexp linalg
3065Resultado: 	matriz quadrada
3066Argumento: 	<@var="A">  (matriz quadrada)
3067
3068Calcula a matriz exponencial de <@var="A"> utilizando o algoritmo 11.3.1 de <@bib="Golub e Van Loan (1996);golub96">.
3069
3070# mgradient midas
3071Resultado: 	matriz
3072Argumentos:	<@var="p">  (número inteiro)
3073		<@var="theta">  (vetor)
3074		<@var="type">  (número inteiro ou texto)
3075
3076Derivadas analíticas para os pesos MIDAS. Seja <@mth="k "> o número de elementos no vetor de hiper-parâmetros, <@var="theta">. Esta função retorna uma matriz de ordem <@itl="p">×<@itl="k"> contendo o gradiente do vetor de pesos (conforme calculado por <@ref="mweights">) em relação aos elemento de <@var="theta">. O primeiro argumento representa a ordem de defasagem desejada e o último argumento especifica o tipo de parametrização. Veja <@lit=" mweights"> para uma explicação sobre os valores aceitáveis de <@var="type">.
3077
3078Ver também <@ref="mweights">, <@ref="mlincomb">.
3079
3080# min stats
3081Resultado: 	escalar ou série
3082Argumento: 	<@var="y">  (série ou lista)
3083
3084Se o argumento <@var="y"> for uma série, retorna, na forma de um escalar, o valor mínimo das observações não ausentes na série. Se o argumento for uma lista, retorna uma série onde cada elemento é o valor mínimo em cada observação entre as séries listadas.
3085
3086Ver também <@ref="max">, <@ref="xmax">, <@ref="xmin">.
3087
3088# minc stats
3089Resultado: 	vetor linha
3090Argumento: 	<@var="X">  (matriz)
3091
3092Retorna um vetor com os valores mínimos das colunas de <@var="X">.
3093
3094Ver também <@ref="iminc">, <@ref="maxc">, <@ref="minr">.
3095
3096# minr stats
3097Resultado: 	vetor coluna
3098Argumento: 	<@var="X">  (matriz)
3099
3100Retorna um vetor com os valores mínimos das linhas de <@var="X">.
3101
3102Ver também <@ref="iminr">, <@ref="maxr">, <@ref="minc">.
3103
3104# missing data-utils
3105Resultado: 	o mesmo tipo que o argumento
3106Argumento: 	<@var="x">  (escalar, série ou lista)
3107
3108Retorna uma variável binária igual a 1 se <@var="x"> for <@lit="NA"> e 0, caso contrário. Se <@var="x"> for uma série, a comparação é feita em cada um de seus elementos. Se <@var="x"> for uma lista de séries, a função retorna uma série igual a 1 nas observações nas quais ao menos uma das séries apresente um <@lit="NA"> e 0, caso contrário.
3109
3110Ver também <@ref="misszero">, <@ref="ok">, <@ref="zeromiss">.
3111
3112# misszero data-utils
3113Resultado: 	o mesmo tipo que o argumento
3114Argumento: 	<@var="x">  (escalar ou série)
3115
3116Converte <@lit="NA">s em zeros. Se <@var="x"> for uma série a conversão será feita elemento por elemento. Ver também <@ref="missing">, <@ref="ok">, <@ref="zeromiss">.
3117
3118# mlag matrix
3119Resultado: 	matriz
3120Argumentos:	<@var="X">  (matriz)
3121		<@var="p">  (escalar ou vetor)
3122		<@var="m">  (escalar, opcional)
3123
3124Desloca para cima ou para baixo as linhas de <@var="X ">. Se <@var="p"> for um número positivo, retorna uma matriz na qual as colunas de <@var="X"> são deslocadas <@var="p"> linhas para baixo e as primeiras <@var="p"> linhas são preenchidas com o valor <@var="m">. Se <@var="p"> for um número negativo, <@var="X"> é deslocado para cima e as últimas linhas são preenchidas com o valor <@var="m ">. Se <@var="m"> não for fornecido, será considerado como sendo igual a zero.
3125
3126Se <@var="p"> for um vetor, a operação acima é realizada para cada elemento em <@var="p">, combinando as matrizes resultantes horizontalmente.
3127
3128Veja também <@ref="lags">.
3129
3130# mlincomb midas
3131Resultado: 	série
3132Argumentos:	<@var="hfvars">  (lista)
3133		<@var="theta">  (vetor)
3134		<@var="type">  (número inteiro ou texto)
3135
3136É uma função MIDAS de conveniência, combinando <@ref="lincomb"> com <@ref="mweights">. Dada uma lista <@var="hfvars">, a função calcula uma série que é uma soma ponderada dos elementos da lista, com os pesos baseados no vetor de hiper-parâmetros <@var="theta"> e o tipo de parametrização. Veja <@lit="mweights"> para maiores detalhes. Note que <@ref="hflags"> é, geralmente, a melhor forma de criar uma lista que pode ser adequadamente utilizada como primeiro argumento desta função.
3137
3138De forma mais explícita, a chamada
3139
3140<code>
3141     series s = mlincomb(hfvars, theta, 2)
3142</code>
3143
3144é equivalente a
3145
3146<code>
3147     matrix w = mweights(nelem(hfvars), theta, 2)
3148     series s = lincomb(hfvars, w)
3149</code>
3150
3151A vantagem é que a utilização de <@lit="mlincomb"> é mais concisa e eficiente em termos de processamento.
3152
3153# mlog linalg
3154Resultado: 	matriz quadrada
3155Argumento: 	<@var="A">  (matriz quadrada)
3156
3157Calcula o logarimo matricial de <@var="A">. O algoritmo utilizado baseia-se na decomposição espectral, que necessita que <@var="A"> seja diagonizável. Ver taambé <@ref="mexp">.
3158
3159# mnormal matrix
3160Resultado: 	matriz
3161Argumentos:	<@var="r">  (número inteiro)
3162		<@var="c">  (número inteiro)
3163
3164Retorna uma matriz com <@var="r"> linhas e <@var="c"> colunas, preenchida com variáveis pseudo aleatórias com distribuição normal padrão. Ver também <@ref="normal">, <@ref="muniform">.
3165
3166# mols stats
3167Resultado: 	matriz
3168Argumentos:	<@var="Y">  (matriz)
3169		<@var="X">  (matriz)
3170		<@var="&U">  (referência a matriz, ou <@lit="null">)
3171		<@var="&V">  (referência a matriz, ou <@lit="null">)
3172
3173Retorna uma matriz de ordem <@itl="k">×<@itl="n"> com os parâmetros obtidos da regressão MQO da matriz <@var="Y"> de ordem <@itl="T">×<@itl="n"> contra a matriz <@var="X"> de ordem <@itl="T">×<@itl="k">.
3174
3175Se o terceiro argumento for diferente de <@lit="null">, a matriz <@var="U"> de ordem <@itl="T">×<@itl="n"> irá conter os resíduos. Se o último argumento for dado e for diferente de <@lit="null"> a matriz <@var="V"> de ordem <@itl="k">×<@itl="k"> irá conter (a) a matriz de covariância das estimativas dos parâmetros, se <@var="Y"> tiver apenas uma coluna, ou (b) <@mth="X'X"><@sup="-1"> se <@var="Y"> tiver múltiplas colunas.
3176
3177Por padrão, estimativas são obtidas via decomposição de Cholesky. Caso as colunas de <@var="X"> apresentem elevada colinearidade é utilizada a decomposição QR. A utilização de SVD pode ser forçada via comando <@lit="set svd on">.
3178
3179Ver também <@ref="mpols">, <@ref="mrls">.
3180
3181# monthlen calendar
3182Resultado: 	o mesmo tipo que o argumento
3183Argumentos:	<@var="mês">  (número inteiro)
3184		<@var="ano">  (número inteiro)
3185		<@var="dias na semana">  (número inteiro)
3186
3187Retorna o número de dias (relevantes) no mês e ano especificados (no calendário gregoriano proléptico). O argumento <@var="dias na semana">, que pode ser igual a 5, 6 ou 7, indica o número de dias da semana que devem ser considerados (se for escolhido 6 os domingos são omitidos e se for escolhido 5 os sábados e os domingos serão omitidos).
3188
3189# movavg timeseries
3190Resultado: 	série
3191Argumentos:	<@var="x">  (série)
3192		<@var="p">  (escalar)
3193		<@var="control">  (número inteiro, opcional)
3194		<@var="y0">  (escalar, opcional)
3195
3196Dependendo do valor do parâmetro <@var="p">, retorna a média móvel simples ou exponencialmente ponderada da série <@var="x">.
3197
3198Se <@var="p"> > 1, é calculada a média móvel (MM/MA) simples de ordem <@var="p">, isto é, a média aritmética de <@mth="x"> do período <@mth="t"> até <@mth="t-p+1">. Se for escolhido um valor diferente de zero para o argumento opcional <@var="control"> é calculada a média móvel centrada, caso contrário é calculada a média móvel simples. Nesse caso, o argumento opcional <@var=" y0"> é ignorado.
3199
3200Se <@var="p"> for uma fração positiva, é calculada a média móvel exponencial:
3201
3202<@mth="y(t) = p*x(t) + (1-p)*y(t-1)">
3203
3204Por padrão, a série de saída, <@mth="y">, é inicializada utilizando o primeiro valor de <@var="x">, mas o argumento <@var="control"> pode ser utilizado para especificar o número inicial de observações cuja média deve ser utilizada para produzir <@mth="y(0)">. Um valor zero para <@var="control"> indica que todas as observações devem ser utilizadas. Alternativamente, um valor de inicialização pode ser especificado utilizando o argumento opcional <@var="y0">. Nesse caso o argumento <@var="control "> é ignorado.
3205
3206# mpiallred mpi
3207Resultado: 	número inteiro
3208Argumentos:	<@var="&object">  (referência ao objeto)
3209		<@var="op">  (texto)
3210
3211Apenas disponível se gretl foi compilado com suporte MPI, e o programa foi iniciado em modo MPI (ver em <@mnu="gretlMPI">). Deve ser chamada por todos os processos. Esta função funciona como <@ref="mpireduce"> excepto que todos os processos, e não apenas o processo raiz, recebem uma cópia do objecto “reduzido” em lugar do original. É assim, equivalente a <@lit="mpireduce"> seguida de uma chamada a <@ref="mpibcast">, mas mais eficiente.
3212
3213# mpibarrier mpi
3214Resultado: 	número inteiro
3215
3216Apenas disponível se gretl foi compilado com suporte MPI, e o programa foi iniciado em modo MPI (ver em <@mnu="gretlMPI">). Não usa argumentos. Força a sincronização dos processos MPI: nenhum processo pode ultrapassar a barreira até que todos a tenham atingido.
3217
3218<code>
3219     # nenhum passa deste ponto, até que todos o tenham atingido
3220     mpibarrier()
3221</code>
3222
3223# mpibcast mpi
3224Resultado: 	número inteiro
3225Argumentos:	<@var="&objecto">  (referência ao objeto)
3226		<@var="raiz">  (número inteiro, opcional)
3227
3228Apenas disponível se gretl foi compilado com suporte MPI, e o programa foi iniciado em modo MPI (ver em <@mnu="gretlMPI">). Deve ser chamada por todos os processos. Transmite o argumento <@var="objecto">, que deve ser dado na forma de ponteiro, a todos os processos. O objecto em questão deve ser uma matriz, um bundle, escalar, vector, texto ou lista, e ter seido declarado em todos os processos antes da trasnmissão. Nenhum processo poderá prosseguir para além da chamada a <@lit="mpibcast"> até que todos os processos a tenham executado com sucesso.
3229
3230Por defeito a “raiz”, é a origem da transmissão, é o processo com o índice 0, mas isto pode ser modificado por via do segundo argumento (opcional), o qual deve ser um inteiro entre 0 e o número de processos MPI menos 1.
3231
3232De seguida mostra-se um simples exemplo. Se a função completar com sucesso, todos os processos terão uma cópia da matriz <@lit="X"> definida no processo de índice 0.
3233
3234<code>
3235     matrix X
3236     if $mpirank == 0
3237     X = mnormal(T, k)
3238     endif
3239     mpibcast(&X)
3240</code>
3241
3242# mpirecv mpi
3243Resultado: 	objeto
3244Argumento: 	<@var="origem">  (número inteiro)
3245
3246Apenas disponível se gretl foi compilado com suporte MPI, e o programa foi iniciado em modo MPI (ver em <@mnu="gretlMPI">). Para uma explicação, ver <@ref="mpisend">, que emparelha com <@lit="mpirecv"> e que tem ques estar sempre acoplada. O argumento <@var="origem"> especifica o índice do processo de onde deve ser recebido o objecto, dentro do intervalo inteiro entre 0 e o número de processos MPI menos 1.
3247
3248# mpireduce mpi
3249Resultado: 	número inteiro
3250Argumentos:	<@var="&objecto">  (referência ao objeto)
3251		<@var="op">  (texto)
3252		<@var="raiz">  (número inteiro, opcional)
3253
3254Apenas disponível se gretl foi compilado com suporte MPI, e o programa foi iniciado em modo MPI (ver em <@mnu="gretlMPI">). Deve ser chamada por todos os processos. Esta função recolhe objectos funzione (apenas escalares ou matrizes) e matrici) com nome específico, dado na forma de ponteiro, de todos os processo e “reduz”-los a um único objecto no nó raiz.
3255
3256O argomunto <@lit="op"> específica a operação ou método de redução. Os métodos suportados para escalares são <@lit="sum">, <@lit="prod"> (produto), <@lit="max"> e <@lit="min">. Para matrizes os métodoa são <@lit="sum">, <@lit="prod"> (produto de Hadamard), <@lit="hcat"> (concatenação horizontal) e <@lit="vcat"> (concatenação vertical).
3257
3258Por defeito, a “raiz”, a destinatária da redução é o processo MPI com índice 0, mas isto pode ser modificado por via do segundo argumento (opcional), o qual deve ser um inteiro entre 0 e o número de processos MPI menos 1.
3259
3260De seguida mostra-se um exemplo. Se a função completar com sucesso, o processo raiz terá uma matriz <@lit="X"> que é a soma das matrizes <@lit="X"> de todos os processos.
3261
3262<code>
3263     matrix X
3264     X = mnormal(T, k)
3265     mpireduce(&X, sum)
3266</code>
3267
3268# mpiscatter mpi
3269Resultado: 	número inteiro
3270Argumentos:	<@var="&M">  (referência a matriz)
3271		<@var="op">  (texto)
3272		<@var="raiz">  (número inteiro, opcional)
3273
3274Apenas disponível se gretl foi compilado com suporte MPI, e o programa foi iniciado em modo MPI (ver em <@mnu="gretlMPI">). Deve ser chamada por todos os processos. Esta função distribui partes de uma matriz no processo raiz por todos os processos. A matriz deve ter sido declarada em todos os processos, antes da chamada de <@lit="mpiscatter">, e deve ser dada na forma de ponteiro.
3275
3276O argumento <@lit="op"> deve ser <@lit="byrows"> ou <@lit="bycols">. Seja <@mth="q"> o quociente entre o número de linhas da matriz a dividir pelo número de processos. No caso <@lit="byrows"> a raiz envia as primeiras <@mth="q"> linhas para o processo 0, as seguintes <@mth="q"> para o processo 1, e assim sucessivamente. Existe um resto na divisão, as linhas remanescentes são atribuídas ao último segmento. O caso <@lit="bycols"> é semelhante, mas a matriz é dividida por colunas.
3277
3278Segue-se uma exemplo. Se existem 4 processos, todos (incluíndo o processo raiz) receberá uma parte 2500×10 do original <@lit="X"> como existia no processo raiz. Se você pretender preservar a matriz inteira no processo raiz, terá que fazer uma cópia dela antes de chamar. <@lit="mpiscatter">.
3279
3280<code>
3281     matrix X
3282     if $mpirank == 0
3283     X = mnormal(10000, 10)
3284     endif
3285     mpiscatter(&X, byrows)
3286</code>
3287
3288# mpisend mpi
3289Resultado: 	número inteiro
3290Argumentos:	<@var="objecto">  (objeto)
3291		<@var="destino">  (número inteiro)
3292
3293Apenas disponível se gretl foi compilado com suporte MPI, e o programa foi iniciado em modo MPI (ver em <@mnu="gretlMPI">). Envia o objecto designado (que deve ser uma matriz, bundle, vector, escalar, texto ou lista) do processo corrente para aquele identificado pelo inteiro <@var="destino"> (de 0 a número de processos MPI menos 1).
3294
3295A chamada desta função deve estar sempre emparelhada com uma chamada a <@ref="mpirecv"> no processo <@var="destino">, como no exemplo seguinte que envia uma matriz do índice 2 para o índice 3.
3296
3297<code>
3298     if $mpirank == 2
3299     matrix C = cholesky(A)
3300     mpisend(C, 3)
3301     elif $mpirank == 3
3302     matrix C = mpirecv(2)
3303     endif
3304</code>
3305
3306# mpols stats
3307Resultado: 	matriz
3308Argumentos:	<@var="Y">  (matriz)
3309		<@var="X">  (matriz)
3310		<@var="&U">  (referência a matriz, ou <@lit="null">)
3311
3312Funciona de forma semelhante à função <@ref="mols">. A diferença é que os cálculos são realizados com precisão múltipla utilizando a biblioteca GMP.
3313
3314Por padrão, a biblioteca GMP utiliza 256 bits para cada número de ponto flutuante. Isso pode ser ajustado via variável de ambiente <@lit="GRETL_MP_BITS">, por exemplo, <@lit="GRETL_MP_BITS=1024">.
3315
3316# mrandgen matrix
3317Resultado: 	matriz
3318Argumentos:	<@var="d">  (texto)
3319		<@var="p1">  (escalar)
3320		<@var="p2">  (escalar, condicional)
3321		<@var="p3">  (escalar, condicional)
3322		<@var="rows">  (número inteiro)
3323		<@var="cols">  (número inteiro)
3324Exemplos: 	<@lit="matrix mx = mrandgen(u, 0, 100, 50, 1)">
3325		<@lit="matrix mt14 = mrandgen(t, 14, 20, 20)">
3326
3327Funciona da mesma forma que <@ref="randgen"> exceto pelo fato de retornar uma matriz ao invés de uma série. Os argumentos iniciais para essa função (os números que a distribuição selecionada depende) são descritos por <@lit="randgen">, mas eles devem ser seguidos por dois inteiros para especificar o número de linhas e colunas da matriz aleatória desejada.
3328
3329O primeiro exemplo acima gera um vetor coluna com 50 elementos seguindo uma distribuição uniforme, enquanto que o segundo exemplo especifica uma matriz aleatória de ordem 20×20 com valores extraídos da distribuição <@mth="t"> com 14 graus de liberdade.
3330
3331Ver também <@ref="mnormal">, <@ref="muniform">.
3332
3333# mread data-utils
3334Resultado: 	matriz
3335Argumentos:	<@var="fname">  (texto)
3336		<@var="import">  (booleano, opcional)
3337
3338Lê uma matriz armazenada no arquivo chamado <@var="fname ">. Isto destina-se principalmente para ler arquivos com um format específico como descrito adiante, mas também pode ser usado em arquivos genéricos de texto delimitados. Neste último caso, ver a seção intitulada “Arquivos de texto delimitados” abaixo.
3339
3340Se o arquivo possuir a extensão “<@lit=".gz ">” é assumido que ele foi comprimido no formato gzip, se tiver a extensão “<@lit=".bin">” é assumido que o arquivo está em formato binário (veja <@ref="mwrite"> para detalhes). Caso contrário, se o arquivo tiver a extensão “<@lit=".mat">” assume-se que é um arquivo de texto simples, seguindo as seguintes especificações:
3341
3342<indent>
3343• O arquivo pode começar com qualquer qualquer quantidade de comentários, definidos por linhas iniciadas com o caractere <@lit="#">. Essas linhas serão ignoradas.
3344</indent>
3345
3346<indent>
3347• A primeira que não for de comentário deve conter dois inteiros, separados por um espaço ou uma tabulação, indicando o número de linhas e colunas, respectivamente.
3348</indent>
3349
3350<indent>
3351• As colunas devem estar separadas por espaços ou por tabulações.
3352</indent>
3353
3354<indent>
3355• O separador decimal deve ser o ponto (“<@lit=".">”).
3356</indent>
3357
3358Se no primeiro argumento não estiver especificado o caminho completo até o arquivo ele será em vários locais que sejam considerados como sendo “prováveis”. O primeiro deles será o diretório de trabalho em uso <@xrf="workdir">. Entretanto, se o segundo argumento da função, <@var="import">, for um valor não-nulo o arquivo será procurado no diretório “@dotdir”. Isto ocorre para que essa função seja utilizada em conjunto com as que exportam matrizes presentes no contexto do comando <@xrf="foreign">. Nesse caso o argumento <@var="fname"> deve ser um nome simples, sem que se especique o caminho para o arquivo.
3359
3360<@itl="Arquivos de texto delimitados">
3361
3362Se o arquivo possuir a extensão “<@lit=".csv">” as regras que regulam o formato do arquivo são diferentes, e mais relaxadas. Neste caso os dados concretos, <@itl="não"> devem ser antecedidos por uma linha com o número de linhas e colunas. Gretl tentará determinar o qual o delimitador (vírgula, ponto e vírgula ou espaço) e fazer o seu melhor para importar a matriz, permitindo o uso da vírgula como separador decimal se necessário. Note que o delimitador não deve ser uma tabulação, sob pena de criar confusão com os arquivos de formato matriz “nativos” do gretl.
3363
3364Ver também <@ref="bread">, <@ref="mwrite">.
3365
3366# mreverse matrix
3367Resultado: 	matriz
3368Argumentos:	<@var="X">  (matriz)
3369		<@var="bycol">  (booleano, opcional)
3370
3371Retorna uma matriz contendo as linhas de <@var="X"> em ordem reversa. Para obter uma matriz contendo as colunas em ordem reversa pode-se utilizar um valor não-nulo como segundo argumento.
3372
3373# mrls stats
3374Resultado: 	matriz
3375Argumentos:	<@var="Y">  (matriz)
3376		<@var="X">  (matriz)
3377		<@var="R">  (matriz)
3378		<@var="q">  (vetor coluna)
3379		<@var="&U">  (referência a matriz, ou <@lit="null">)
3380		<@var="&V">  (referência a matriz, ou <@lit="null">)
3381
3382Mínimos quadrados restritos: retorna uma matriz <@itl="k">×<@itl="n"> de parâmetros estimados obtidos através da regressão via mínimos quadrados da matriz <@var="Y">, de ordem <@itl="T">×<@itl="n">, contra a matriz <@var="X">, de ordem <@itl="T">×<@itl="k">, sujeitos à restrição linear <@mth="RB "> = <@mth="q">, onde <@mth="B"> representa o vetor de coeficientes empilhados. <@var="R"> deve possuir <@mth="kn"> colunas. Cada linha dessa matriz representa uma restrição linear. O número de linhas em <@var="q"> deve coincidir com o número de linhas em <@var="R">.
3383
3384Se o quinto argumento não for <@lit="null">, a matriz <@var="U"> de ordem <@itl="T">×<@itl="n"> irá armazenar os resíduos. Se o argumento final for dado e não for <@lit="null "> então a matriz <@var="V"> de ordem <@itl="k">×<@itl="k"> irá armazenar a contraparte restrita da matriz <@mth="X' X"><@sup="-1">. A matriz de variância das estimativas para a equação <@mth="i"> pode ser construída multiplicando-se a sub-matriz apropriada de <@var="V"> por uma estimativa do erro para esta equação.
3385
3386# mshape matrix
3387Resultado: 	matriz
3388Argumentos:	<@var="X">  (matriz)
3389		<@var="r">  (número inteiro)
3390		<@var="c">  (número inteiro)
3391
3392Rearranja os elementos de <@var="X"> em uma matriz com <@var="r"> linhas e <@var="c"> colunas. Os elementos de <@var="X"> são copiados e escritos na matriz de destino. A cópia tem início na coluna 1, linha 1, depois linha 2 e assim sucessivamente. Se <@var="X"> tiver menos que <@mth="k"> = <@mth="rc"> elementos, estes são repetidos de forma cíclica. Caso contrário, se <@var="X"> tiver mais elementos, apenas os primeiros <@mth="k"> elementos serão utilizados.
3393
3394Ver também <@ref="cols">, <@ref="rows">, <@ref="unvech">, <@ref="vec">, <@ref="vech">.
3395
3396# msortby matrix
3397Resultado: 	matriz
3398Argumentos:	<@var="X">  (matriz)
3399		<@var="j">  (número inteiro)
3400
3401Retorna uma matriz onde as linhas de <@var="X"> são reordenadas de forma crescente de acordo com os elementos da coluna <@var="j">. Essa ordenação é estável: linhas que compartilham o mesmo valor na coluna <@var="j"> não serão invertidas.
3402
3403# msplitby matrix
3404Resultado: 	cadeia de matrizes
3405Argumentos:	<@var="X">  (matriz)
3406		<@var="v">  (vetor)
3407
3408Retorna um arranjo de matrizes, o resultado de dividir verticalmente <@var="X"> segundo o controlo do vector <@var="v">. Este vector deve ser de comprimento igual ao número de linhas do argumento <@var="X">, e deverá conter valores inteiros com um mínimo de 1 e um máximo igual ao número de matrizes no arranjo desejado. Cada elemento de <@var="v"> indica o índice vectorial da matriz que corresponde à linha de <@var="X"> que deverá ser atríbuída.
3409
3410No seguinte exemplo, divide-se uma matriz 3×3 em três matrizes: as primeiras duas linhas são atribuídas à primeira matriz; as segunda matriz fica vazia; e a terceira matriz recebe a linha 3 de <@var="X">.
3411
3412<code>
3413     matrix X = {1,2,3; 4,5,6; 7,8,9}
3414     matrices M = msplitby(X, {1,1,3})
3415     print M
3416</code>
3417
3418A saída mostra:
3419
3420<code>
3421     Vetor ("array") de matrizes, comprimento 3
3422     [1] 2 x 3
3423     [2] null
3424     [3] 1 x 3
3425</code>
3426
3427Ver <@ref="flatten"> para a operação inversa.
3428
3429# muniform matrix
3430Resultado: 	matriz
3431Argumentos:	<@var="r">  (número inteiro)
3432		<@var="c">  (número inteiro)
3433
3434Retorna uma matriz com <@var="r"> linhas e <@var="c"> colunas, preenchida com números pseudo-aleatórios seguindo uma distribuição uniforme (0,1). Observação: o método preferencial para gerar escalares pseudo-aleatórios com distribuição uniforme é através da utilização da função <@ref="randgen1">.
3435
3436Ver também <@ref="mnormal">, <@ref="uniform">.
3437
3438# mweights midas
3439Resultado: 	matriz
3440Argumentos:	<@var="p">  (número inteiro)
3441		<@var="theta">  (vetor)
3442		<@var="type">  (número inteiro ou texto)
3443
3444Retorna um vetor de ordem <@mth="p"> de pesos MIDAS a serem aplicados nas <@mth="p"> defasagens de uma série de alta frequência, com base no vetor de hiper-parâmetros <@var="theta">.
3445
3446O argumento <@var="type"> identifica o tipo de parametrização, a qual determina o número de elementos necessários, <@mth="k">, em <@var="theta">: 1 = exponencial normalizado de Almon (<@mth="k"> ao menos 1, tipicamente 2); 2 = beta normalizado com última defasagem nula (<@mth="k"> = 2); 3 = beta normalizado com última defasagem não-nula (<@mth="k"> = 3); e 4 = polinômio de Almon (<@mth="k"> ao menos 1). Note que no caso do beta normalizado os primeiros dois elementos de <@var="theta"> devem ser positivos.
3447
3448O <@var="type"> pode ser fornecido como sem um código inteiro, como mostrado acima, ou por um dos seguintes textos (respectivamente): <@lit="nealmon">, <@lit="beta0">, <@lit="betan">, <@lit="almonp">. Se for utilizado texto, ele deve ser escrito com aspas duplas. Por exemplo, as duas expressões abaixo são equivalentes:
3449
3450<code>
3451     W = mweights(8, theta, 2)
3452     W = mweights(8, theta, "beta0")
3453</code>
3454
3455Ver também <@ref="mgradient">, <@ref="mlincomb">.
3456
3457# mwrite data-utils
3458Resultado: 	número inteiro
3459Argumentos:	<@var="X">  (matriz)
3460		<@var="fname">  (texto)
3461		<@var="export">  (booleano, opcional)
3462
3463Salva a matriz <@var="X"> em um arquivo especificado por <@var="fname">. Por padrão este arquivo será um arquivo de texto simples. A primeira linha terá dois números inteiros, separados por um caractere de tabulação (tab), representando o número de linhas e colunas. Nas linhas seguintes estarão os elementos da matriz, em notação científica, separados por tabulações (uma linha da matriz em cada linha do arquivo). Veja a seguir os formatos alternativos.
3464
3465Se já existir um arquivo com o nome <@var="fname"> ele será sobrescrito. O valor a ser retornado pela função é 0 em caso de sucesso. Se ocorrer um erro na escrita, que pode ocorrer, por exemplo, se o arquivo estiver bloqueado, o valor de retorno será diferente de 0.
3466
3467O arquivo de saída será salvo no <@xrf="workdir"> selecionado, a menos que no argumento <@var="filename"> seja escrito o caminho completo. Entretanto, se o argumento <@var="export"> for diferente de 0, o arquivo será salvo no diretório do usuário, ou seja, no diretório “@dotdir”, onde é acessado por padrão pelas funções que manipulam matrizes no contexto do comando <@xrf="foreign">. Nesse caso, um nome simples, sem a inclusão do caminho para o arquivo, deve ser usado como segundo argumento.
3468
3469Matrizes armazenadas via função <@lit="mwrite"> na sua forma padrão podem ser facilmente lidas por outros programas. Para maiores detalhes veja <@pdf="guia de utilização do Gretl#chap:matrices"> (Capítulo 17).
3470
3471Duas variantes, mutuamente exclusivas, estão disponíveis para esta função:
3472
3473<indent>
3474• Se o nome dado para o arquivo, <@var="fname">, terminar com “<@lit=".gz">” então ele será armazenado com compressão gzip.
3475</indent>
3476
3477<indent>
3478• Se <@var="fname"> terminar com “<@lit=".bin"> ” então o arquivo será armazenado no formato binário. Neste caso os primeiros 19 bytes contêm os caracteres <@lit=" gretl_binary_matrix">, os 8 bytes seguintes contêm dois inteiros de 32 bit, fornecendo o número de linhas e colunas da matriz, e o restante do arquivo contém os elementos da matriz como “doubles”, com extremidade do tipo little-endian, orientado a coluna (column-major). Se o Gretl for executado em um sistema com extremidade do tipo big-endian, os valores binários são convertidos para little-endian na escrita e convertidos para big-endian na leitura.
3479</indent>
3480
3481Note que se o armazenamento da matriz em um arquivo for para seu uso em outros programas não é aconselhável utilizar as variantes gzip ou binária. Mas se o intuito for a posterior leitura pelo próprio Gretl, esses formatos alternativos economizam espaço em disco e, no caso do armazenamento no formato binário, torna a leitura de grandes matrizes bem mais rápida. O formato gzip não é recomendado para matrizes muito grandes, uma vez que a descompressão desses arquivos é bastante lenta.
3482
3483Ver também <@ref="mread">.
3484
3485# mxtab stats
3486Resultado: 	matriz
3487Argumentos:	<@var="x">  (série ou vetor)
3488		<@var="y">  (série ou vetor)
3489
3490Retorna uma matriz contendo a tabulação cruzada dos valores contidos em <@var="x"> (por linha) e <@var="y "> (por coluna). Os dois argumentos devem ser do mesmo tipo (ambos séries ou ambos vetores) e, devido à forma que essa função é comumente utilizada, assume-se que contêm apenas valores inteiros.
3491
3492Ver também <@ref="values">.
3493
3494# naalen nonparam
3495Resultado: 	matriz
3496Argumentos:	<@var="d">  (série ou vetor)
3497		<@var="cens">  (série ou vetor, opcional)
3498
3499Dada uma amostra de dados de duração, <@var="d">, possivelmente acompanhada por um registro de status de censura, <@var="cens">, calcula o estimador não-paramétrico de Nelson–Aalen da função de risco (<@bib="Nelson, 1972;nelson72">; <@bib="Aalen, 1978;aalen78">). A matriz retornada possui três colunas contendo, respectivamente, os valores únicos de <@var="d"> de forma ordenada, a função de risco acumulada estimada correspondendo ao valor de duração na coluna 1 e o erro padrão do estimador.
3500
3501Se a série <@var="cens"> for dada, um valor 0 serve para indicar uma observação não-censurada, enquanto que um valor 1 indica uma observação censurada à direita (isto é, o período de observação do indivíduo em questão terminou antes que a duração ou o período tenham sido registrados como finalizados). Se <@var="cens"> não for dado é assumido que todas as observações são não-censuradas. Observação: a interpretação de <@var="cens"> pode ser estendida em algum momento de forma a cobrir outros tipos de censura.
3502
3503Ver também <@ref="kmeier">.
3504
3505# nadarwat nonparam
3506Resultado: 	série
3507Argumentos:	<@var="y">  (série)
3508		<@var="x">  (série)
3509		<@var="h">  (escalar)
3510
3511Estimador não paramétrico de Nadaraya–Watson da média condicional de <@var="y"> dado <@var="x">. Retorna uma série contendo a estimativa não-paramétrica de <@mth="E(y"><@sub=" i"><@mth="|x"><@sub="i"><@mth=")"> para cada valor não ausente da série <@var="x">.
3512
3513A função núcleo (ou função kernel) <@mth="K"> é dada por <@mth="K = exp(-x"><@sup="2"><@mth=" / 2h)"> para <@mth="|x| < T"> e, caso contrário, zero.
3514
3515O argumento <@var="h">, conhecido como largura de banda (bandwidth), é um número real positivo escolhido pelo usuário. Normalmente este é um número pequeno: maiores valores de <@var="h "> tornam <@mth="m(x)"> mais suave. Uma escolha comumente utilizada é definir <@var="h"> como sendo proporcional a <@mth="n"><@sup="-0.2">. Mais detalhes podem ser encontrados no <@pdf="guia de utilização do Gretl#chap:nonparam"> (Capítulo 40).
3516
3517O escalar <@mth="T"> é utilizado para prevenir problemas numéricos quando a função núcleo é avaliada em um ponto muito distante de zero e é chamado de parâmetro de truncagem.
3518
3519O parâmetro de truncagem pode ser alterado através do ajuste de <@lit="nadarwat_trim">, como um múltiplo de <@var="h ">. O valor padrão é 4.
3520
3521O usuário pode fornecer valores negativos para a largura de banda: esta é interpretada como sintaxe convencional para obter o estimador leave-one-out. Este é uma variante do estimador que não usa a <@mth="i">-ésima observação para avaliar <@mth="m(x"><@sub="i"><@mth=")">. Isso faz com que o estimador de Nadaraya–Watson seja mais numericamente robusto e sua utilização é normalmente aconselhada quando o estimador é calculado com o propósito de realizar inferências. Vale salientar que a largura de banda utilizada é, na verdade, o valor absoluto de <@var="h">.
3522
3523# nelem data-utils
3524Resultado: 	número inteiro
3525Argumento: 	<@var="L">  (lista, matriz, lote ou cadeia)
3526
3527Retorna o número de elementos no argumento que, por sua vez, pode ser uma lista, uma matriz, um pacote (bundle) ou um arranjo (array). A função não pode ser utilizada em séries.
3528
3529# ngetenv programming
3530Resultado: 	escalar
3531Argumento: 	<@var="s">  (texto)
3532
3533Se uma variável de ambiente de nome <@var="s"> estiver definida e possuir um valor numérico a função retorna este valor, caso contrário, retorna NA. Veja também <@ref="getenv">.
3534
3535# nlines strings
3536Resultado: 	escalar
3537Argumento: 	<@var="buf">  (texto)
3538
3539Retorna a quantidade de linhas completas (isto é, linhas que terminam com um caractere de nova linha) em <@var="buf">.
3540
3541Exemplo:
3542
3543<code>
3544        string web_page = readfile("http://gretl.sourceforge.net/")
3545        scalar number = nlines(web_page)
3546        print number
3547</code>
3548
3549# NMmax numerical
3550Resultado: 	escalar
3551Argumentos:	<@var="&b">  (referência a matriz)
3552		<@var="f">  (chamada a função)
3553		<@var="maxfeval">  (número inteiro, opcional)
3554
3555Realiza a maximização numérica via método simplex sem derivadas de Nelder–Mead. O argumento <@var="b"> deve conter os valores iniciais de um conjunto de parâmetros e o argumento <@var="f"> deve especificar uma chamada à função que calcule o critério (escalar) a ser maximizado, dados os valores correntes dos parâmetros e quaisquer outros dados que sejam relevantes. Se for completada com sucesso, <@lit="NMmax"> retorna o valor maximizado do critério e <@var="b"> armazena os valores dos parâmetros que maximizam a função.
3556
3557O terceiro argumento, opcional, pode ser utilizado para determinar o número máximo de avaliações da função. Se for omitido ou for igual a zero o máximo de avaliações será, por padrão, igual a 2000. O valor do argumento <@var="maxfeval"> pode ser especificado como um número negativo. Neste caso é tomado o valor absoluto e a função <@lit="NMmax"> sinaliza um erro se o melhor valor encontrado para a função objetivo, respeitando o número máximo de avaliações de funções, não for um ótimo local. Caso contrário a falta de convergência neste sentido não é tratada como um erro.
3558
3559Se de fato o objetivo for a minimização, a função pode retornar o valor negativo do critério. Alternativamente pode-se utilizar a função <@lit="NMmax"> através de sua forma alternativa <@lit=" NMmin">.
3560
3561Para maiores detalhes e exemplos <@pdf="guia de utilização do Gretl#chap:numerical"> (Capítulo 37). Ver também <@ref="simann">.
3562
3563# NMmin numerical
3564Resultado: 	escalar
3565
3566É uma forma alternativa da função <@ref="NMmax">. Se invocada com este nome a função comporta-se como minimizadora.
3567
3568# nobs stats
3569Resultado: 	número inteiro
3570Argumento: 	<@var="y">  (série)
3571
3572Retorna o número de observações não ausentes para a variável <@var="y"> na amostra corrente selecionada.
3573
3574# normal probdist
3575Resultado: 	série
3576Argumentos:	<@var="μ">  (escalar)
3577		<@var="σ">  (escalar)
3578
3579Cria uma série de números gaussianos pseudo-aleatórios com média μ e desvio padrão σ. Se não forem fornecidos argumentos, será produzida uma série padrão normalizada <@mth="N">(0,1). Os valores são calculados utilizando o método Ziggurat <@bib="(Marsaglia e Tsang, 2000);marsaglia00">.
3580
3581Ver também <@ref="randgen">, <@ref="mnormal">, <@ref="muniform">.
3582
3583# normtest stats
3584Resultado: 	matriz
3585Argumentos:	<@var="y">  (série ou vetor)
3586		<@var="method">  (texto, opcional)
3587
3588Realiza um teste de normalidade em <@var="y">. Por padrão é utilizado o teste de Doornik–Hansen, mas é possível escolher outros métodos via argumento opcional <@var="method">. Os testes disponíveis são: <@lit="swilk"> para o teste de Shapiro–Wilk, <@lit=" jbera"> para o teste de Jarque–Bera, ou <@lit="lillie "> para o de teste Lilliefors.
3589
3590O segundo argumento pode ser fornecido com ou sem aspas. Porém, quando o argumento estiver na forma de uma variável de texto (string), o valor dessa variável é substituído. Os seguintes exemplos mostram três formas aceitáveis de se realizar o teste de Shapiro–Wilk:
3591
3592<code>
3593     matrix nt = normtest(y, swilk)
3594     matrix nt = normtest(y, "swilk")
3595     string testtype = "swilk"
3596     matrix nt = normtest(y, testtype)
3597</code>
3598
3599A matriz retornada tem ordem 1×2 e armazena a estatística de teste e seu p-valor. Veja também o comando <@xrf="normtest">.
3600
3601# npcorr stats
3602Resultado: 	matriz
3603Argumentos:	<@var="x">  (série ou vetor)
3604		<@var="y">  (série ou vetor)
3605		<@var="method">  (texto, opcional)
3606
3607Calcula uma medida de correlação entre <@var="x"> e <@var="y"> utilizando um método não-paramétrico. Se for dado, o terceiro argumento deve ser <@lit="kendall"> (para a versão b do tau de Kendall, sendo este o método padrão) ou <@lit="spearman"> (para o rô de Spearman).
3608
3609O valor de retorno é um vetor de ordem 3 contendo a medida de correlação, a estatística de teste e o p-valor para a hipótese nula de não-autocorrelação. Note que se o tamanho da amostra for muito pequeno a estatística de teste e/ou p-valor podem <@lit="NaN"> (ou seja, não é um número ou é ausente).
3610
3611Veja também <@ref="corr"> para a correlação de Pearson.
3612
3613# npv math
3614Resultado: 	escalar
3615Argumentos:	<@var="x">  (série ou vetor)
3616		<@var="r">  (escalar)
3617
3618Retorna o Valor Presente Líquido (VPL ou NPV) de <@var="x ">, considerado como sendo uma sequência de pagamentos (negativos) e recebimentos (positivos), avaliada à taxa de desconto anual <@var="r">, que deve ser expressa como uma fração decimal e não como uma porcentagem (ou seja, 0.05 ao invés de 5<@lit="%">). O primeiro valor é considerado como sendo o “agora” e não é descontado. Para emular a função <@lit="npv"> na qual o primeiro valor é descontado, basta inserir um zero no início da sequência.
3619
3620A função pode ser utilizada com dados anuais, trimestrais, mensais e sem data (neste último caso, os dados são tratados como sendo anuais).
3621
3622Ver também <@ref="irr">.
3623
3624# NRmax numerical
3625Resultado: 	escalar
3626Argumentos:	<@var="&b">  (referência a matriz)
3627		<@var="f">  (chamada a função)
3628		<@var="g">  (chamada a função, opcional)
3629		<@var="h">  (chamada a função, opcional)
3630
3631Realiza a maximização numérica via método de Newton–Raphson. O argumento <@var="b"> deve conter os valores iniciais de um conjunto de parâmetros e o argumento <@var="f"> deve especificar uma chamada à função que calcule o critério (escalar) a ser maximizado, dados os valores correntes dos parâmetros e quaisquer outros dados que sejam relevantes. Se o objetivo for de fato uma minimização, esta função deverá retornar o negativo do critério. Se for completada com sucesso, <@lit="NRmax"> retorna o valor maximizado do critério e <@var="b"> armazena os valores dos parâmetros que maximizam a função.
3632
3633O terceiro e o quarto argumento, opcionais, estabelecem uma maneira de fornecer derivadas analíticas e uma hessiana (negativa) analítica, respectivamente. As funções representadas por <@var="g"> e <@var="h"> devem ter como seus primeiros argumentos uma matriz pré-definida que tenha o tamanho adequado para armazenar o gradiente ou hessiana, respectivamente, dado na forma de ponteiro. Elas também precisam ter o vetor de parâmetros como um argumento (na forma de ponteiro ou não). Outros argumentos são opcionais. Se alguns dos parâmetros opcionais forem omitidos, é utilizada uma aproximação numérica.
3634
3635Para maiores detalhes e exemplos veja <@pdf="guia de utilização do Gretl#chap:numerical"> (Capítulo 37). Ver também <@ref="BFGSmax">, <@ref="fdjac">.
3636
3637# NRmin numerical
3638Resultado: 	escalar
3639
3640É uma forma alternativa da função <@ref="NRmax">. Se invocada com este nome a função comporta-se como minimizadora.
3641
3642# nullspace linalg
3643Resultado: 	matriz
3644Argumento: 	<@var="A">  (matriz)
3645
3646Calcula o espaço nulo direito de <@var="A">, via decomposição em valores singulares: o resultado é uma matriz <@mth="B"> tal que o produto <@mth="AB"> é uma matriz nula, exceto quando <@var="A"> tem posto completo, nesse caso uma matriz vazia é retornada. Caso contrário, se <@var="A"> é uma matriz <@itl="m">×<@itl="n">, <@mth="B"> terá dimensão <@mth="n"> por (<@mth="n"> – <@mth="r">), onde <@mth="r"> é o posto de <@var="A">.
3647
3648Se <@var="A"> não tiver posto completo a concatenação vertical de <@var="A"> com a transposta de <@var="B"> produz uma matriz de posto completo.
3649
3650Exemplo:
3651
3652<code>
3653      A = mshape(seq(1,6),2,3)
3654      B = nullspace(A)
3655      C = A | B'
3656
3657      print A B C
3658
3659      eval A*B
3660      eval rank(C)
3661</code>
3662
3663O exemplo acima produz:
3664
3665<code>
3666      ? print A B C
3667      A (2 x 3)
3668
3669      1   3   5
3670      2   4   6
3671
3672      B (3 x 1)
3673
3674      -0.5
3675         1
3676      -0.5
3677
3678      C (3 x 3)
3679
3680         1      3      5
3681         2      4      6
3682      -0.5      1   -0.5
3683
3684      ? eval A*B
3685      -4.4409e-16
3686      -4.4409e-16
3687
3688      ? eval rank(C)
3689      3
3690</code>
3691
3692Ver também <@ref="rank">, <@ref="svd">.
3693
3694# numhess numerical
3695Resultado: 	matriz
3696Argumentos:	<@var="b">  (vetor coluna)
3697		<@var="fcall">  (chamada a função)
3698		<@var="d">  (escalar, opcional)
3699
3700Calcula uma aproximação numérica para a hessiana associada ao vetor <@var="b"> de ordem <@mth="n"> e à função objetivo especificada pelo argumento <@var="fcall">. A chamada à função deve ter <@var="b"> como primeiro argumento (de forma direta ou na forma de ponteiro), seguido de quaisquer argumentos adicionais que possam ser necessários. A função retorna um escalar como resultado. Se executada com sucesso, <@lit="numhess"> retorna uma matriz de ordem <@itl="n">×<@itl="n"> contendo a hessiana que, por sua vez, é simétrica por construção.
3701
3702O método utilizado é a extrapolação de Richardson, com quatro passos. O terceiro argumento, opcional, pode ser utilizado para ajustar a fração <@mth="d"> do valor do parâmetro utilizado no ajuste do tamanho do passo inicial. Se este argumento for omitido, será utilizado <@mth="d"> = 0,01 como padrão.
3703
3704Exemplo::
3705
3706<code>
3707     matrix H = numhess(theta, myfunc(&theta, X))
3708</code>
3709
3710Ver também <@ref="BFGSmax">, <@ref="fdjac">.
3711
3712# obs data-utils
3713Resultado: 	série
3714
3715Retorna uma série de números inteiros consecutivos começando em 1 no início do conjunto de dados. Note que esse resultado não é afetado por subamostragem. Essa função é especialmente útil com conjunto de dados de séries temporais. Você também pode escrever <@lit="t"> ao invés de <@lit="obs"> para obter a série.
3716
3717Ver também <@ref="obsnum">.
3718
3719# obslabel data-utils
3720Resultado: 	texto
3721Argumento: 	<@var="t">  (número inteiro)
3722
3723Retorna o rótulo da observação <@var="t">, onde <@var="t"> é número que representa esta observação. A função inversa é dada por <@ref="obsnum">.
3724
3725# obsnum data-utils
3726Resultado: 	número inteiro
3727Argumento: 	<@var="s">  (texto)
3728
3729obsnum Retorna o número que corresponde a observação especificada pela variável <@mth="s">. Note que o resultado desta função não é afetado por subamostragens. Ela é especialmente útil em dados de séries temporais. Por exemplo, o código seguinte
3730
3731<code>
3732     open denmark
3733     k = obsnum(1980:1)
3734</code>
3735
3736fornece <@lit="k = 25">, indicando que o primeiro trimestre de 1980 é a vigésima quinta observação nos dados <@lit="denmark">.
3737
3738Ver também <@ref="obs">, <@ref="obslabel">.
3739
3740# ok data-utils
3741Resultado: 	ver abaixo
3742Argumento: 	<@var="x">  (escalar, série, matriz ou lista)
3743
3744Se <@var="x"> for um escalar, retorna 1 se <@var="x "> não for <@lit="NA">, caso contrário 0. Se <@var="x "> for uma série, retorna uma série com valor 1 nas observações sem valores ausentes e 0 onde houver valores ausentes. Se <@var="x"> for uma lista, a saída da função é uma série com 0 nas observações onde ao menos uma das séries na lista tenha valor ausente, caso contrário retorna 1.
3745
3746Se <@var="x"> for uma matriz o comportamento da função é um pouco diferente, uma vez que matrizes não podem conter <@lit=" NA">'s. Assim, nesse caso, a função retorna uma matriz com as mesmas dimensões que <@var="x">, com 1's nas posições com elementos finitos de <@var="x"> and 0's nas posições onde os elementos são não-finitos (podendo ser números infinitos ou NaN, conforme padrão IEEE 754).
3747
3748Ver também <@ref="missing">, <@ref="misszero">, <@ref="zeromiss">. Mas note que essas funções não são aplicáveis no caso de matrizes.
3749
3750# onenorm linalg
3751Resultado: 	escalar
3752Argumento: 	<@var="X">  (matriz)
3753
3754Retorna a norma-1 da matriz <@var="X">, isto é, a máxima soma dos valores absolutos dos elementos de cada coluna de <@var="X">.
3755
3756Ver também <@ref="infnorm">, <@ref="rcond">.
3757
3758# ones matrix
3759Resultado: 	matriz
3760Argumentos:	<@var="r">  (número inteiro)
3761		<@var="c">  (número inteiro)
3762
3763Retorna uma matriz com <@mth="r"> linhas e <@mth="c"> colunas preenchida com valores iguais a 1.
3764
3765Ver também <@ref="seq">, <@ref="zeros">.
3766
3767# orthdev panel
3768Resultado: 	série
3769Argumento: 	<@var="y">  (série)
3770
3771Aplicável apenas quando o conjunto de dados atualmente aberto é composto por dados em painel. Calcula os desvios ortogonais anteriores (ou seja, o desvio entre <@mth="t"> e <@mth="t+1">) da variável <@var="y ">.
3772
3773Esta transformação é realizada algumas vezes ao invés da diferenciação para remover efeitos individuais do dado em painel. Para fins de compatibilidade com a primeira diferença, os desvios são armazenados um paso à frente em relação à sua verdadeira localização temporal (isto é, o valor na observação <@mth="t"> é o desvio que, estritamente falando, pertence ao tempo <@mth="t"> –1). Assim, perde-se a primeira observação em cada série de tempo, e não a última.
3774
3775Ver também <@ref="diff">.
3776
3777# pdf probdist
3778Resultado: 	o mesmo tipo que o argumento
3779Argumentos:	<@var="d">  (texto)
3780		<@var="…">  (ver abaixo)
3781		<@var="x">  (escalar, série ou matriz)
3782Exemplos: 	<@lit="f1 = pdf(N, -2.5)">
3783		<@lit="f2 = pdf(X, 3, y)">
3784		<@lit="f3 = pdf(W, forma, escala, y)">
3785
3786Calculadora de função densidade de probabilidade. Retorna a densidade em <@var="x"> da distribuição identificada pelo código <@var="d">. Veja <@ref="cdf"> para detalhes acerca dos argumentos (escalares) requeridos. As distribuições suportadas pela função <@lit="pdf"> são: normal, <@mth="t"> de Student, qui-quadrado, <@mth="F">, Gama, Exponencial, Weibull, Laplace, Erro Generalizado, Binomial e Poisson. Note que para a Binomial e a Poisson o que de fato é calculado é a massa de probabilidade no ponto especificado. Para <@mth="t"> de Student, qui-quadrado e <@mth="F"> também estão disponíveis as suas variantes não-centrais.
3787
3788Para a distribuição normal veja também <@ref="dnorm">.
3789
3790# pergm timeseries
3791Resultado: 	matriz
3792Argumentos:	<@var="x">  (série ou vetor)
3793		<@var="bandwidth">  (escalar, opcional)
3794
3795Se apenas o primeiro argumento for dado, calcula o periodograma da amostra para dada variável ou vetor. Se o segundo argumento for dado, calcula uma estimativa do espectro de <@var="x"> utilizando janela de defasagem de Bartlett para a largura de banda dada, até o número de observações (<@mth="T">/2).
3796
3797Retorna uma matriz com duas colunas e <@mth="T">/2 linhas: a primeira coluna contendo a frequência, ω, de 2π/<@mth="T"> até π e a segunda contendo a densidade espectral correspondente.
3798
3799# pexpand panel
3800Resultado: 	série
3801Argumento: 	<@var="v">  (vetor)
3802
3803É aplicável somente se o conjunto de dados corrente tiver uma estrutura de painel. Realiza a operação inversa de <@ref="pshrink">. Isto é, dado um vetor de comprimento igual ao número de indivíduos na amostra (de painel) corrente, retorna uma série na qual cada valor é repetido <@mth="T"> vezes, onde <@mth="T"> representa o comprimento temporal do painel. A série resultante é dessa forma não variante em relação ao tempo.
3804
3805# pmax panel
3806Resultado: 	série
3807Argumentos:	<@var="y">  (série)
3808		<@var="mask">  (série, opcional)
3809
3810É aplicável somente se o conjunto de dados corrente tiver uma estrutura de painel. Retorna uma série contendo o máximo da variável <@var="y"> para cada unidade de corte transversal (isso é repetido parar cada período de tempo).
3811
3812Se o segundo argumento (opcional) for fornecido, as observações onde o valor de <@var="mask"> for igual a zero são ignoradas.
3813
3814Ver também <@ref="pmin">, <@ref="pmean">, <@ref="pnobs">, <@ref="psd">, <@ref="pxsum">, <@ref="pshrink">, <@ref="psum">.
3815
3816# pmean panel
3817Resultado: 	série
3818Argumentos:	<@var="y">  (série)
3819		<@var="mask">  (série, opcional)
3820
3821É aplicável somente se o conjunto de dados corrente tiver uma estrutura de painel. Retorna uma série contendo a média temporal da variável <@var="y"> para cada unidade de corte transversal. Os valores são repetidos para cada período e as observações ausentes são ignoradas no cálculo das médias.
3822
3823Se o segundo argumento (opcional) for fornecido, as observações onde o valor de <@var="mask"> for igual a zero são ignoradas.
3824
3825Ver também <@ref="pmax">, <@ref="pmin">, <@ref="pnobs">, <@ref="psd">, <@ref="pxsum">, <@ref="pshrink">, <@ref="psum">.
3826
3827# pmin panel
3828Resultado: 	série
3829Argumentos:	<@var="y">  (série)
3830		<@var="mask">  (série, opcional)
3831
3832É aplicável somente se o conjunto de dados corrente tiver uma estrutura de painel. Retorna uma série contendo o mínimo da variável <@var="y"> para cada unidade de corte transversal (isso é repetido para cada período de tempo).
3833
3834Se o segundo argumento (opcional) for fornecido, as observações onde o valor de <@var="mask"> for igual a zero são ignoradas.
3835
3836Ver também <@ref="pmax">, <@ref="pmean">, <@ref="pnobs">, <@ref="psd">, <@ref="pshrink">, <@ref="psum">.
3837
3838# pnobs panel
3839Resultado: 	série
3840Argumentos:	<@var="y">  (série)
3841		<@var="mask">  (série, opcional)
3842
3843É aplicável somente se o conjunto de dados corrente tiver uma estrutura de painel. Retorna uma série contendo o número de observações válidas em <@var="y"> para cada unidade de corte transversal (isso é repetido para cada período de tempo).
3844
3845Se o segundo argumento (opcional) for fornecido, as observações onde o valor de <@var="mask"> for igual a zero são ignoradas.
3846
3847Ver também <@ref="pmax">, <@ref="pmin">, <@ref="pmean">, <@ref="psd">, <@ref="pshrink">, <@ref="psum">.
3848
3849# polroots math
3850Resultado: 	matriz
3851Argumento: 	<@var="a">  (vetor)
3852
3853Encontra as raízes de um polinômio. Se o polinômio for de ordem <@mth="p">, o vetor <@var="a"> deverá conter <@mth="p"> + 1 coeficientes em ordem crescente, i.e. iniciando com a constante e terminando com o coeficiente de <@mth="x"><@sup="p">.
3854
3855Se todas as raízes forem reais elas serão retornadas em um vetor coluna de comprimento <@mth="p">, caso contrário uma matriz de ordem <@itl="p">×2 será retornada, com as partes reais na primeira coluna e as partes imaginárias na segunda.
3856
3857# polyfit transforms
3858Resultado: 	série
3859Argumentos:	<@var="y">  (série)
3860		<@var="q">  (número inteiro)
3861
3862Ajusta uma tendência polinomial de ordem <@var="q"> à série <@var="y"> usando o método dos polinômios ortogonais. A série retornada contém os valores ajustados.
3863
3864# princomp stats
3865Resultado: 	matriz
3866Argumentos:	<@var="X">  (matriz)
3867		<@var="p">  (número inteiro)
3868		<@var="covmat">  (booleano, opcional)
3869
3870Seja a matriz <@var="X"> de ordem <@itl="T">×<@itl="k">, contendo <@mth="T"> observações de <@mth="k"> variáveis. O argumento <@var="p"> deve ser um inteiro positivo menor ou igual a <@mth="k">. Esta função retorna a matriz de ordem <@itl="T">×<@itl="p">, <@mth="P">, contendo os primeiros <@mth="p"> principais componentes de <@var="X">.
3871
3872O terceiro argumento, opcional, age como uma chave booleana: se for um valor não-nulo os componentes principais são calculados com base na matriz de covariâncias das colunas de <@var="X"> (o padrão desta função é a utilização da matriz de correlação).
3873
3874Os elementos de <@mth="P"> são calculados como sendo a soma de <@mth="i"> até <@mth="k"> de <@mth="Z"><@sub="ti"> multiplicado por <@mth="v"><@sub="ji">, onde <@mth="Z"><@sub="ti"> é o valor padronizado da variável <@mth="i"> na observação <@mth="t"> e <@mth="v"><@sub="ji"> é o <@mth="j">-ésimo autovetor da matriz de correlação (ou covariância) dos <@mth="X"><@sub="i">s, com os autovetores ordenados de forma decrescente de acordo com o valores dos autovalores correspondentes.
3875
3876Ver também <@ref="eigensym">.
3877
3878# prodc stats
3879Resultado: 	vetor linha
3880Argumento: 	<@var="X">  (matriz)
3881
3882Retorna o produto dos elementos das colunas de <@var="X">. Ver também <@ref="prodr">, <@ref="meanc">, <@ref="sdc">, <@ref="sumc">.
3883
3884# prodr stats
3885Resultado: 	vetor coluna
3886Argumento: 	<@var="X">  (matriz)
3887
3888Retorna o produto dos elementos das linhas de <@var="X">. Ver também <@ref="prodc">, <@ref="meanr">, <@ref="sumr">.
3889
3890# psd panel
3891Resultado: 	série
3892Argumentos:	<@var="y">  (série)
3893		<@var="mask">  (série, opcional)
3894
3895É aplicável somente se o conjunto de dados corrente tiver uma estrutura de painel. Retorna uma série contendo desvio padrão amostral da variável <@mth="y"> para cada unidade de corte transversal (sendo os valores repetidos para cada período de tempo). O denominador utilizado o tamanho da amostra em cada unidade menos 1, a menos que o número de observações válidas para dada unidade ser 1 (nesse caso será retornado 0) ou 0 (nesse caso será retornado <@lit="NA">).
3896
3897Se o segundo argumento (opcional) for fornecido, as observações onde o valor de <@var="mask"> for igual a zero são ignoradas.
3898
3899Observação: essa função torna possível testar se dada variável (como por exemplo, <@lit="X">) não varia ao longo do tempo utilizando a condição <@lit="max(psd(X)) == 0">.
3900
3901Ver também <@ref="pmax">, <@ref="pmin">, <@ref="pmean">, <@ref="pnobs">, <@ref="pshrink">, <@ref="psum">.
3902
3903# psdroot linalg
3904Resultado: 	matriz quadrada
3905Argumento: 	<@var="A">  (matriz simétrica)
3906
3907Calcula a variante generalizada da decomposição de Cholesky da matriz <@var="A">, que deve ser positiva semi-definida (mas que pode ser singular). Se a matriz de entrada não for quadrada é sinalizado um erro, apesar disso, a simetria é assumida pela função, mas não verificada. Apenas o triângulo inferior de <@var="A"> é lido. O resultado é uma matriz triangular inferior <@mth="L"> que satisfaz <@mth="A = LL'">. Elementos indeterminados na solução são zerados.
3908
3909Para o caso onde <@var="A"> é positivo definido, veja <@ref="cholesky">.
3910
3911# pshrink panel
3912Resultado: 	matriz
3913Argumento: 	<@var="y">  (série)
3914
3915É aplicável somente se o conjunto de dados corrente tiver uma estrutura de painel. Retorna um vetor coluna contendo a primeira observação válida da série <@var="y"> para cada unidade de corte transversal no painel, ao longo extensão da amostra corrente. Se uma unidade não possuir observações válidas da série de entrada ela será ignorada.
3916
3917Essa função fornece uma maneira de compactar as séries retornadas por funções como <@ref="pmax"> e <@ref="pmean">, nas quais um valor pertencente a cada unidade de corte transversal é repetido para cada período de tempo.
3918
3919Veja <@ref="pexpand"> para a operação inversa.
3920
3921# psum panel
3922Resultado: 	série
3923Argumentos:	<@var="y">  (série)
3924		<@var="mask">  (série, opcional)
3925
3926É aplicável somente se o conjunto de dados corrente tiver uma estrutura de painel. Retorna uma série contendo a soma ao longo do tempo da variável <@var="y"> para cada unidade de corte transversal. Os valores são repetidos para cada período e as observações ausentes são ignoradas no cálculo das somas.
3927
3928Se o segundo argumento (opcional) for fornecido, as observações onde o valor de <@var="mask"> for igual a zero são ignoradas.
3929
3930Ver também <@ref="pmax">, <@ref="pmean">, <@ref="pmin">, <@ref="pnobs">, <@ref="psd">, <@ref="pxsum">, <@ref="pshrink">.
3931
3932# pvalue probdist
3933Resultado: 	o mesmo tipo que o argumento
3934Argumentos:	<@var="c">  (caractere)
3935		<@var="…">  (ver abaixo)
3936		<@var="x">  (escalar, série ou matriz)
3937Exemplos: 	<@lit="p1 = pvalue(z, 2.2)">
3938		<@lit="p2 = pvalue(X, 3, 5.67)">
3939		<@lit="p2 = pvalue(F, 3, 30, 5.67)">
3940
3941Calculadora de <@mth="P">-valores. Retorna <@mth="P(X > x)">, onde a distribuição de <@mth="X"> é especificada pela letra <@var="c">. Entre os argumentos <@var="c"> e <@var="x">, zero ou mais argumentos adicionais são necessários para que especifique os parâmetros da distribuição. Veja <@ref="cdf"> para detalhes. As distribuições suportadas pela função <@lit="pvalue"> são: normal padrão, <@mth="t">, qui-quadrada, <@mth="F">, gama, binomial, Poisson, Weibull e Erro Generalizado.
3942
3943Ver também <@ref="critical">, <@ref="invcdf">, <@ref="urcpval">, <@ref="imhof">.
3944
3945# pxnobs panel
3946Resultado: 	série
3947Argumentos:	<@var="y">  (série)
3948		<@var="mask">  (série, opcional)
3949
3950É aplicável somente se o conjunto de dados corrente tiver uma estrutura de painel. Retorna uma série contendo o número de observações válidas de <@var="y"> em cada período de tempo (essa operação é repetida para cada unidade de corte transversal).
3951
3952Se o segundo argumento (opcional) for fornecido, as observações onde o valor de <@var="mask"> for igual a zero são ignoradas.
3953
3954Note que esta função opera em uma dimensão diferente da função <@ref="pnobs">.
3955
3956# pxsum panel
3957Resultado: 	série
3958Argumentos:	<@var="y">  (série)
3959		<@var="mask">  (série, opcional)
3960
3961É aplicável somente se o conjunto de dados corrente tiver uma estrutura de painel. Retorna uma série contendo a soma dos valores de <@var="y"> para cada unidade de corte transversal em cada período de tempo (sendo os valores repetidos para cada unidade de corte).
3962
3963Se o segundo argumento (opcional) for fornecido, as observações onde o valor de <@var="mask"> for igual a zero são ignoradas.
3964
3965Note que esta função opera em uma dimensão diferente da função <@ref="psum">.
3966
3967# qform linalg
3968Resultado: 	matriz
3969Argumentos:	<@var="x">  (matriz)
3970		<@var="A">  (matriz simétrica)
3971
3972Calcula a forma quadrática <@mth="Y = xAx'">. A utilização desta função, ao invés da multiplicação matricial comum, garante mais velocidade e maior precisão quando <@var="A"> é uma matriz simétrica genérica. Porém, no caso especial onde <@var="A"> é uma matriz identidade, a simples expressão <@lit="x'x"> tem desempenho bastante superior em relação a <@lit="qform(x',I(rows(x))">.
3973
3974Se <@var="x"> e <@var="A"> não forem compatíveis, ou <@var="A"> não for simétrica, é retornado um erro.
3975
3976# qlrpval probdist
3977Resultado: 	escalar
3978Argumentos:	<@var="X2">  (escalar)
3979		<@var="df">  (número inteiro)
3980		<@var="p1">  (escalar)
3981		<@var="p2">  (escalar)
3982
3983Fornece os <@mth="p">-valores para a estatística de teste do teste sup-Wald QLR para uma quebra estrutural em um ponto desconhecido (veja <@xrf="qlrtest">), conforme <@bib="Hansen (1997);hansen97">.
3984
3985O primeiro argumento, <@var="X2">, representa a máxima estatística de teste (na forma de qui-quadrado) de Wald e <@var="df"> representa os graus de liberdade. O terceiro e o quarto argumento representa, na forma de frações decimais da amplitude de estimação geral, os pontos inicial e final da amplitude central das observações ao longo das quais os sucessivos testes de Wald são calculados. Por exemplo, se a abordagem padrão de corte de 15 por cento for utilizada <@var="p1"> deve ser igual a 0.15 e <@var="p2"> igual a 0.85.
3986
3987Ver também <@ref="pvalue">, <@ref="urcpval">.
3988
3989# qnorm probdist
3990Resultado: 	o mesmo tipo que o argumento
3991Argumento: 	<@var="x">  (escalar, série ou matriz)
3992
3993Retorna os quantis para a distribuição normal padrão. Se <@var="x"> não estiver entre 0 e 1, será retornado <@lit="NA">. Ver também <@ref="cnorm">, <@ref="dnorm">.
3994
3995# qrdecomp linalg
3996Resultado: 	matriz
3997Argumentos:	<@var="X">  (matriz)
3998		<@var="&R">  (referência a matriz, ou <@lit="null">)
3999
4000Calcula a decomposição QR de uma matriz <@var="X"> de ordem <@itl="m">×<@itl="n">, isto é, <@mth="X = QR"> onde <@mth="Q"> é uma matriz ortogonal <@itl="m">×<@itl="n"> e <@mth="R"> é uma matriz triangular superior <@itl="n">×<@itl="n">. A matriz <@mth="Q"> é retornada diretamente, enquanto que <@mth="R"> pode ser obtida via utilização do segundo argumento (opcional).
4001
4002Ver também <@ref="eigengen">, <@ref="eigensym">, <@ref="svd">.
4003
4004# quadtable stats
4005Resultado: 	matriz
4006Argumentos:	<@var="n">  (número inteiro)
4007		<@var="type">  (número inteiro, opcional)
4008		<@var="a">  (escalar, opcional)
4009		<@var="b">  (escalar, opcional)
4010
4011Retorna uma matriz de ordem <@itl="n">×2 para utilização a quadratura gaussiana (integração numérica). A primeira coluna contém os nós ou abscissas e a segunda os pesos.
4012
4013O primeiro argumento especifica o número de pontos (linhas) a serem computados. O segundo argumento indica o tipo de quadratura: use 1 para Gauss–Hermite (tipo padrão); 2 para Gauss–Legendre; ou 3 para Gauss–Laguerre. O significado dos parâmetros opcionais <@var="a"> e <@var="b"> dependem da escolha do argumento <@var="type">, conforme explicado a seguir.
4014
4015A quadratura gaussiana é um método para aproximar numericamente a integral definida de dada função de interesse. Seja a função representada pelo produto <@mth="f(x)W(x)">. Os tipos de quadratura diferem de acordo com a especificação do componente <@mth="W(x)">: no caso de Hermite ela é definida como exp(–<@mth="x"><@sup="2">); no caso de Laguerre, exp(–<@mth="x">); e no caso de Legendre como <@mth="W(x)"> = 1.
4016
4017Para cada especificação de <@mth="W">, pode-se calcular um conjunto de abscissas, <@mth="x"><@sub="i">, e pesos, <@mth="w"><@sub="i">, tais que o somatório de <@mth="i">=1 até <@mth="n"> de <@mth="w"><@sub="i"> <@mth="f">(<@mth="x"><@sub="i">) se aproxima da integral desejada. O método de <@bib="Golub e Welsch (1969);golub69"> é utilizado.
4018
4019Quando o tipo Gauss–Legendre é selecionado, os argumentos opcionais <@var="a"> e <@var="b"> podem ser utilizados para controlar os limites inferior e superior de integração, sendo os valores padrão –1 e 1. Na quadratura de Hermite os limites são fixados entre menos infinito e mais infinito, enquanto que no caso de Laguerre eles são fixados entre zero e infinito.
4020
4021No caso de Hermite <@var="a"> e <@var="b "> exercem um papel diferente: eles podem ser utilizados para substituir a forma padrão de <@mth="W ">(<@mth="x">) pela (proximanente relacionada) distribuição normal com média <@var="a"> e desvio padrão <@var="b">. Fornecendo os valores de 0 e 1 para estes parâmetros, por exemplo, tem o efeito de transformar <@mth="W">(<@mth="x ">) em uma FDP normal padrão, que é equivalente a multiplicar as abscissas padrão pela raiz quadrada de dois e dividir os pesos pela raiz quadrada de π.
4022
4023# quantile stats
4024Resultado: 	escalar ou matriz
4025Argumentos:	<@var="y">  (série ou matriz)
4026		<@var="p">  (escalar entre 0 e 1)
4027
4028Se <@var="y"> for uma série, retorna o quantil <@var="p"> da série. Por exemplo, quando <@mth=" p"> = 0,5, a mediana é retornada.
4029
4030Se <@var="y"> for uma matriz, retorna um vetor linha contendo os <@var="p">-quantis das colunas de <@var="y">. Isto é, cada coluna é tratada como sendo uma série.
4031
4032Adicionalmente, para a matriz <@var="y"> existe uma segunda alternativa para o segundo argumento: <@var="p "> pode ser dado como um vetor. Nesse caso o valor de retorno é uma matriz de ordem <@itl="m">×<@itl="n"> onde <@var="m "> representa o número de elementos em <@var="p"> e <@var="n"> é o número de colunas em <@var="y">.
4033
4034# randgen probdist
4035Resultado: 	série
4036Argumentos:	<@var="d">  (texto)
4037		<@var="p1">  (escalar ou série)
4038		<@var="p2">  (escalar ou série, condicional)
4039		<@var="p3">  (escalar, condicional)
4040Exemplos: 	<@lit="series x = randgen(u, 0, 100)">
4041		<@lit="series t14 = randgen(t, 14)">
4042		<@lit="series y = randgen(B, 0.6, 30)">
4043		<@lit="series g = randgen(G, 1, 1)">
4044		<@lit="series P = randgen(P, mu)">
4045
4046Gerador de número aleatório de uso geral. O argumento <@var="d"> é um texto (string) (sendo geralmente composto por apenas um caractere) que especifica a distribuição da qual serão extraídos os pseudo-números. Os argumentos <@var="p1"> a <@var="p3"> especificam os parâmetros da distribuição selecionada, sendo que o número de parâmetros depende da distribuição escolhida. Para distribuições que não a beta-binomial, os parâmetros <@var="p1"> e <@var="p2"> (se for aplicável) podem estar na forma escalar ou de série. Se forem utilizados na forma escalar a série resultante será identicamente distribuída. Se forem utilizadas séries em <@var="p1"> ou <@var="p2"> a distribuição será condicional ao valor do parâmetro em cada observação. No caso da beta-binomial todos os parâmetros devem ser escalares.
4047
4048Especificidades são apresentadas abaixo: o código para cada distribuição é mostrado entre parênteses, seguido da interpretação do argumento <@var="p1"> e, quando for aplicável, <@var="p2"> e <@var="p3">.
4049
4050<indent>
4051• Uniforme (contínua) (u ou U): mínimo, máximo
4052</indent>
4053
4054<indent>
4055• Uniforme (discreta) (i): mínimo, máximo
4056</indent>
4057
4058<indent>
4059• Normal (z, n ou N): média, desvio padrão
4060</indent>
4061
4062<indent>
4063• t de Student (t): graus de liberdade
4064</indent>
4065
4066<indent>
4067• Qui-quadrado (c, x ou X): graus de liberdade
4068</indent>
4069
4070<indent>
4071• F de Snedecor (f ou F): graus de liberdade (num.), graus de liberdade (den.)
4072</indent>
4073
4074<indent>
4075• Gama (g ou G): forma, escala
4076</indent>
4077
4078<indent>
4079• Binomial (b ou B): probabilidade, quantidade de tentativas
4080</indent>
4081
4082<indent>
4083• Poisson (p ou P): média
4084</indent>
4085
4086<indent>
4087• ExponenCial (exp): escala
4088</indent>
4089
4090<indent>
4091• Weibull (w ou W): forma, escala
4092</indent>
4093
4094<indent>
4095• Laplace (l ou L): média, escala
4096</indent>
4097
4098<indent>
4099• Erro Generalizado (E): forma
4100</indent>
4101
4102<indent>
4103• Beta (beta): forma1, forma2
4104</indent>
4105
4106<indent>
4107• Beta-Binomial (bb): tentativas, forma1, forma2
4108</indent>
4109
4110Ver também <@ref="normal">, <@ref="uniform">, <@ref="mrandgen">, <@ref="randgen1">.
4111
4112# randgen1 probdist
4113Resultado: 	escalar
4114Argumentos:	<@var="d">  (caractere)
4115		<@var="p1">  (escalar)
4116		<@var="p2">  (escalar, condicional)
4117Exemplos: 	<@lit="scalar x = randgen1(z, 0, 1)">
4118		<@lit="scalar g = randgen1(g, 3, 2.5)">
4119
4120Funciona da mesma forma que <@ref="randgen"> exceto pelo fato de retornar um escalar ao invés de uma série.
4121
4122O primeiro exemplo acima retorna um valor da distribuição normal padrão, enquanto que o segundo especifica um valor a ser extraído da distribuição Gama com forma 3 e escala 2.5.
4123
4124Ver também <@ref="mrandgen">.
4125
4126# randint probdist
4127Resultado: 	número inteiro
4128Argumentos:	<@var="min">  (número inteiro)
4129		<@var="max">  (número inteiro)
4130
4131Retorna um inteiro pseudo-aleatório no intervalo fechado [<@var="min">, <@var="max">]. Ver também <@ref="randgen">.
4132
4133# randperm probdist
4134Resultado: 	vetor
4135Argumentos:	<@var="n">  (número inteiro)
4136		<@var="k">  (número inteiro, opcional)
4137
4138Se apenas é dado o primeiro argumento, retorna um vector linha contendo uma permutação aleatória dos inteiros de 1 a <@var="n">, sem repetição dos elementos. Se o segundo argumento é dado, ele tem que ser um inteiro no intervalo de 1 a <@var="n">; neste caso a função retorna um vector linha contendo <@var="k"> inteiros seleccionados aleatóriamente entre 1 e <@var="n"> sem substituição.
4139
4140Caso se pretenda uma amostra de <@mth="k"> linhas de uma matriz <@lit="X"> com <@mth="n"> linhas (sem substituição), pode-se proceder como se mostra adiante:
4141
4142<code>
4143     matrix S = X[randperm(n, k),]
4144</code>
4145
4146E case se queira preservar a ordem original das linhas na amostra:
4147
4148<code>
4149     matrix S = X[sort(randperm(n, k)),]
4150</code>
4151
4152Ver também <@ref="resample"> para a reamostragem com substituição.
4153
4154# rank linalg
4155Resultado: 	número inteiro
4156Argumento: 	<@var="X">  (matriz)
4157
4158Retorna o posto de <@var="X">, calculada numericamente via decomposição em valores singulares. Ver também <@ref="svd">.
4159
4160# ranking stats
4161Resultado: 	o mesmo tipo que o argumento
4162Argumento: 	<@var="y">  (série ou vetor)
4163
4164Retorna uma série ou vetor com os ranks de <@mth=" y">. O rank para a observação <@mth="i"> é o número de elementos que são menores que <@mth=" y"><@sub="i"> mais 1. Se houver números iguais a <@mth="y"><@sub="i"> adiciona-se 0,5. Intuitivamente, pode-se pensar em uma partida de xadrez, onde uma vitória vale 1 ponto e um empate vale 0,5 pontos). É adicionado 1 ao rank de forma que o menor rank possível é 1 ao invés de 0.
4165
4166Ver também <@ref="sort">, <@ref="sortby">.
4167
4168# rcond linalg
4169Resultado: 	escalar
4170Argumento: 	<@var="A">  (matriz quadrada)
4171
4172Retorna o número condicional recíproco para <@var="A"> em relação à norma-1. Em várias circunstâncias, é uma medida de sensibilidade melhor de <@var="A"> em relação a operações numéricas, tais como a inversão, que o determinante.
4173
4174O valor é calculado como a recíproca do produto, norma-1 de <@var="A"> multiplicada pela norma-1 de <@var="A">-inverso.
4175
4176Ver também <@ref="det">, <@ref="ldet">, <@ref="onenorm">.
4177
4178# Re complex
4179Resultado: 	matriz
4180Argumento: 	<@var="C">  (matriz complexa)
4181
4182Retorna uma matriz real com a mesma dimensão que <@var="C">, contendo a parte real dessa matriz de entrada. Ver também <@ref="Im">.
4183
4184# readfile strings
4185Resultado: 	texto
4186Argumentos:	<@var="fname">  (texto)
4187		<@var="codeset">  (texto, opcional)
4188
4189Se um arquivo com o nome <@var="fname"> existir e puder ser lido, a função retorna um texto (string) com o conteúdo desse arquivo, caso contrário retorna um erro. Se <@var=" fname"> não contiver o caminho completo até o arquivo, ele será procurado em algumas localizações “prováveis”, começando pelo <@xrf="workdir"> corrente.
4190
4191Se <@var="fname"> começar com o identificador de um protocolo de internet suportado (<@lit="http://">, <@lit="ftp://"> ou <@lit="https://">), libcurl será utilizado para baixar o arquivo. Veja também <@ref="curl"> para baixar arquivos de forma mais elaborada.
4192
4193Se o texto a ser lido não estiver codificado como UTF-8, Gretl tentará recodificá-lo a partir da codificação corrente se esta não for UTF-8, ou, caso contrário, a partir da codificação ISO-8859-15. Se essa estratégia padrão não funcionar é possível utilizar o segundo argumento (que é opcional) para especificar a codificação. Por exemplo, caso seja desejada a leitura de texto com codificação Microsoft 1251 e esta não seja a configuração local, pode-se fornecer o segundo argumento <@lit=""cp1251"">.
4194
4195Exemplos:
4196
4197<code>
4198        string web_page = readfile("http://gretl.sourceforge.net/")
4199        print web_page
4200
4201        string current_settings = readfile("@dotdir/.gretl2rc")
4202        print current_settings
4203</code>
4204
4205Veja também as funções <@ref="sscanf"> e <@ref="getline">.
4206
4207# regsub strings
4208Resultado: 	texto
4209Argumentos:	<@var="s">  (texto)
4210		<@var="match">  (texto)
4211		<@var="repl">  (texto)
4212
4213Retorna uma cópia de <@var="s"> onde todas as ocorrências do padrão <@var="match"> são substituídas por <@var="repl">. Os argumentos <@var="match"> e <@var="repl"> são interpretados como expressões regulares no estilo Perl.
4214
4215Veja também <@ref="strsub"> para substituições simples de textos.
4216
4217# remove data-utils
4218Resultado: 	número inteiro
4219Argumento: 	<@var="fname">  (texto)
4220
4221Deleta o arquivo <@var="fname"> caso ele exista e seja gravável pelo usuário. Retorna 0 em caso de sucesso e um valor não-nulo se o arquivo não existir ou não puder ser removido.
4222
4223Se <@var="fname"> contiver o caminho completo para o arquivo o Gretl tentará deletá-lo e retornará um erro se ele não existir ou não puder ser apagado por algum motivo (um exemplo seria um arquivo do tipo somente-leitura). Se <@var="fname"> não contiver o caminho completo então será assumido que o arquivo está no diretório de trabalho (<@xrf="workdir">). Se o arquivo não existir ou não for gravável o Gretl não irá procurá-lo em nenhum outro diretório.
4224
4225# replace data-utils
4226Resultado: 	o mesmo tipo que o argumento
4227Argumentos:	<@var="x">  (série ou matriz)
4228		<@var="find">  (escalar ou vetor)
4229		<@var="subst">  (escalar ou vetor)
4230
4231Substitui cada elemento de <@var="x"> igual ao <@mth="i">-ésimo elemento de <@var="find"> pelo correspondente elemento de <@var="subst">.
4232
4233Se <@var="find"> for um escalar, <@var="subst"> também deve ser um escalar. Se <@var="find"> e <@var="subst"> forem vetores, eles precisam ter o mesmo número de elementos. Mas se <@var="find"> for um vetor e <@var="subst"> um escalar, então todas as ocorrências serão substituídas por <@var="subst">.
4234
4235Exemplo:
4236
4237<code>
4238     a = {1,2,3;3,4,5}
4239     find = {1,3,4}
4240     subst = {-1,-8, 0}
4241     b = replace(a, find, subst)
4242     print a b
4243</code>
4244
4245produz
4246
4247<code>
4248          a (2 x 3)
4249
4250          1   2   3
4251          3   4   5
4252
4253          b (2 x 3)
4254
4255          -1    2   -8
4256          -8    0    5
4257</code>
4258
4259# resample stats
4260Resultado: 	o mesmo tipo que o argumento
4261Argumentos:	<@var="x">  (série ou matriz)
4262		<@var="blocksize">  (número inteiro, opcional)
4263
4264A descrição inicial desta função refere-se aos dados de corte transversal ou de séries de tempo. Ao final é tratado o caso de dados em painel.
4265
4266Realiza a reamostragem de <@var="x"> com substituição. Quando uma série é utilizada como argumento, cada valor da série de retorno, <@mth="y"><@sub="t">, é sorteado entre todos os valores de <@mth="x"><@sub="t"> com igual probabilidade. Quando uma matriz é utilizada como argumento, cada linha da matriz retornada é sorteada entre todas as linhas de <@var="x"> com igual probabilidade.
4267
4268O argumento opcional <@var="blocksize"> representa o tamanho do bloco para a reamostragem via deslocamento de blocos. Caso este argumento seja dado, ele deve ser um número inteiro positivo maior ou igual a 2. Ao se utilizar este argumento a saída é composta pela seleção aleatória com substituição de todas as sequências contíguas possíveis com tamanho igual ao valor de <@var="blocksize"> na entrada (no caso da utilização de matrizes na entrada as linhas são contíguas). Se o comprimento do dado não for um número inteiro e múltiplo do tamanho do bloco, o bloco selecionado será truncado para se ajustar.
4269
4270Se o argumento <@var="x"> for uma série e o conjunto de dados for do tipo painel, a reamostragem via deslocamento de blocos não é suportada. A forma básica de reamostragem é suportada, mas passa a ter a seguinte interpretação: os dados são reamostrado “por indivíduo”. Suponha que você tenha um painel no qual 100 indivíduos são observados ao longo de 5 períodos. Nesse caso a série retornada será novamente composta de 100 blocos de 5 observações: cada bloco será sorteado com igual probabilidade entre 100 séries de tempo individuais, com a ordem da série temporal sendo preservada.
4271
4272# round math
4273Resultado: 	o mesmo tipo que o argumento
4274Argumento: 	<@var="x">  (escalar, série ou matriz)
4275
4276Arredondamento para o número inteiro mais próximo. Note que quando <@mth="x"> estiver exatamente entre dois inteiros, o arredondamento é feito de moda a "se afastar de zero", assim, por exemplo, 2.5 é arredondado para 3, mas <@lit="round(-3.5)"> retorna –4. Esta é uma convenção comum em programas de planilha eletrônica, mas outros programas podem gerar resultados diferentes. Ver também <@ref="ceil">, <@ref="floor">, <@ref="int">.
4277
4278# rnameget strings
4279Resultado: 	texto ou cadeia de texto
4280Argumentos:	<@var="M">  (matriz)
4281		<@var="row">  (número inteiro, opcional)
4282
4283Se o argumento <@var="row"> for dado, retorna o nome da linha <@var="col"> da matriz <@var="M">. Se <@var="M"> não possuir nomes em suas linhas então será retornada um texto (string) vazio. Se <@var="row"> for maior que o número de linhas da matriz será sinalizado um erro.
4284
4285Se não se indicar o segundo argumento, retornará um vetor de texto contendo os nomes das linhas de <@var="M">, ou um vetor de texto vazio se <@var="M"> não tiver nomes de linhas atribuídos.
4286
4287Exemplo:
4288
4289<code>
4290     matrix A = { 11, 23, 13 ; 54, 15, 46 }
4291     rnameset(A, "First Second")
4292     string name = rnameget(A, 2)
4293     print name
4294</code>
4295
4296Ver também <@ref="rnameset">.
4297
4298# rnameset matrix
4299Resultado: 	número inteiro
4300Argumentos:	<@var="M">  (matriz)
4301		<@var="S">  (cadeia de texto ou lista)
4302
4303Adiciona nomes para as linhas da matriz <@var="M"> de ordem <@itl="m">×<@itl="n"> . Se <@var="S"> for uma lista, os nomes serão os das séries listadas. A lista precisa ter <@mth=" m"> membros. Se <@var="S"> for um arranjo (array) de variáveis de texto (string), ele precisa ter <@mth="m"> elementos. Para manter a compatibilidade com versões anteriores do Gretl, uma única variável de texto também pode ser utilizada como segundo argumento. Nesse caso ela precisa ter <@mth="m"> textos separados por espaços.
4304
4305Retorna o valor 0 se as linhas forem nomeadas com sucesso. Caso contrário será retornado um valor não-nulo. Veja também <@ref="cnameset">.
4306
4307Exemplo:
4308
4309<code>
4310     matrix M = {1, 2; 2, 1; 4, 1}
4311     strings S = array(3)
4312     S[1] = "Row1"
4313     S[2] = "Row2"
4314     S[3] = "Row3"
4315     rnameset(M, S)
4316     print M
4317</code>
4318
4319# rows matrix
4320Resultado: 	número inteiro
4321Argumento: 	<@var="X">  (matriz)
4322
4323Retorna o número de linhas da matriz <@var="X">. Ver também <@ref="cols">, <@ref="mshape">, <@ref="unvech">, <@ref="vec">, <@ref="vech">.
4324
4325# schur complex
4326Resultado: 	matriz complexa
4327Argumentos:	<@var="A">  (matriz complexa)
4328		<@var="&Z">  (referência a matriz, ou <@lit="null">)
4329		<@var="&w">  (referência a matriz, ou <@lit="null">)
4330
4331Executa a decomposição de Schur da matriz complexa <@var="A">, retornando uma matriz complexa triangular superior <@mth="T">. Caso seja fornecido o segundo argumento e seja diferente de <@lit="null"> a função retorna uma matriz complexa <@mth="Z"> contendo o vector de Schur associado a <@mth="A"> e <@mth="T">, tais que <@mth="A"> = <@mth="ZTZ"><@sup="H">. Se é dado um terceiro argumento retorna os valores próprios de <@mth="A"> num vector coluna complexo.
4332
4333# sd stats
4334Resultado: 	escalar ou série
4335Argumento: 	<@var="x">  (série ou lista)
4336
4337Se <@var="x"> for uma série a função retorna o desvio padrão amostral, descartando as observações ausentes.
4338
4339Se <@var="x"> for uma lista a função retorna uma série <@mth="y"> tal que <@mth="y"><@sub="t"> representa o desvio padrão amostral dos valores das variáveis na lista na observação <@mth="t">, ou <@lit="NA"> se existirem valores ausentes em <@mth="t">.
4340
4341Ver também <@ref="var">.
4342
4343# sdc stats
4344Resultado: 	vetor linha
4345Argumentos:	<@var="X">  (matriz)
4346		<@var="df">  (escalar, opcional)
4347
4348Retorna os desvios padrão das colunas da matriz <@var="X ">. Se <@var="df"> for positivo ele será utilizado como o divisor para as variâncias das colunas, caso contrário o divisor será igual ao número de linhas em <@var="X"> (isto é, não será aplicada a correção de graus de liberdade). Ver também <@ref="meanc">, <@ref="sumc">.
4349
4350# sdiff transforms
4351Resultado: 	o mesmo tipo que o argumento
4352Argumento: 	<@var="y">  (série ou lista)
4353
4354Calcula diferenças sazonais: <@mth="y(t) - y(t-k)">, onde <@mth="k"> é a periodicidade do conjunto de dados corrente (veja <@ref="$pd">). Valores iniciais são definidos como <@lit="NA">.
4355
4356Quando uma lista for retornada, as variáveis individuais são automaticamente nomeadas de acordo com o seguinte padrão <@lit="sd_"><@var="varname">, onde <@var="varname"> é o nome da série original. A porção que representa o nome original da série será truncado, caso seja necessário, e ajustado no caso de não ser único no conjunto de nomes assim construído.
4357
4358Ver também <@ref="diff">, <@ref="ldiff">.
4359
4360# seasonals data-utils
4361Resultado: 	lista
4362Argumentos:	<@var="baseline">  (número inteiro, opcional)
4363		<@var="center">  (booleano, opcional)
4364
4365Aplicável somente se o conjunto de dados tiver uma estrutura de série temporal com periodicidade maior que 1. Retorna uma lista com variáveis dummy que representam os períodos sazonais. As dummies sazonais são nomeadas como <@lit="S1">, <@lit="S2"> e assim por diante.
4366
4367O argumento opcional <@var="baseline"> pode ser utilizado para excluir um período do conjunto de dummies. Por exemplo, se for fornecido um valor igual a 1 em um conjunto de dados trimestrais a lista retornada conterá as dummies apenas para os trimestres 2, 3 e 4. Se este argumento for omitido ou for igual a 0 serão geradas as dummies para todos os períodos. É importante notar que o argumento deve ser um número inteiro e menor ou igual a periodicidade dos dados.
4368
4369O argumento <@var="center">, se for não-nulo, faz com que as dummies sejam centradas, isto é, que sejam subtraídas suas médias populacionais. Por exemplo, com dados trimestrais as dummies sazonais centradas terão valores iguais a –0.25 e 0.75 ao invés de 0 e 1.
4370
4371# selifc matrix
4372Resultado: 	matriz
4373Argumentos:	<@var="A">  (matriz)
4374		<@var="b">  (vetor linha)
4375
4376Seleciona em <@var="A"> apenas as colunas para as quais o elemento correspondente em <@var="b"> é não-nulo. <@var="b"> deve ser um vetor linha com o mesmo número de colunas de <@var="A">.
4377
4378Ver também <@ref="selifr">.
4379
4380# selifr matrix
4381Resultado: 	matriz
4382Argumentos:	<@var="A">  (matriz)
4383		<@var="b">  (vetor coluna)
4384
4385Seleciona em <@var="A"> apenas as linhas para as quais o elemento correspondente em <@var="b"> é não-nulo. <@var="b"> deve ser um vetor coluna com o mesmo número de linhas de <@var="A">.
4386
4387Ver também <@ref="selifc">, <@ref="trimr">.
4388
4389# seq matrix
4390Resultado: 	vetor linha
4391Argumentos:	<@var="a">  (escalar)
4392		<@var="b">  (escalar)
4393		<@var="k">  (escalar, opcional)
4394
4395Retorna um vetor com a sequência crescente de <@var="a"> até <@var="b"> se o primeiro argumento for menor que o segundo. Se o primeiro argumento for maior que o segundo a sequência será decrescente. Em ambos os casos o incremento/decremento será de 1 unidade.
4396
4397Se o argumento opcional <@var="k"> for dado a função retorna um vetor com a sequência iniciada em <@var="a"> e aumentada, caso <@var="a"> for menor <@var="b">), em <@var="k "> unidades a cada passo. A sequência será finalizada no maior valor possível que seja menor ou igual a <@var="b">. Se o primeiro argumento for maior que o segundo a sequência será reduzida em <@var="k"> unidades e será finalizada no menor valor possível que seja maior ou igual a <@var="b">). O argumento <@var="k "> deve ser positivo.
4398
4399Ver também <@ref="ones">, <@ref="zeros">.
4400
4401# setnote data-utils
4402Resultado: 	número inteiro
4403Argumentos:	<@var="b">  (lote)
4404		<@var="key">  (texto)
4405		<@var="note">  (texto)
4406
4407Insere uma nota descritiva para o objeto identificado por <@var="key"> em um pacote (bundle) <@var="b">. Esta nota será apresentada quando o comando <@lit="print"> for utilizado no pacote. A função retorna 0 em caso de sucesso e um valor não-nulo em caso de falha (por exemplo, se não existir o objeto <@var="key"> em <@var="b">).
4408
4409# sgn math
4410Resultado: 	o mesmo tipo que o argumento
4411Argumento: 	<@var="x">  (escalar, série ou matriz)
4412
4413Retorna o sinal do <@var="x">, ou seja, 0 se <@var="x"> é zero, 1 se <@var="x"> é positivo, –1 se <@var="x"> é negativo, ou <@lit="NA"> se <@var="x"> é um não-número (Not a Number).
4414
4415# simann numerical
4416Resultado: 	escalar
4417Argumentos:	<@var="&b">  (referência a matriz)
4418		<@var="f">  (chamada a função)
4419		<@var="maxit">  (número inteiro, opcional)
4420
4421Implementa o algoritmo “simulated annealing” (conhecido também por recozimento simulado) que pode ser útil para melhorar a questão da inicialização em problemas de otimização numérica.
4422
4423O primeiro argumento contém o valor inicial de vetor de parâmetros e o segundo especifica uma chamada de função que retorna o valor (escalar) valor da variável a ser maximizada. O terceiro argumento, que é opcional, especifica o número máximo de iterações (a quantidade padrão é 1024). Caso seja executada com sucesso, a função <@lit="simann "> retorna o valor final da variável a ser maximizada e <@var=" b"> armazena o vetor de parâmetros associado.
4424
4425Para maiores detalhes e exemplo veja <@pdf="guia de utilização do Gretl#chap:numerical"> (Capítulo 37). Ver também <@ref="BFGSmax">, <@ref="NRmax">.
4426
4427# sin math
4428Resultado: 	o mesmo tipo que o argumento
4429Argumento: 	<@var="x">  (escalar, série ou matriz)
4430
4431Retorna o seno de <@var="x">. Ver também <@ref="cos">, <@ref="tan">, <@ref="atan">.
4432
4433# sinh math
4434Resultado: 	o mesmo tipo que o argumento
4435Argumento: 	<@var="x">  (escalar, série ou matriz)
4436
4437Retorna o seno hiperbólico de <@var="x">.
4438
4439Ver também <@ref="asinh">, <@ref="cosh">, <@ref="tanh">.
4440
4441# skewness stats
4442Resultado: 	escalar
4443Argumento: 	<@var="x">  (série)
4444
4445Retorna o valor de assimetria para a série <@var="x">, descartando quaisquer observações ausentes.
4446
4447# sleep programming
4448Resultado: 	escalar
4449Argumento: 	<@var="ns">  (número inteiro)
4450
4451Faz com que o processo (thread) corrente “hiberne”— isto é, que interrompa suas atividades—por <@var="ns"> segundos. Ao despertar da hibernação, a função retorna o valor 0. Apesar de não ser diretamente relacionada à econometria, essa função pode ser útil para testes de métodos de paralelização.
4452
4453# smplspan data-utils
4454Resultado: 	escalar
4455Argumentos:	<@var="startobs">  (texto)
4456		<@var="endobs">  (texto)
4457		<@var="pd">  (número inteiro)
4458
4459Retorna o número de observações entre <@var="startobs"> e <@var="endobs"> (inclusive) de uma série temporal com frequência <@var="pd">.
4460
4461Os dois primeiros argumentos devem ser dados na forma padrão do Gretl para dados anuais, trimestrais ou mensais— por exemplo, <@lit="1970">, <@lit="1970:1"> ou <@lit="1970:01"> para cada uma das frequências, respectivamente—ou como datas no formato ISO 8601, <@lit="YYYY-MM-DD">.
4462
4463O argumento <@var="pd"> deve ser igual a 1, 4 ou 12 (anual, trimestral, mensal); uma das frequências diárias (5, 6, 7); ou 52 (semanal). Se <@var="pd"> for igual a 1, 4 ou 12, então pode-se utilizar datas no formato ISO 8601 nos dois primeiros argumentos se elas indicarem o início e o fim do período em questão. Por exemplo, <@lit="2015-04-01"> pode ser utilizada no lugar de <@lit="2015:2"> para representar o segundo trimestre de 2015.
4464
4465Se um conjunto de dados já aberto e com frequência <@var="pd">, com uma suficiente quantidade de observações, então o resultado dessa função poderia ser facilmente emulada utilizando <@ref="obsnum">. A vantagem de <@lit="smplspan"> é o fato de poder calcular o número de observações sem que seja necessário um conjunto de dados adequado (ou até mesmo nenhum conjunto de dados). Exemplo:
4466
4467<code>
4468     scalar T = smplspan("2010-01-01", "2015-12-31", 5)
4469     nulldata T
4470     setobs 7 2010-01-01
4471</code>
4472
4473O código acima produz o seguinte resultado:
4474
4475<code>
4476     ? scalar T = smplspan("2010-01-01", "2015-12-31", 5)
4477     Gerou-se o escalar T = 1565
4478     ? nulldata T
4479     periodicidade: 1, máx. obs: 1565
4480     intervalo das observações: 1 a 1565
4481     ? setobs 7 2010-01-01
4482     Intervalo completo dos dados: 2010-01-01 - 2014-04-14 (n = 1565)
4483</code>
4484
4485Após utilizar esse código pode-se ter a certeza de que a última observação no conjunto de dados criado via comando <@xrf="nulldata"> será <@lit="2015-12-31">. Note que a obtenção do número 1565 seria bem mais complicada de sem o uso dessa função.
4486
4487# sort matrix
4488Resultado: 	o mesmo tipo que o argumento
4489Argumento: 	<@var="x">  (série ou vetor)
4490
4491Ordena <@var="x"> de forma ascendente, descartando observações com valores ausentes quando <@mth="x"> for uma série. Ver também <@ref="dsort">, <@ref="values">. Especificamente para matrizes veja <@ref="msortby">.
4492
4493# sortby stats
4494Resultado: 	série
4495Argumentos:	<@var="y1">  (série)
4496		<@var="y2">  (série)
4497
4498Retorna uma série contendo os elementos de <@var="y2"> ordenados de acordo com os valores crescente do primeiro argumento <@var="y1">. Ver também <@ref="sort">, <@ref="ranking">.
4499
4500# sprintf strings
4501Resultado: 	texto
4502Argumentos:	<@var="format">  (texto)
4503		... (ver abaixo)
4504
4505O texto (string) retornado é construído pela exibição dos valores dos argumentos finais, indicados pelas reticências acima, sob o controle do argumento <@var="format">. Esta função tem como objetivo oferecer mais flexibilidade na criação de textos. O argumento <@var=" format"> é utilizado para especificar de uma maneira precisa a forma como você deseja que os argumentos sejam exibidos.
4506
4507Em geral, o argumento <@var="format"> (que pode ser chamado de texto de formatação) deve ser uma expressão avaliada como um texto, mas na maioria dos casos será apenas um texto literal (uma sequência alfanumérica delimitada por aspas duplas). Algumas sequências de caracteres em <@var="format"> têm um significado especial: aqueles iniciados pelo símbolo de porcentagem (%) são interpretados como “espaços reservados” para os ítens contidos na lista de argumentos. Além disso, caracteres especiais, tal como o que indica nova linha (<@lit="\n ">), são representados através da combinação com uma barra invertida.
4508
4509Por exemplo, o código a seguir
4510
4511<code>
4512     scalar x = sqrt(5)
4513     string claim = sprintf("sqrt(%d) é (aproximadamente) %6.4f.\n", 5, x)
4514     print claim
4515</code>
4516
4517irá produzir
4518
4519<code>
4520     sqrt(5) é (aproximadamente) 2.2361.
4521</code>
4522
4523A expressão <@lit="%d"> dentro do argumento <@var="format"> indica que queremos na saída um número inteiro neste local. Como é a expressão “porcento” mais a esquerda, ela então tem efeito sobre o primeiro argumento, isto é, 5. A segunda sequência especial é <@lit="%6.4f">, que indica um valor decimal com ao menos 6 dígitos de largura e com ao menos 4 casas decimais. A quantidade de sequências como estas deve coincidir com o número de argumentos após o texto de formatação.
4524
4525Ver também a ajuda para o comando <@xrf="printf"> para maiores detalhes sobre a sintaxe que você pode utilizar para a formatação de textos (strings).
4526
4527# sqrt math
4528Resultado: 	o mesmo tipo que o argumento
4529Argumento: 	<@var="x">  (escalar, série ou matriz)
4530
4531Retorna a raiz quadrada positiva de <@var="x">. Gera <@lit="NA"> quando utilizada em valores negativos.
4532
4533Note que se o argumento for uma matriz, a operação será realizada para cada elemento. Além disso, dado que as matrizes não podem conter valores <@lit="NA">, a função irá gerar um erro se existirem valores negativos. Para a “raiz quadrada matricial” veja <@ref="cholesky">.
4534
4535# square transforms
4536Resultado: 	lista
4537Argumentos:	<@var="L">  (lista)
4538		<@var="cross-products">  (booleano, opcional)
4539
4540Retorna uma lista contendo os quadrados das variáveis na lista <@var="L">. Seus elementos são nomeados de acordo com o seguinte esquema :<@lit="sq_"><@var="varname">. Se o segundo argumento (opcional) estiver presente e tiver um valor não-nulo, a lista também incluirá os produtos cruzados dos elementos de <@var="L"> que, por sua vez, são nomeados de acordo com o seguinte esquema: <@var="var1"><@lit="_"><@var="var2">. Nesses esquemas os nomes das séries de entrada serão truncados caso seja necessário e os nomes de saída podem ser ajustados em caso de de nomes duplicados na lista retornada.
4541
4542# sscanf strings
4543Resultado: 	número inteiro
4544Argumentos:	<@var="src">  (texto)
4545		<@var="format">  (texto)
4546		... (ver abaixo)
4547
4548Lê os valores de <@var="src"> sob controle do argumeto <@var="format"> e os usa para determinar os valores de um ou mais argumentos subsequentes, indicados pelas reticências acima. A função retorna o número de valores determinados. Esta é uma versão simplificada da função <@lit="sscanf"> na linguagem de programação C.
4549
4550O argumento <@var="src"> pode ser tanto um texto literal, delimitado por aspas duplas, ou o nome de uma variável de texto (string) previamente definida. O <@var="format"> é definido de forma similar ao texto de formatação utilizado em <@xrf="printf"> (mais detalhes serão dados abaixo). Os demais argumentos, representados acima pelas reticências devem ser uma lista separada por vírgulas contendo os nomes de variáveis pré-definidas: estas são os alvos da conversão de <@var="src">. Para os usuários com familiaridade com a linguagem C, pode-se prefixar os nomes de variáveis numéricas com <@lit="&">, mas isso não é uma exigência.
4551
4552O texto literal em <@var="format"> é comparado com <@var="src ">. Especificadores de conversão começam com <@lit="%">, sendo os especificadores reconhecidos <@lit="%f">, <@lit="%g"> ou <@lit="%lf"> para números de ponto flutuante; <@lit="%d"> para inteiros; <@lit="%s"> para textos; e <@lit="%m"> para matrizes. Você pode inserir um número inteiro positivo após o símbolo de porcentagem: isso ajusta o número máximo de caracteres a serem lidos por dado especificador de conversão (ou o número máximo de linhas no caso de conversão de matrizes). Alternativamente, você pode inserir um asterisco (<@lit="*">) após o símbolo de porcentagem para suprimir a conversão (ignorando assim quaisquer caracteres que teriam sido convertidos para um dado tipo). Por exemplo, <@lit="%3d"> converte os próximos 3 caracteres de <@var="source"> em um número inteiro, se possível; <@lit="%*g"> ignora a quantidade necessária de caracteres de <@var="source"> para que se obtenha apenas um número de ponto flutuante.
4553
4554A conversão de matrizes funciona da seguinte forma: a função lê uma linha da entrada e conta (com base na separação por espaço ou por tabulação) o número de campos numéricos. Isto define o número de colunas na matriz. Por padrão a leitura continua sendo feita enquanto enquanto a leitura de linhas devolver a mesma quantidade de colunas numéricas, mas o número máximo de linhas a serem lidas pode ser limitado de acorodo com o descrito acima.
4555
4556No caso de textos, em adição especificador <@lit="%s">, também é possível utilizar uma versão simplificada do formato utilizado na linguagem C: <@lit="%"><@var="N"><@lit="["><@var="chars "><@lit="]">. Neste formato <@var="N"> é o número máximo de caracteres a serem lidos <@var="chars"> é um conjunto de caracteres aceitáveis, delimitados por colchetes: a leitura para se <@var="N"> for atingido ou se um caractere que não está em <@var=" chars"> for encontrado. O comportamento de <@var="chars"> pode ser revertido se for utilizado um circunflexo, <@lit="^">, como sendo o primeiro caractere. Neste caso a leitura para se um caractere no dado conjunto for encontrado. Diferentemente de C, o hífen não exerce papel especial no conjunto <@var="chars">.
4557
4558Se o texto fonte (<@var="src">) não apresentar correspondência (completa) com o texto de formatação (<@var="format">), o número de conversões pode ficar abaixo do número de argumentos dados. Isto não é por si só um erro no que diz respeito ao Gretl. Caso queira verificar o número de conversões realizadas basta utilizar o valor retornado pela função.
4559
4560Alguns exemplos:
4561
4562<code>
4563     scalar x
4564     scalar y
4565     sscanf("123456", "%3d%3d", x, y)
4566
4567     S = sprintf("1 2 3 4\n5 6 7 8")
4568     S
4569     matrix m
4570     sscanf(S, "%m", m)
4571     print m
4572</code>
4573
4574# sst stats
4575Resultado: 	escalar
4576Argumento: 	<@var="y">  (série)
4577
4578Retorna a soma dos quadrados dos desvios em relação à média das observações não ausentes na série <@var="y">. Ver também <@ref="var">.
4579
4580# stack panel
4581Resultado: 	série
4582Argumentos:	<@var="L">  (lista)
4583		<@var="n">  (número inteiro)
4584		<@var="offset">  (número inteiro, opcional)
4585
4586Destina-se a manipular dados em séries temporais para o tipo de dados empilhados requerido por gretl para dados de painel. O valor retornado é uma série obtida por empilhar “verticalmente” <@var="n"> observations de cada série da lista <@var="L">. Por defeito, são usadas as primeiras <@var="n"> (correspondendo ao argumento <@var="offset"> = 0) mas o ponto inicial pode ser deslocado ao se fornecer um valor positivo para <@var="offset">. Se a série resultante for maior que o conjunto de dados existente, serão acrescentadas observações conforme necessário.
4587
4588Esta função pode lidar com dados de séries temporais lado-a-lado para um certo número de unidades de secção cruzada, e também no caso onde o tempo é expresso horizontalmente e cada linha representa uma unidade de secção cruzada.
4589
4590Ver a secção intitulada “Detalhes de dados de painel” em <@pdf="guia de utilização do Gretl#chap:datafiles"> (Capítulo 4) para mais detalhes e exemplos de uso.
4591
4592# stdize transforms
4593Resultado: 	o mesmo tipo que o argumento
4594Argumentos:	<@var="X">  (série, lista ou matriz)
4595		<@var="v">  (número inteiro, opcional)
4596
4597Por defeito, retorna uma versão padronizada da série, lista ou matriz: os dados de entrada são centrados e divididos pelo seu desvio padrão amostral (com uma correção de graus de liberdade de 1). Os resultados são calculados por coluna no caso de uma matriz.
4598
4599O segundo argumento (opcional) pode ser utilizado para influenciar o resultado. Um valor não negativo de <@var="v"> define os graus de liberdade usados no desvio padrão, assim, <@var="v"> = 0 resulta no estimador de máxima verosimilhança. Como caso especial, se <@var="v"> é igual a –1 apenas é feita a centragem.
4600
4601# strftime calendar
4602Resultado: 	texto
4603Argumentos:	<@var="t">  (escalar)
4604		<@var="formato">  (texto, opcional)
4605
4606O argumento <@var="t"> é interpretado como o número de segundos decorridos desde o início do ano 1970 no fuso horário UTC (Tempo Universal Coordenado, anteriomente designado como Tempo Médio de Greenwich (GMT) ); produz uma cadeia de texto com a data e hora correspondente. O formato por defeito é o mesmo que o padrão no sistema, mas pode ser modificado se o segundo argumento (opcional) é uma cadeia de texto de formatação.
4607
4608Os valores adequados como argumentos <@var="t"> para esta função podem ser obtidos a partir do acessor <@ref="$now"> ou da função <@ref="strptime">.
4609
4610Os detalhes da opção de formatação podem ser obtidos na página do manual de <@lit="strftime">, nos sistemas que o disponibilizam, ou num dos muitos sítios que têm essa informação, como por exemplo <@url="https://devhints.io/strftime">.
4611
4612# stringify strings
4613Resultado: 	número inteiro
4614Argumentos:	<@var="y">  (série)
4615		<@var="S">  (cadeia de texto)
4616
4617Fornece uma maneira de definir valores de texto para a série <@var="y">. Duas condições são necessárias para isso: a variável alvo deve ser formada apenas por números inteiros, com nenhum deles sendo menor que 1, e o arranjo (array) <@var="S "> deve possuir ao menos <@mth="n"> elementos, onde <@mth="n"> é o maior valor em <@var="y">. Adicionalmente, cada elemento de <@var="S"> deve estar representado com base na codificação UTF-8. Ver também <@ref="strvals">.
4618
4619O valor retornado é zero em caso de sucesso ou um código positivo de erro caso a função não tenha sucesso.
4620
4621# strlen strings
4622Resultado: 	número inteiro
4623Argumento: 	<@var="s">  (texto)
4624
4625Retorna o número de caracteres no texto (string) <@var="s">. Note que isso não será necessariamente igual ao número de bytes se alguns caracteres estiverem fora do intervalo de impressão ASCII.
4626
4627Exemplo:
4628
4629<code>
4630        string s = "regression"
4631        scalar number = strlen(s)
4632        print number
4633</code>
4634
4635# strncmp strings
4636Resultado: 	número inteiro
4637Argumentos:	<@var="s1">  (texto)
4638		<@var="s2">  (texto)
4639		<@var="n">  (número inteiro, opcional)
4640
4641Compara dois textos (string) e retorna um inteiro menor que, igual ou maior que 0 se <@var="s1"> se for, respectivamente menor que, igual ou maior que <@var="s2">, até o primeiro caractere <@var="n">. Se <@var="n"> for omitido a comparação irá prosseguir até onde for possível.
4642
4643Caso deseje apenas verificar se dois textos são iguais não é necessário utilizar esta função. Ao invés disso é pode-se usar a seguinte expressão: <@lit="if (s1 == s2)...">.
4644
4645# strptime calendar
4646Resultado: 	escalar
4647Argumentos:	<@var="s">  (texto)
4648		<@var="formato">  (texto)
4649
4650Esta função é a inversa de <@ref="strftime">; interpreta a cadeia de texto <@var="s"> como sendo data ou hora usando o <@var="formato"> especificado e retorna o número de segundos desde o início de 1970 (UTC).
4651
4652As opções para o <@var="formato"> estão disponíveis na página do manual de <@lit="strptime">, nos sistemas que o disponibilizam, ou num dos muitos sítios com essa informação, como por exemplo <@url="http://man7.org/linux/man-pages/man3/strptime.3.html">.
4653
4654O exemplo abaixo mostra como converter informação de data de um formato para outro.
4655
4656<code>
4657     scalar tm = strptime("Thursday 02/07/19", "%A %m/%d/%y")
4658     eval strftime(tm) # default output
4659     eval strftime(tm, "%d %B, %Y")
4660</code>
4661
4662Se a Língua é o Português, o resultado é
4663
4664<code>
4665          ? scalar tm = strptime("Thursday 02/07/19", "%A %m/%d/%y")
4666          Gerou-se o escalar tm = 1,5495e+09
4667          ? eval strftime(tm) # default output
4668          qui 07 fev 2019 00:00:00
4669          ? eval strftime(tm, "%d %B, %Y")
4670          07 fevereiro, 2019
4671</code>
4672
4673# strsplit strings
4674Resultado: 	texto ou cadeia de texto
4675Argumentos:	<@var="s">  (texto)
4676		<@var="i">  (número inteiro, opcional)
4677		<@var="sep">  (texto, opcional)
4678
4679Em seu uso mais simples, ou seja, com apenas um argumento, retorna o arranjo (array) com textos (string) resultante da separação de <@var="s"> de acordo com os espaços em branco.
4680
4681Se for fornecido um número inteiro e maior que zero como segundo argumento, retorna o elemento <@var="i"> do texto <@var="s">, após ter sido separado por espaços. Se <@var="i"> for menor irá gerar um erro. Se <@var="i"> for maior que o número total de elementos será retornado um texto vazio.
4682
4683O terceiro argumento opcional pode ser utilizado para definir qual será o critério a ser utilizado para separar <@var="s">. Por exemplo:
4684
4685<code>
4686      string basket = "banana,apple,jackfruit,orange"
4687      strings S = strsplit(basket,,",")
4688</code>
4689
4690Os comandos acima irão separar o texto de entrada em um vetor contendo quatro textos utilizando a vírgula como separadora. A vírgula “extra” na entrada acima serve para indicar que o argumento <@var="i"> não foi utilizado.
4691
4692As sequências de escape “<@lit="\n">” e “<@lit="\t">” são utilizadas para representar uma nova linha ou um espaço por tabulação no argumento opcional <@var="sep">. Caso o separador seja literalmente uma barra invertida deve-se utilizar a barra de forma duplicada, “<@lit="\\">”. Exemplo:
4693
4694<code>
4695      string s = "c:\fiddle\sticks"
4696      strings S = strsplit(s, "\\")
4697</code>
4698
4699# strstr strings
4700Resultado: 	texto
4701Argumentos:	<@var="s1">  (texto)
4702		<@var="s2">  (texto)
4703
4704Procura em <@var="s1"> o texto <@var="s2">. Se o texto for encontrado a função retorna uma cópia da parte de <@var="s1"> que começa com <@var="s2">, caso contrário retorna um texto vazio.
4705
4706Exemplo:
4707
4708<code>
4709        string s1 = "Gretl is an econometrics package"
4710        string s2 = strstr(s1, "an")
4711        print s2
4712</code>
4713
4714Se o objetivo for apenas verificar se <@var="s1"> contém <@var="s2"> (teste booleano), ver <@ref="instring">.
4715
4716# strstrip strings
4717Resultado: 	texto
4718Argumento: 	<@var="s">  (texto)
4719
4720Retorna uma cópia de <@var="s"> na qual os espaços em branco do início e do fim do texto são removidos.
4721
4722Exemplo:
4723
4724<code>
4725        string s1 = "    A lot of white space.  "
4726        string s2 = strstrip(s1)
4727        print s1 s2
4728</code>
4729
4730# strsub strings
4731Resultado: 	texto
4732Argumentos:	<@var="s">  (texto)
4733		<@var="find">  (texto)
4734		<@var="subst">  (texto)
4735
4736Retorna uma cópia de <@var="s"> na qual todas as ocorrências de <@var="find"> são substituídas por <@var="subst">. Veja também <@ref="regsub"> para substituições mais complexas via expressões regulares.
4737
4738Exemplo:
4739
4740<code>
4741        string s1 =  "Hello, Gretl!"
4742        string s2 = strsub(s1, "Gretl", "Hansl")
4743        print s2
4744</code>
4745
4746# strvals strings
4747Resultado: 	cadeia de texto
4748Argumento: 	<@var="y">  (série)
4749
4750Se uma série <@var="y"> for não-numérica, retorna um arranjo (array) contendo todos os seus valores distintos, ordenados pelos valores numéricos associados iniciados em 1. Se <@var="y"> não for não-numérico, retorna um arranjo de texto (strings) vazio. Observação: variáveis não-numéricas surgem, normalmente, quando existem séries cujas observações são textos. Ver também <@ref="stringify">.
4751
4752# substr strings
4753Resultado: 	texto
4754Argumentos:	<@var="s">  (texto)
4755		<@var="start">  (número inteiro)
4756		<@var="end">  (número inteiro)
4757
4758Retorna uma parte do texto <@var="s"> começando em <@var="start"> e terminando em <@var="end">, inclusive.
4759
4760Exemplos:
4761
4762<code>
4763        string s1 = "Hello, Gretl!"
4764        string s2 = substr(s1, 8, 12)
4765        string s3 = substr("Hello, Gretl!", 8, 12)
4766        print s2
4767        print s3
4768</code>
4769
4770Esses exemplos fornecem:
4771
4772<code>
4773      ? print s2
4774      Gretl
4775      ? print s3
4776      Gretl
4777</code>
4778
4779Deve-se notar que em alguns casos pode-se desejar trocar a clareza da sintaxe pela sua simplicidade e usar operadores de seleção e incremento. Por exemplo:
4780
4781<code>
4782          string s1 = "Hello, Gretl!"
4783          string s2 = s1[8:12]
4784          string s3 = s1 + 7
4785          print s2
4786          print s3
4787</code>
4788
4789Esses exemplos fornecem:
4790
4791<code>
4792      ? print s2
4793      Gretl
4794      ? print s3
4795      Gretl!
4796</code>
4797
4798# sum stats
4799Resultado: 	escalar ou série
4800Argumento: 	<@var="x">  (série, matriz ou lista)
4801
4802Se <@var="x"> for uma série, retorna a soma, na forma de um escalar, das observações não ausentes em <@var="x">. Veja também <@ref="sumall">.
4803
4804Se <@var="x"> for uma matriz, retorna a soma dos elementos da matriz.
4805
4806Se <@var="x"> for uma lista, retorna uma série <@mth="y"> na qual <@mth="y"><@sub="t"> é a soma dos valores das variáveis da lista na observação <@mth="t">, ou <@lit="NA"> se existir qualquer valor ausente em <@mth="t">.
4807
4808# sumall stats
4809Resultado: 	escalar
4810Argumento: 	<@var="x">  (série)
4811
4812Retorna a soma das observações de <@var="x"> dentro da amostra selecionada. Se existir qualquer valor ausente a função retornará <@lit="NA">. Use <@ref="sum"> caso deseje que os valores correntes sejam descartados.
4813
4814# sumc stats
4815Resultado: 	vetor linha
4816Argumento: 	<@var="X">  (matriz)
4817
4818Retorna um vetor com a soma das colunas de <@var="X"> Ver também <@ref="meanc">, <@ref="sumr">.
4819
4820# sumr stats
4821Resultado: 	vetor coluna
4822Argumento: 	<@var="X">  (matriz)
4823
4824Retorna um vetor com a soma das linhas de <@var="X"> Ver também <@ref="meanr">, <@ref="sumc">.
4825
4826# svd linalg
4827Resultado: 	vetor linha
4828Argumentos:	<@var="X">  (matriz)
4829		<@var="&U">  (referência a matriz, ou <@lit="null">)
4830		<@var="&V">  (referência a matriz, ou <@lit="null">)
4831
4832Realiza a decomposição em valores singulares da matriz <@var="X">.
4833
4834Os valores singulares são retornados em um vetor linha. Os vetores singulares à esquerda e/ou à direta <@mth="U"> e <@mth="V"> podem ser obtidos ao se fornecer valores não-nulos para os argumentos 2 e 3, respectivamente. Para qualquer matriz <@lit="A">, o código
4835
4836<code>
4837     s = svd(A, &U, &V)
4838     B = (U .* s) * V
4839</code>
4840
4841deve gerar <@lit="B"> idêntico a <@lit="A"> (desconsiderando as possíveis discrepâncias geradas pela questão da precisão de máquina).
4842
4843Ver também <@ref="eigengen">, <@ref="eigensym">, <@ref="qrdecomp">.
4844
4845# svm nonparam
4846Resultado: 	série
4847Argumentos:	<@var="L">  (lista)
4848		<@var="param">  (lote)
4849		<@var="bmod">  (referência a lote, opcional)
4850		<@var="bprob">  (referência a lote, opcional)
4851
4852Esta função permite o treinamento de um modelo SVM (Supervised Vector Machine) e a respectiva predição; o motor utilizado é a biblioteca LIBSVM. A lista passada como argumento <@var="L"> deve incluir a variável dependente, seguida pelas variáveis independentes, e o bundle <@var="param"> é usado para passar opções para o mecanismo SVM. A função retorna uma série contendo as predições SVM. Os dois outros parâmetros opcionais são ponteiros para bundles para recolher informação adicional após o treinamento e ou a predição.
4853
4854Para mais detalhes, consultar a documentação em PDF: <@mnu="gretlSVM">.
4855
4856# tan math
4857Resultado: 	o mesmo tipo que o argumento
4858Argumento: 	<@var="x">  (escalar, série ou matriz)
4859
4860Retorna a tangente de <@var="x">. Ver também <@ref="atan">, <@ref="cos">, <@ref="sin">.
4861
4862# tanh math
4863Resultado: 	o mesmo tipo que o argumento
4864Argumento: 	<@var="x">  (escalar, série ou matriz)
4865
4866Retorna a tangente hiperbólica de <@var="x">.
4867
4868Ver também <@ref="atanh">, <@ref="cosh">, <@ref="sinh">.
4869
4870# tdisagg transforms
4871Resultado: 	matriz
4872Argumentos:	<@var="Y">  (série ou matriz)
4873		<@var="X">  (série, lista ou matriz, opcional)
4874		<@var="s">  (escalar)
4875		<@var="opções">  (lote, opcional)
4876		<@var="resultados">  (lote, opcional)
4877
4878Produz desagregação temporal (conversão para maior frequência) da série temporal em <@var="Y">. O argumento <@var="s"> fornece o factor de expansão (por exemplo, 3 de trimestral para mensal). O argumento <@var="X"> pode conter uma ou mais covariáveis na frequência maior para auxiliar na desagregação. Podem ser passadas diversas opções em <@var="opções">, e os detalhes da desagregação podem ser obtidos por via nos <@var="resultados">.
4879
4880Ver mais detalhes em <@pdf="guia de utilização do Gretl#chap:tdisagg"> (Capítulo 9).
4881
4882# toepsolv linalg
4883Resultado: 	vetor coluna
4884Argumentos:	<@var="c">  (vetor)
4885		<@var="r">  (vetor)
4886		<@var="b">  (vetor)
4887
4888Resolve um sistema de Toeplitz de equações lineares, isto é <@mth="Tx = b"> onde <@mth="T "> é uma matriz quadrada cujo elemento <@mth="T"><@sub="i,j"> é igual a <@mth="c"><@sub="i-j"> para <@mth="i>=j"> e <@mth="r"><@sub="j-i"> para <@mth="i<=j">. Note que os primeiros elementos de <@mth="c"> e <@mth="r"> precisam ser iguais, caso contrário um erro é retornado. Se executada com sucesso, a função retorna o vetor <@mth="x">.
4889
4890O algoritmo utilizado por esta função se aproveita da estrutura especial que a matriz <@mth="T"> possui, o que o torna bem mais eficiente que outros algoritmos não especializados, em especial para grandes problemas. Atenção! Em certos casos a função pode, de forma espúria, emitir uma mensagem apontando que a matriz tem problemas de singularidade quando na verdade <@mth="T"> é não-singular. Este problema, entretanto, não pode ocorrer quando <@mth="T"> é definida positiva.
4891
4892# tolower strings
4893Resultado: 	texto
4894Argumento: 	<@var="s">  (texto)
4895
4896Retorna uma cópia de <@var="s"> na qual todos os caracteres maiúsculos são convertidos em minúsculos.
4897
4898Exemplos:
4899
4900<code>
4901        string s1 = "Hello, Gretl!"
4902        string s2 = tolower(s1)
4903        print s2
4904
4905        string s3 = tolower("Hello, Gretl!")
4906        print s3
4907</code>
4908
4909# toupper strings
4910Resultado: 	texto
4911Argumento: 	<@var="s">  (texto)
4912
4913Retorna uma cópia de <@var="s"> na qual todos os caracteres minúsculos são convertidos em maiúsculos.
4914
4915Exemplos:
4916
4917<code>
4918        string s1 = "Hello, Gretl!"
4919        string s2 = toupper(s1)
4920        print s2
4921
4922        string s3 = toupper("Hello, Gretl!")
4923        print s3
4924</code>
4925
4926# tr linalg
4927Resultado: 	escalar
4928Argumento: 	<@var="A">  (matriz quadrada)
4929
4930Retorna o traço de uma matriz quadrada <@var="A">, isto é, a soma dos elementos de sua diagonal. Ver também <@ref="diag">.
4931
4932# transp linalg
4933Resultado: 	matriz
4934Argumento: 	<@var="X">  (matriz)
4935
4936Retorna a transposta de <@var="X">. Observação: esta função é raramente utilizada. Para transpor uma matriz, na maior parte dos casos, pode-se simplesmente utilizar o operador de transposição: <@lit="X'">.
4937
4938# trimr matrix
4939Resultado: 	matriz
4940Argumentos:	<@var="X">  (matriz)
4941		<@var="ttop">  (número inteiro)
4942		<@var="tbot">  (número inteiro)
4943
4944Retorna uma cópia da matriz <@var="X"> com <@var=" ttop"> linhas superiores excluídas e <@var="tbot"> linhas inferiores excluídas. Os dois últimos argumentos devem ser não-negativos e sua soma deve ser menor que o total de linhas de <@var="X">.
4945
4946Ver também <@ref="selifr">.
4947
4948# typeof data-utils
4949Resultado: 	número inteiro
4950Argumento: 	<@var="name">  (texto)
4951
4952Retorna o código numérico de tipo se <@var="name"> for o identificador de um objeto definido: 1 para escalar, 2 para série, 3 para matriz, 4 para texto (string), 5 para pacote (bundle), 6 para arranjo (array) e 7 para lista. Caso contrário retorna 0. A função <@ref="typestr"> pode ser utilizada para obter o nome do objeto que corresponde ao código numérico.
4953
4954Essa função também pode ser utilizada para obter o tipo de um membro de um pacote ou de um elemento de um arranjo. Por exemplo:
4955
4956<code>
4957     matrices M = array(1)
4958     eval typestr(typeof(M))
4959     eval typestr(typeof(M[1]))
4960</code>
4961
4962O primeiro resultado do comando <@lit="eval"> é “array ” e o segundo é “matrix”.
4963
4964# typestr data-utils
4965Resultado: 	texto
4966Argumento: 	<@var="typecode">  (número inteiro)
4967
4968Retorna o nome do tipo de dado correspondente a <@var="typecode">. Pode ser utilizada em conjunto com as funções <@ref="typeof"> e <@ref="inbundle">. O valor retornado pode ser “scalar”, “series”, “matrix”, “string”, “bundle”, “array” ou “null”.
4969
4970# uniform probdist
4971Resultado: 	série
4972Argumentos:	<@var="a">  (escalar)
4973		<@var="b">  (escalar)
4974
4975Cria uma variável pseudo-aleatória uniforme no intervalo (<@var=" a">, <@var="b">) ou, se não forem fornecidos argumentos, será utilizado o intervalo (0,1). O algoritmo utilizado por padrão é o “SIMD-oriented Fast Mersenne Twister” desenvolvido por <@bib="Saito and Matsumoto (2008);saito_matsumoto08">.
4976
4977Ver também <@ref="randgen">, <@ref="normal">, <@ref="mnormal">, <@ref="muniform">.
4978
4979# uniq stats
4980Resultado: 	vetor coluna
4981Argumento: 	<@var="x">  (série ou vetor)
4982
4983Retorna um vetor contendo os elementos distintos de <@var="x "> de forma não ordenada, mas na ordem em que aparecem em <@var="x">. Veja <@ref="values"> para a variante desta função que retorna os valores ordenados.
4984
4985# unvech matrix
4986Resultado: 	matriz quadrada
4987Argumento: 	<@var="v">  (vetor)
4988
4989Retorna uma matriz simétrica de ordem <@itl="n">×<@itl="n"> rearranjando os elementos de <@mth="v">. O número de elementos de <@mth="v"> deve ser um inteiro triangular, ou seja, um número <@mth="k"> tal que exista um inteiro <@mth="n"> que tenha a seguinte propriedade: <@mth="k = n(n+1)/2">. Esta função é a inversa de <@ref="vech">.
4990
4991Ver também <@ref="mshape">, <@ref="vech">.
4992
4993# upper matrix
4994Resultado: 	matriz quadrada
4995Argumento: 	<@var="A">  (matriz quadrada)
4996
4997Retorna uma matriz triangular superior de ordem <@itl="n">×<@itl="n">. Os elementos da diagonal e acima desta são iguais aos elementos correspondentes de <@var="A"> e os demais iguais a zero.
4998
4999Ver também <@ref="lower">.
5000
5001# urcpval probdist
5002Resultado: 	escalar
5003Argumentos:	<@var="tau">  (escalar)
5004		<@var="n">  (número inteiro)
5005		<@var="niv">  (número inteiro)
5006		<@var="itv">  (número inteiro)
5007
5008<@mth="P">-valores para a estatística de teste do teste de raízes unitárias de Dickey–Fuller e do teste de cointegração de Engle–Granger, conforme <@bib="James MacKinnon (1996);mackinnon96">.
5009
5010Os argumentos dessa função são: <@var="tau"> representa a estatística de teste; <@var="n"> representa o número de observações (ou 0 para um resultado assintótico); <@var="niv"> representa o número de variáveis potencialmente cointegradas quando se estiver testando a cointegração (ou 1 para testes univariados de raiz unitária) e; <@var="itv"> é um código para a especificação do modelo: 1 para teste sem constante, 2 para teste com constante, 3 para teste com contante e tendência linear, 4 para teste com constante e tendência quadrática.
5011
5012Note que se a regressão de teste for “aumentada” com defasagens da variável dependente, então será necessário fornecer um valor <@var="n"> igual a 0 para obter resultados assintóticos.
5013
5014Ver também <@ref="pvalue">, <@ref="qlrpval">.
5015
5016# values stats
5017Resultado: 	vetor coluna
5018Argumento: 	<@var="x">  (série ou vetor)
5019
5020Retorna um vetor contendo os elementos distintos de <@var="x"> ordenados de forma ascendente. Caso deseje truncar a parte decimal antes de aplicar a função, utilize a expressão <@lit="values(int(x))">.
5021
5022Ver também <@ref="uniq">, <@ref="dsort">, <@ref="sort">.
5023
5024# var stats
5025Resultado: 	escalar ou série
5026Argumento: 	<@var="x">  (série ou lista)
5027
5028Se <@var="x"> for uma série, retorna a variância amostral na forma de um escalar, ignorando quaisquer observações ausentes.
5029
5030Se <@var="x"> for uma lista, retorna uma série <@mth="y"> tal que <@mth="y"><@sub="t"> é a variância amostral dos valores das variáveis na lista na observação <@mth="t">, ou <@lit="NA"> se existir algum valor ausente em <@mth="t">.
5031
5032Em cada caso, a soma dos desvios ao quadrado em relação à média é dividido por (<@mth="n"> – 1) para <@mth="n"> > 1. Caso contrário, a variância é igual a zero se <@mth="n "> = 1, ou é <@lit="NA"> se <@mth="n"> = 0.
5033
5034Ver também <@ref="sd">.
5035
5036# varname strings
5037Resultado: 	texto
5038Argumento: 	<@var="v">  (número inteiro ou lista)
5039
5040Se for utilizado um inteiro como argumento, a função retorna o nome da variável com número ID igual a <@var="v"> ou um erro se esta variável não existir.
5041
5042Se for utilizado uma lista como argumento, retorna o texto (string) contendo os nomes das variáveis na lista, separados por vírgulas. Se for fornecida uma lista vazia será retornado um texto vazio. Para obter um arranjo (array) de textos pode-se utilizar <@ref="varnames">.
5043
5044Exemplo:
5045
5046<code>
5047        open broiler.gdt
5048        string s = varname(7)
5049        print s
5050</code>
5051
5052# varnames strings
5053Resultado: 	cadeia de texto
5054Argumento: 	<@var="L">  (lista)
5055
5056Retorna um arranjo (array) de textos (string) contendo os nomes das variáveis na lista <@var="L">. Se a lista for vazia será retornado um arranjo vazio.
5057
5058Exemplo:
5059
5060<code>
5061        open keane.gdt
5062        list L = year wage status
5063        strings S = varnames(L)
5064        eval S[1]
5065        eval S[2]
5066        eval S[3]
5067</code>
5068
5069# varnum data-utils
5070Resultado: 	número inteiro
5071Argumento: 	<@var="varname">  (texto)
5072
5073Retorna o número ID da variável <@var="varname"> ou NA se a variável não existir.
5074
5075# varsimul timeseries
5076Resultado: 	matriz
5077Argumentos:	<@var="A">  (matriz)
5078		<@var="U">  (matriz)
5079		<@var="y0">  (matriz)
5080
5081Simula um VAR de ordem <@mth="p"> com <@mth="n"> variáveis, ou seja, <@mth="y(t) = A1 y(t-1) + ... + Ap y(t-p) + u(t)."> A matriz de coeficientes <@var="A"> é composta através do empilhamento das matrizes <@mth="A"><@sub="i"> horizontalmente, e tem ordem <@itl="n">×<@itl="np">, com uma linha por equação. Isso corresponde as primeiras <@mth="n"> linhas da matriz companheira, acessada via <@lit="$compan"> após o uso dos comandos <@lit="var"> e <@lit="vecm">.
5082
5083Os vetores <@mth="u_t"> estão contidos (como linhas) em <@var=" U"> (<@itl="T">×<@itl="n">). Valores iniciais estão contidos em <@var="y0"> (<@itl="p">×<@itl="n">).
5084
5085Se o VAR contiver termos determinísticos e/ou regressores exógenos, estes podem ser incluídos na matriz <@var="U">. Cada linha de <@var="U"> passa a incluir esses termos, ou seja, <@mth="u(t) = B'x(t) + e(t).">
5086
5087A matriz de saída tem <@mth="T"> + <@mth="p"> linhas e <@mth="n"> colunas e armazena os <@mth="p"> valores iniciais das variáveis endógenas mais <@mth="T"> valores simulados.
5088
5089Ver também <@ref="$compan">, <@xrf="var">, <@xrf="vecm">.
5090
5091# vec matrix
5092Resultado: 	vetor coluna
5093Argumento: 	<@var="X">  (matriz)
5094
5095Empilha as colunas de <@var="X"> como um vetor coluna. Ver também <@ref="mshape">, <@ref="unvech">, <@ref="vech">.
5096
5097# vech matrix
5098Resultado: 	vetor coluna
5099Argumento: 	<@var="A">  (matriz quadrada)
5100
5101Retorna em um vetor coluna os elementos de <@var="A"> que estão em sua diagonal e acima dela. Normalmente essa função é utilizada em matrizes simétricas. Neste caso a essa operação pode ser revertida através da função <@ref="unvech">. Ver também <@ref="vec">.
5102
5103# weekday calendar
5104Resultado: 	o mesmo tipo que o argumento
5105Argumentos:	<@var="ano">  (escalar ou série)
5106		<@var="mês">  (escalar ou série)
5107		<@var="dia">  (escalar ou série)
5108
5109Retorna o dia da semana (domingo = 0, segunda-feira = 1, etc.) para a(s) data(s) especificadas por três argumentos ou <@lit="NA"> se a data for inválida. Note que os três argumentos devem ser do mesmo tipo, ou seja, devem ser todos do tipo escalar (inteiro) ou todos do tipo séries.
5110
5111# wmean transforms
5112Resultado: 	série
5113Argumentos:	<@var="Y">  (lista)
5114		<@var="W">  (lista)
5115
5116Retorna uma série <@mth="y"> tal que <@mth="y"><@sub="t"> é a média ponderada dos valores das variáveis na lista <@var="Y"> na observação <@mth="t">, com os respectivos pesos dados pelos valores das variáveis na lista <@var="W"> em <@mth="t">. Os pesos podem assim variar no tempo. As listas <@var="Y"> e <@var="W"> devem ter o mesmo tamanho e os pesos devem ser não-negativos.
5117
5118Ver também <@ref="wsd">, <@ref="wvar">.
5119
5120# wsd transforms
5121Resultado: 	série
5122Argumentos:	<@var="Y">  (lista)
5123		<@var="W">  (lista)
5124
5125Retorna uma série <@mth="y"> tal que <@mth="y"><@sub="t"> é o desvio padrão amostral ponderado dos valores das variáveis na lista <@var="Y"> na observação <@mth="t">, com os respectivos pesos dados pelos valores das variáveis na lista <@var="W"> em <@mth="t">. Os pesos podem assim variar no tempo. As listas <@var="Y"> e <@var="W"> devem ter o mesmo tamanho e os pesos devem ser não-negativos.
5126
5127Ver também <@ref="wmean">, <@ref="wvar">.
5128
5129# wvar transforms
5130Resultado: 	série
5131Argumentos:	<@var="X">  (lista)
5132		<@var="W">  (lista)
5133
5134Retorna uma série <@mth="y"> tal que <@mth="y"><@sub="t"> é a variância amostral ponderada dos valores das variáveis na lista <@var="Y"> na observação <@mth="t">, com os respectivos pesos dados pelos valores das variáveis na lista <@var="W"> em <@mth="t">. Os pesos podem assim variar no tempo. As listas <@var="Y"> e <@var="W"> devem ter o mesmo tamanho e os pesos devem ser não-negativos.
5135
5136Ver também <@ref="wmean">, <@ref="wsd">.
5137
5138# xmax math
5139Resultado: 	escalar
5140Argumentos:	<@var="x">  (escalar)
5141		<@var="y">  (escalar)
5142
5143Retorna o maior valor na comparação entre <@var="x"> e <@var="y">. Se algum dos valores for ausente será retornado <@lit="NA">.
5144
5145Ver também <@ref="xmin">, <@ref="max">, <@ref="min">.
5146
5147# xmin math
5148Resultado: 	escalar
5149Argumentos:	<@var="x">  (escalar)
5150		<@var="y">  (escalar)
5151
5152Retorna o menor valor na comparação entre <@var="x"> e <@var="y">. Se algum dos valores for ausente será retornado <@lit="NA">.
5153
5154Ver também <@ref="xmax">, <@ref="max">, <@ref="min">.
5155
5156# xmlget data-utils
5157Resultado: 	texto
5158Argumentos:	<@var="buf">  (texto)
5159		<@var="path">  (texto ou cadeia de texto)
5160
5161O argumento <@var="buf"> deve ser um buffer XML, que pode ser obtido de alguma página na internet via função <@ref="curl"> (ou lida a partir de arquivo via função <@ref="readfile">), e o argumento <@var="path"> deve ser uma especificação única ou um vetor de especificações.
5162
5163Esta função retorna uma variável de texto (string) representando os dados encontrados no buffer XML no path especificado. Se múltiplos nós corresponderem com a expressão path, os itens dos dados são apresentados em linhas separadas no texto retornado. Se um vetor de paths for utilizado como segundo argumento, o texto retornado assume a forma de um buffer separado por vírgulas, com a coluna <@mth="i "> contendo as correspondências do path <@mth="i">. Nesse caso, se um texto obtido do buffer XML contiver quaisquer espaços ou vírgulas ela ficará entre aspas duplas.
5164
5165Por padrão um erro é sinalizado se <@var="path"> não encontrar correspondência no buffer XML, mas esse comportamento é modificado se o terceiro argumento, que é opcional, for dado: nesse caso o argumento recupera o número de correspondências e uma variável de texto vazia é retornada caso não haja correspondências. Exemplo:
5166
5167<code>
5168     ngot = 0
5169     ret = xmlget(xbuf, "//some/thing", &ngot)
5170</code>
5171
5172Entretanto, um erro ainda é sinalizado no caso de uma consulta (query) mal formada.
5173
5174Uma boa introdução sobre a utilização da sintaxe de XPath pode ser encontrada em <@url="https://www.w3schools.com/xml/xml_xpath.asp">. O backend para <@lit="xmlget"> é fornecido pelo módulo xpath do biblioteca libxml2 que, por sua vez, suporta o XPath 1.0 mas não o XPath 2.0.
5175
5176Ver também <@ref="jsonget">, <@ref="readfile">.
5177
5178# zeromiss transforms
5179Resultado: 	o mesmo tipo que o argumento
5180Argumento: 	<@var="x">  (escalar ou série)
5181
5182Converte zeros para <@lit="NA">s. Se <@var="x"> for uma série a conversão será feita elemento por elemento. Ver também <@ref="missing">, <@ref="misszero">, <@ref="ok">.
5183
5184# zeros matrix
5185Resultado: 	matriz
5186Argumentos:	<@var="r">  (número inteiro)
5187		<@var="c">  (número inteiro)
5188
5189Retorna uma matriz nula com <@mth="r"> linhas e <@mth="c"> colunas. Ver também <@ref="ones">, <@ref="seq">.
5190
5191