1 @c Language: Brazilian Portuguese, Encoding: iso-8859-1
2 @c /descriptive.texi/1.10/Sat Jun 2 00:13:14 2007//
4 * Introdução ao pacote descriptive::
5 * Funções e Variáveis Definidas para manipulação da dados::
6 * Funções e Variáveis Definidas para estatística descritiva::
7 * Funções e Variáveis Definidas específicas para estatística descritiva de várias variáveis::
8 * Funções e Variáveis Definidas para gráficos estatísticos::
11 @node Introdução ao pacote descriptive, Funções e Variáveis Definidas para manipulação da dados, descriptive, descriptive
12 @section Introdução ao pacote descriptive
14 O pacote @code{descriptive} contém um conjunto de funções para fazer cálculos de estatística descritiva e desenhar gráficos. Juntamente com o código fonte três conjuntos de dados em suar árvore do Maxima: @code{pidigits.data}, @code{wind.data} e @code{biomed.data}. Eles também podem ser baixados a partir de @code{www.biomates.net}.
16 Qualque manual de estatística pode ser usado como referência para as funções no pacote @code{descriptive}.
18 Para comentários, erros ou sugestões, por favor entre em contato comigo em @var{'mario AT edu DOT xunta DOT es'}.
20 Aqui está um exemplo sobre como as funções de estatística descritiva no pacote @code{descriptive} fazem esse trabalho, dependendo da natureza de seus argumentos, listas e matrizes,
23 @c load ("descriptive")$
24 @c /* univariate sample */ mean ([a, b, c]);
25 @c matrix ([a, b], [c, d], [e, f]);
26 @c /* amostra de várias variáveis */ mean (%);
29 (%i1) load ("descriptive")$
30 (%i2) /* univariate sample */ mean ([a, b, c]);
34 (%i3) matrix ([a, b], [c, d], [e, f]);
40 (%i4) /* amostra de várias variáveis */ mean (%);
42 (%o4) [---------, ---------]
46 Note que em amostras de várias variáveis a média é calculada em cada coluna.
48 No caso de muitas amostras amostras com possíveis tamanhos diferentes, A função do Maxima @code{map} pode ser usada para pegar os resultados desejados de cada amostra,
51 @c load ("descriptive")$
52 @c map (mean, [[a, b, c], [d, e]]);
55 (%i1) load ("descriptive")$
56 (%i2) map (mean, [[a, b, c], [d, e]]);
58 (%o2) [---------, -----]
62 Nesse caso, duas amostras de tamanhos 3 e 2 foram armazenadas em uma lista.
64 Amostras de uma única variável devem ser armazenadas em listas como
67 @c s1 : [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
70 (%i1) s1 : [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5];
71 (%o1) [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
74 e amostras de várias variáveis em matrizes como em
77 @c s2 : matrix ([13.17, 9.29], [14.71, 16.88], [18.50, 16.88],
78 @c [10.58, 6.63], [13.33, 13.25], [13.21, 8.12]);
81 (%i1) s2 : matrix ([13.17, 9.29], [14.71, 16.88], [18.50, 16.88],
82 [10.58, 6.63], [13.33, 13.25], [13.21, 8.12]);
96 Nesse caso, o número de colunas é igual à dimensão (ao número) de variáveis e o n;umero de linhas é o tamano da amostra.
98 Dados podem ser introduzidos manualmente, mas grandes amostras são usualmente armazenadas em arquivos no formato texto plano. Por exemplo, o arquivo @code{pidigits.data} contém os primeiros 100 dígitos do número @code{%pi}:
112 Com o objetivo de chamar esses dígitos no Maxima,
115 @c load ("numericalio")$
116 @c s1 : read_list (file_search ("pidigits.data"))$
120 (%i1) load ("numericalio")$
121 (%i2) s1 : read_list (file_search ("pidigits.data"))$
126 Por outro lado, o arquivo @code{wind.data} contém a média diária de velocidades do ventoem 5 estações meteorológicas na República da Irlanda (Esses dados são parte de um conjunto de dados tomados em 12 estações meteorológicas. O arquivo original está disponivel livremente para download no Repositório de Dados StatLib e sua análise é discutida em Haslett, J., Raftery, A. E. (1989) @var{Space-time Modelling with Long-memory Dependence: Assessing Ireland's Wind Power Resource, with Discussion}. Applied Statistics 38, 1-50). As linhas seguintes mostram como tornar os dados disponíveis para o Maxima:
129 @c load ("numericalio")$
130 @c s2 : read_matrix (file_search ("wind.data"))$
132 @c s2 [%]; /* last record */
135 (%i1) load ("numericalio")$
136 (%i2) s2 : read_matrix (file_search ("wind.data"))$
139 (%i4) s2 [%]; /* last record */
140 (%o4) [3.58, 6.0, 4.58, 7.62, 11.25]
143 Algumas amostras possuem dados não numéricos. Como um exemplo, o arquivo @code{biomed.data} (que é parte de outro grande arquivo tomado do Repósitório de Dados StatLib) contém quatro medidas sang@"{u}íneas tomadas de dois grupos de pacientes, @code{A} e @code{B}, de diferentes idades,
146 @c load ("numericalio")$
147 @c s3 : read_matrix (file_search ("biomed.data"))$
149 @c s3 [1]; /* first record */
152 (%i1) load ("numericalio")$
153 (%i2) s3 : read_matrix (file_search ("biomed.data"))$
156 (%i4) s3 [1]; /* first record */
157 (%o4) [A, 30, 167.0, 89.0, 25.6, 364]
160 O primeiro indivíduo pertence ao grupo @code{A}, com 30 anos de idade e suas medidas sang@"{u}íneas foram 167.0, 89.0, 25.6 e 364.
162 Se deve tomar cuidado quando se trabalha com dados divididos por categorias. no exemplo seguinte, ao símbolo @code{a} é atribuído um valor em algum momento anterior e então a amostra com valores divididos por categoria @code{a} é interpretada como,
166 @c matrix ([a, 3], [b, 5]);
170 (%i2) matrix ([a, 3], [b, 5]);
178 @node Funções e Variáveis Definidas para manipulação da dados, Funções e Variáveis Definidas para estatística descritiva, Introdução ao pacote descriptive, descriptive
179 @section Funções e Variáveis Definidas para manipulação da dados
181 @deffn {Função} continuous_freq (@var{list})
182 @deffnx {Função} continuous_freq (@var{list}, @var{m})
183 O argumetno de @code{continuous_freq} deve ser uma lista de números, que serão então agrupadas em intervalos e contado quantos desses dados pertencem a cada grupo. Opcionalmente, a função @code{continuous_freq} admite um segundo argumento indicando o número de classes, 10 é o valor padrão,
186 @c load ("numericalio")$
187 @c load ("descriptive")$
188 @c s1 : read_list (file_search ("pidigits.data"))$
189 @c continuous_freq (s1, 5);
192 (%i1) load ("numericalio")$
193 (%i2) load ("descriptive")$
194 (%i3) s1 : read_list (file_search ("pidigits.data"))$
195 (%i4) continuous_freq (s1, 5);
196 (%o4) [[0, 1.8, 3.6, 5.4, 7.2, 9.0], [16, 24, 18, 17, 25]]
199 A primeira lista contém os limites de intervalos e o segundo a correspondente contagem: existem 16 algarismos da parte decimal de @code{%pi} dentro do intervalo @code{[0, 1.8]}, isto é 0's e 1's, 24 algarismos em @code{(1.8, 3.6]}, isto é 2's e 3's, e assim por diante.
204 @deffn {Função} discrete_freq (@var{list})
205 Conta as freq@"{u}ências absolutas em amostras discretas, em amostras numéricas e em amostras divididas em categorias. Seu único argumento é uma lista,
208 @c load ("descriptive")$
209 @c load ("numericalio")$
210 @c s1 : read_list (file_search ("pidigits.data"));
211 @c discrete_freq (s1);
214 (%i1) load ("descriptive")$
215 (%i2) load ("numericalio")$
216 (%i3) s1 : read_list (file_search ("pidigits.data"));
217 (%o3) [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8,
218 4, 6, 2, 6, 4, 3, 3, 8, 3, 2, 7, 9, 5, 0, 2, 8, 8, 4, 1, 9, 7,
219 1, 6, 9, 3, 9, 9, 3, 7, 5, 1, 0, 5, 8, 2, 0, 9, 7, 4, 9, 4, 4,
220 5, 9, 2, 3, 0, 7, 8, 1, 6, 4, 0, 6, 2, 8, 6, 2, 0, 8, 9, 9, 8,
221 6, 2, 8, 0, 3, 4, 8, 2, 5, 3, 4, 2, 1, 1, 7, 0, 6, 7]
222 (%i4) discrete_freq (s1);
223 (%o4) [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
224 [8, 8, 12, 12, 10, 8, 9, 8, 12, 13]]
227 A primeira lista fornece os valores da amostra e a segunda seuas freq@"{u}ências absolutas. Os comandos @code{? col} e @code{? transpose} podem ajudar a você a entender a última entrada.
232 @deffn {Função} subsample (@var{matriz_de_dados}, @var{expressão_lógica})
233 @deffnx {Função} subsample (@var{matriz_de_dados}, @var{expressão_lógica}, @var{col_num}, @var{col_num}, ...)
234 Essas funções são um tipo de variação da função @code{submatrix} do Maxima. O primeiro argumento é o nome da matriz de dados, o segundo argumento é uma expressão lógica que recebeu apóstrofo e os argumentos opcionais adicionais são o número de colunas a serem tomadas. Esse comportamento é melhor entendido com exemplos,
237 @c load ("descriptive")$
238 @c load ("numericalio")$
239 @c s2 : read_matrix (file_search ("wind.data"))$
240 @c subsample (s2, '(%c[1] > 18));
243 (%i1) load ("descriptive")$
244 (%i2) load ("numericalio")$
245 (%i3) s2 : read_matrix (file_search ("wind.data"))$
246 (%i4) subsample (s2, '(%c[1] > 18));
247 [ 19.38 15.37 15.12 23.09 25.25 ]
249 [ 18.29 18.66 19.08 26.08 27.63 ]
251 [ 20.25 21.46 19.95 27.71 23.38 ]
253 [ 18.79 18.96 14.46 26.38 21.84 ]
256 Existem registros de várias variáveis nos quais a velocidade do vento na primeira estação meteorológica foram maiores que 18. Veja que na expressão lógica que recebeu apóstrofo o @var{i}-ésimo componente é referenciado como @code{%c[i]}. O símbolo @code{%c[i]} é usado dentro da função @code{subsample}, portanto quando usado como uma variável de uma categoria, Maxima fica confuso. No seguinte exemplo, requisitamos somente o primeiro, o segundo e o quinto componentes desses registro com velocidades de vento maiores que ou igual a 16 nós na estação meteorológica número 1 e menor que 25 nós na estação meteorológica número 4,
259 @c load ("descriptive")$
260 @c load ("numericalio")$
261 @c s2 : read_matrix (file_search ("wind.data"))$
262 @c subsample (s2, '(%c[1] >= 16 and %c[4] < 25), 1, 2, 5);
265 (%i1) load ("descriptive")$
266 (%i2) load ("numericalio")$
267 (%i3) s2 : read_matrix (file_search ("wind.data"))$
268 (%i4) subsample (s2, '(%c[1] >= 16 and %c[4] < 25), 1, 2, 5);
269 [ 19.38 15.37 25.25 ]
271 [ 17.33 14.67 19.58 ]
273 [ 16.92 13.21 21.21 ]
275 [ 17.25 18.46 23.87 ]
278 Aqui está um exemplo com as variáveis divididas em categorias do arquivo @code{biomed.data}. Queremos os registros correspondentes a aqueles pacientes no grupo @code{B} que possuem idade maior que 38 anos,
281 @c load ("descriptive")$
282 @c load ("numericalio")$
283 @c s3 : read_matrix (file_search ("biomed.data"))$
284 @c subsample (s3, '(%c[1] = B and %c[2] > 38));
287 (%i1) load ("descriptive")$
288 (%i2) load ("numericalio")$
289 (%i3) s3 : read_matrix (file_search ("biomed.data"))$
290 (%i4) subsample (s3, '(%c[1] = B and %c[2] > 38));
291 [ B 39 28.0 102.3 17.1 146 ]
293 [ B 39 21.0 92.4 10.3 197 ]
295 [ B 39 23.0 111.5 10.0 133 ]
297 [ B 39 26.0 92.6 12.3 196 ]
299 [ B 39 25.0 98.7 10.0 174 ]
301 [ B 39 21.0 93.2 5.9 181 ]
303 [ B 39 18.0 95.0 11.3 66 ]
305 [ B 39 39.0 88.5 7.6 168 ]
309 Probavelmente, a análise estatística irá envolver somente as medidas sang@"{u}íneas,
312 @c load ("descriptive")$
313 @c load ("numericalio")$
314 @c s3 : read_matrix (file_search ("biomed.data"))$
315 @c subsample (s3, '(%c[1] = B and %c[2] > 38), 3, 4, 5, 6);
318 (%i1) load ("descriptive")$
319 (%i2) load ("numericalio")$
320 (%i3) s3 : read_matrix (file_search ("biomed.data"))$
321 (%i4) subsample (s3, '(%c[1] = B and %c[2] > 38), 3, 4, 5, 6);
322 [ 28.0 102.3 17.1 146 ]
324 [ 21.0 92.4 10.3 197 ]
326 [ 23.0 111.5 10.0 133 ]
328 [ 26.0 92.6 12.3 196 ]
330 [ 25.0 98.7 10.0 174 ]
332 [ 21.0 93.2 5.9 181 ]
334 [ 18.0 95.0 11.3 66 ]
336 [ 39.0 88.5 7.6 168 ]
340 Essa é a média de várias variáveis de @code{s3},
343 @c load ("descriptive")$
344 @c load ("numericalio")$
345 @c s3 : read_matrix (file_search ("biomed.data"))$
349 (%i1) load ("descriptive")$
350 (%i2) load ("numericalio")$
351 (%i3) s3 : read_matrix (file_search ("biomed.data"))$
353 65 B + 35 A 317 6 NA + 8145.0
354 (%o4) [-----------, ---, 87.178, -------------, 18.123,
360 Aqui, a primeira componente é sem sentido, uma vez que @code{A} e @code{B} são categorias, o segundo componente é a idade média dos indivíduos na forma racional, e o quarto eo último valores exibem um comportamento estranho. Isso ocorre porque o símbolo @code{NA} é usado aqui para indicar dado não disponível (@var{non available} em inglês), e as duas médias são certamente sem sentido. Uma solução possível pode ser jogar fora a matriz cujas linhas possuam símbolos @code{NA}, embora isso cause alguma perda de informação,
363 @c load ("descriptive")$
364 @c load ("numericalio")$
365 @c s3 : read_matrix (file_search ("biomed.data"))$
366 @c mean (subsample (s3, '(%c[4] # NA and %c[6] # NA), 3, 4, 5, 6));
369 (%i1) load ("descriptive")$
370 (%i2) load ("numericalio")$
371 (%i3) s3 : read_matrix (file_search ("biomed.data"))$
372 (%i4) mean (subsample (s3, '(%c[4] # NA and %c[6] # NA), 3, 4, 5, 6));
373 (%o4) [79.4923076923077, 86.2032967032967, 16.93186813186813,
381 @node Funções e Variáveis Definidas para estatística descritiva, Funções e Variáveis Definidas específicas para estatística descritiva de várias variáveis, Funções e Variáveis Definidas para manipulação da dados, descriptive
382 @section Funções e Variáveis Definidas para estatística descritiva
386 @deffn {Função} mean (@var{lista})
387 @deffnx {Função} mean (@var{matriz})
388 Essa função calcula a média de uma amostra, definida como
412 $${\bar{x}={1\over{n}}{\sum_{i=1}^{n}{x_{i}}}}$$
418 @c load ("descriptive")$
419 @c load ("numericalio")$
420 @c s1 : read_list (file_search ("pidigits.data"))$
423 @c s2 : read_matrix (file_search ("wind.data"))$
427 (%i1) load ("descriptive")$
428 (%i2) load ("numericalio")$
429 (%i3) s1 : read_list (file_search ("pidigits.data"))$
436 (%i6) s2 : read_matrix (file_search ("wind.data"))$
438 (%o7) [9.9485, 10.1607, 10.8685, 15.7166, 14.8441]
444 @deffn {Função} var (@var{list})
445 @deffnx {Função} var (@var{matrix})
446 This is the sample variance, defined as
470 $${{1}\over{n}}{\sum_{i=1}^{n}{(x_{i}-\bar{x})^2}}$$
476 @c load ("descriptive")$
477 @c load ("numericalio")$
478 @c s1 : read_list (file_search ("pidigits.data"))$
482 (%i1) load ("descriptive")$
483 (%i2) load ("numericalio")$
484 (%i3) s1 : read_list (file_search ("pidigits.data"))$
485 (%i4) var (s1), numer;
486 (%o4) 8.425899999999999
489 See also function @code{var1}.
494 @deffn {Função} var1 (@var{lista})
495 @deffnx {Função} var1 (@var{matriz})
496 Essa função calcula a variância da amostra, definida como
520 $${{1\over{n-1}}{\sum_{i=1}^{n}{(x_{i}-\bar{x})^2}}}$$
526 @c load ("descriptive")$
527 @c load ("numericalio")$
528 @c s1 : read_list (file_search ("pidigits.data"))$
530 @c s2 : read_matrix (file_search ("wind.data"))$
534 (%i1) load ("descriptive")$
535 (%i2) load ("numericalio")$
536 (%i3) s1 : read_list (file_search ("pidigits.data"))$
537 (%i4) var1 (s1), numer;
538 (%o4) 8.5110101010101
539 (%i5) s2 : read_matrix (file_search ("wind.data"))$
541 (%o6) [17.39586540404041, 15.13912778787879, 15.63204924242424,
542 32.50152569696971, 24.66977392929294]
545 See also function @code{var}.
550 @deffn {Função} std (@var{lista})
551 @deffnx {Função} std (@var{matriz})
552 A raíz quadrada da função @code{var}, a variância com denominador @math{n}.
557 @c load ("descriptive")$
558 @c load ("numericalio")$
559 @c s1 : read_list (file_search ("pidigits.data"))$
561 @c s2 : read_matrix (file_search ("wind.data"))$
565 (%i1) load ("descriptive")$
566 (%i2) load ("numericalio")$
567 (%i3) s1 : read_list (file_search ("pidigits.data"))$
568 (%i4) std (s1), numer;
569 (%o4) 2.902740084816414
570 (%i5) s2 : read_matrix (file_search ("wind.data"))$
572 (%o6) [4.149928523480858, 3.871399812729241, 3.933920277534866,
573 5.672434260526957, 4.941970881136392]
576 Veja também as funções @code{var} e @code{std1}.
581 @deffn {Função} std1 (@var{lista})
582 @deffnx {Função} std1 (@var{matriz})
583 É a raíz quadrada da função @code{var1}, a variância com denominador @math{n-1}.
588 @c load ("descriptive")$
589 @c load ("numericalio")$
590 @c s1 : read_list (file_search ("pidigits.data"))$
592 @c s2 : read_matrix (file_search ("wind.data"))$
596 (%i1) load ("descriptive")$
597 (%i2) load ("numericalio")$
598 (%i3) s1 : read_list (file_search ("pidigits.data"))$
599 (%i4) std1 (s1), numer;
600 (%o4) 2.917363553109228
601 (%i5) s2 : read_matrix (file_search ("wind.data"))$
603 (%o6) [4.17083509672109, 3.89090320978032, 3.953738641137555,
604 5.701010936401517, 4.966867617451963]
607 Veja também as funções @code{var1} e @code{std}.
612 @deffn {Função} noncentral_moment (@var{lista}, @var{k})
613 @deffnx {Função} noncentral_moment (@var{matriz}, @var{k})
614 O momento não central de ordem @math{k}, definido como
638 $${{1\over{n}}{\sum_{i=1}^{n}{x_{i}^k}}}$$
644 @c load ("descriptive")$
645 @c load ("numericalio")$
646 @c s1 : read_list (file_search ("pidigits.data"))$
647 @c noncentral_moment (s1, 1), numer; /* the mean */
648 @c s2 : read_matrix (file_search ("wind.data"))$
649 @c noncentral_moment (s2, 5);
652 (%i1) load ("descriptive")$
653 (%i2) load ("numericalio")$
654 (%i3) s1 : read_list (file_search ("pidigits.data"))$
655 (%i4) noncentral_moment (s1, 1), numer; /* the mean */
657 (%i6) s2 : read_matrix (file_search ("wind.data"))$
658 (%i7) noncentral_moment (s2, 5);
659 (%o7) [319793.8724761506, 320532.1923892463, 391249.5621381556,
660 2502278.205988911, 1691881.797742255]
663 Veja também a função @code{central_moment}.
668 @deffn {Função} central_moment (@var{lista}, @var{k})
669 @deffnx {Função} central_moment (@var{matriz}, @var{k})
670 O momento central de ordem @math{k}, definido como
694 $${{1\over{n}}{\sum_{i=1}^{n}{(x_{i}-\bar{x})^k}}}$$
700 @c load ("descriptive")$
701 @c load ("numericalio")$
702 @c s1 : read_list (file_search ("pidigits.data"))$
703 @c central_moment (s1, 2), numer; /* the variance */
704 @c s2 : read_matrix (file_search ("wind.data"))$
705 @c central_moment (s2, 3);
708 (%i1) load ("descriptive")$
709 (%i2) load ("numericalio")$
710 (%i3) s1 : read_list (file_search ("pidigits.data"))$
711 (%i4) central_moment (s1, 2), numer; /* a variância */
712 (%o4) 8.425899999999999
713 (%i6) s2 : read_matrix (file_search ("wind.data"))$
714 (%i7) central_moment (s2, 3);
715 (%o7) [11.29584771375004, 16.97988248298583, 5.626661952750102,
716 37.5986572057918, 25.85981904394192]
719 Veja também as funções @code{central_moment} e @code{mean}.
724 @deffn {Função} cv (@var{lista})
725 @deffnx {Função} cv (@var{matriz})
726 O coeficiente de variação é o quociente entre o desvio padrão da amostra (@code{std}) e a média @code{mean},
729 @c load ("descriptive")$
730 @c load ("numericalio")$
731 @c s1 : read_list (file_search ("pidigits.data"))$
733 @c s2 : read_matrix (file_search ("wind.data"))$
737 (%i1) load ("descriptive")$
738 (%i2) load ("numericalio")$
739 (%i3) s1 : read_list (file_search ("pidigits.data"))$
740 (%i4) cv (s1), numer;
741 (%o4) .6193977819764815
742 (%i5) s2 : read_matrix (file_search ("wind.data"))$
744 (%o6) [.4192426091090204, .3829365309260502, 0.363779605385983,
745 .3627381836021478, .3346021393989506]
748 Veja também as funções @code{std} e @code{mean}.
753 @deffn {Função} mini (@var{lista})
754 @deffnx {Função} mini (@var{matriz})
755 É o valor mínimo da amostra @var{lista},
758 @c load ("descriptive")$
759 @c load ("numericalio")$
760 @c s1 : read_list (file_search ("pidigits.data"))$
762 @c s2 : read_matrix (file_search ("wind.data"))$
766 (%i1) load ("descriptive")$
767 (%i2) load ("numericalio")$
768 (%i3) s1 : read_list (file_search ("pidigits.data"))$
771 (%i5) s2 : read_matrix (file_search ("wind.data"))$
773 (%o6) [0.58, 0.5, 2.67, 5.25, 5.17]
776 Veja também função @code{maxi}.
781 @deffn {Função} maxi (@var{lista})
782 @deffnx {Função} maxi (@var{matriz})
783 É o valor máximo da amostra @var{lista},
786 @c load ("descriptive")$
787 @c load ("numericalio")$
788 @c s1 : read_list (file_search ("pidigits.data"))$
790 @c s2 : read_matrix (file_search ("wind.data"))$
794 (%i1) load ("descriptive")$
795 (%i2) load ("numericalio")$
796 (%i3) s1 : read_list (file_search ("pidigits.data"))$
799 (%i5) s2 : read_matrix (file_search ("wind.data"))$
801 (%o6) [20.25, 21.46, 20.04, 29.63, 27.63]
804 Veja também a função @code{mini}.
809 @deffn {Função} range (@var{lista})
810 @deffnx {Função} range (@var{matriz})
811 A amplitude é a diferença entre os valores de maximo e de mínimo.
816 @c load ("descriptive")$
817 @c load ("numericalio")$
818 @c s1 : read_list (file_search ("pidigits.data"))$
820 @c s2 : read_matrix (file_search ("wind.data"))$
824 (%i1) load ("descriptive")$
825 (%i2) load ("numericalio")$
826 (%i3) s1 : read_list (file_search ("pidigits.data"))$
829 (%i5) s2 : read_matrix (file_search ("wind.data"))$
831 (%o6) [19.67, 20.96, 17.37, 24.38, 22.46]
837 @deffn {Função} quantile (@var{lista}, @var{p})
838 @deffnx {Função} quantile (@var{matriz}, @var{p})
839 É o @var{p}-@code{quantile} (quantil de ordem @var{p}), com @var{p} sendo um número em @math{[0, 1]} (intervalo fechado), da amostra @var{lista}.
840 Embora exista muitas definições para quantil de uma amostra (Hyndman, R. J., Fan, Y. (1996) @var{Sample quantiles in statistical packages}. American Statistician, 50, 361-365), aquela que se baseia em interpolação linear é a que foi implementada no pacote @code{descriptive}.
845 @c load ("descriptive")$
846 @c load ("numericalio")$
847 @c s1 : read_list (file_search ("pidigits.data"))$
848 @c /* 1st and 3rd quartiles */ [quantile (s1, 1/4), quantile (s1, 3/4)], numer;
849 @c s2 : read_matrix (file_search ("wind.data"))$
850 @c quantile (s2, 1/4);
853 (%i1) load ("descriptive")$
854 (%i2) load ("numericalio")$
855 (%i3) s1 : read_list (file_search ("pidigits.data"))$
856 (%i4) /* 1st and 3rd quartiles */ [quantile (s1, 1/4), quantile (s1, 3/4)], numer;
858 (%i5) s2 : read_matrix (file_search ("wind.data"))$
859 (%i6) quantile (s2, 1/4);
860 (%o6) [7.2575, 7.477500000000001, 7.82, 11.28, 11.48]
866 @deffn {Função} median (@var{lista})
867 @deffnx {Função} median (@var{matriz})
868 Uma vez que a amostra está ordenada, se o tamanho da amostra for ímpar a mediana é o valor central, de outra forma a mediana será a média dos dois valores centrais.
873 @c load ("descriptive")$
874 @c load ("numericalio")$
875 @c s1 : read_list (file_search ("pidigits.data"))$
877 @c s2 : read_matrix (file_search ("wind.data"))$
881 (%i1) load ("descriptive")$
882 (%i2) load ("numericalio")$
883 (%i3) s1 : read_list (file_search ("pidigits.data"))$
888 (%i5) s2 : read_matrix (file_search ("wind.data"))$
890 (%o6) [10.06, 9.855, 10.73, 15.48, 14.105]
893 A mediana é o 1/2-@code{quantil}.
895 Veja também function @code{quantile}.
900 @deffn {Função} qrange (@var{lista})
901 @deffnx {Função} qrange (@var{matriz})
902 A amplitude do interquartil é a diferença entre o terceiro e o primeiro quartil, @code{quantile(@var{lista},3/4) - quantile(@var{lista},1/4)},
905 @c load ("descriptive")$
906 @c load ("numericalio")$
907 @c s1 : read_list (file_search ("pidigits.data"))$
909 @c s2 : read_matrix (file_search ("wind.data"))$
913 (%i1) load ("descriptive")$
914 (%i2) load ("numericalio")$
915 (%i3) s1 : read_list (file_search ("pidigits.data"))$
920 (%i5) s2 : read_matrix (file_search ("wind.data"))$
922 (%o6) [5.385, 5.572499999999998, 6.0225, 8.729999999999999,
926 Veja também a função @code{quantile}.
931 @deffn {Função} mean_deviation (@var{lista})
932 @deffnx {Função} mean_deviation (@var{matriz})
933 O desvio médio, definido como
957 $${{1\over{n}}{\sum_{i=1}^{n}{|x_{i}-\bar{x}|}}}$$
963 @c load ("descriptive")$
964 @c load ("numericalio")$
965 @c s1 : read_list (file_search ("pidigits.data"))$
966 @c mean_deviation (s1);
967 @c s2 : read_matrix (file_search ("wind.data"))$
968 @c mean_deviation (s2);
971 (%i1) load ("descriptive")$
972 (%i2) load ("numericalio")$
973 (%i3) s1 : read_list (file_search ("pidigits.data"))$
974 (%i4) mean_deviation (s1);
978 (%i5) s2 : read_matrix (file_search ("wind.data"))$
979 (%i6) mean_deviation (s2);
980 (%o6) [3.287959999999999, 3.075342, 3.23907, 4.715664000000001,
984 Veja também a função @code{mean}.
989 @deffn {Função} median_deviation (@var{lista})
990 @deffnx {Função} median_deviation (@var{matriz})
991 O desvio da mediana, definido como
1015 $${{1\over{n}}{\sum_{i=1}^{n}{|x_{i}-med|}}}$$
1017 onde @code{med} é a mediana da @var{lista}.
1022 @c load ("descriptive")$
1023 @c load ("numericalio")$
1024 @c s1 : read_list (file_search ("pidigits.data"))$
1025 @c median_deviation (s1);
1026 @c s2 : read_matrix (file_search ("wind.data"))$
1027 @c median_deviation (s2);
1030 (%i1) load ("descriptive")$
1031 (%i2) load ("numericalio")$
1032 (%i3) s1 : read_list (file_search ("pidigits.data"))$
1033 (%i4) median_deviation (s1);
1037 (%i5) s2 : read_matrix (file_search ("wind.data"))$
1038 (%i6) median_deviation (s2);
1039 (%o6) [2.75, 2.755, 3.08, 4.315, 3.31]
1042 Veja também a função @code{mean}.
1047 @deffn {Função} harmonic_mean (@var{lista})
1048 @deffnx {Função} harmonic_mean (@var{matriz})
1049 A média harmônica, definida como
1077 $${{n}\over{\sum_{i=1}^{n}{{{1}\over{x_{i}}}}}}$$
1083 @c load ("descriptive")$
1084 @c load ("numericalio")$
1085 @c y : [5, 7, 2, 5, 9, 5, 6, 4, 9, 2, 4, 2, 5]$
1086 @c harmonic_mean (y), numer;
1087 @c s2 : read_matrix (file_search ("wind.data"))$
1088 @c harmonic_mean (s2);
1091 (%i1) load ("descriptive")$
1092 (%i2) load ("numericalio")$
1093 (%i3) y : [5, 7, 2, 5, 9, 5, 6, 4, 9, 2, 4, 2, 5]$
1094 (%i4) harmonic_mean (y), numer;
1095 (%o4) 3.901858027632205
1096 (%i5) s2 : read_matrix (file_search ("wind.data"))$
1097 (%i6) harmonic_mean (s2);
1098 (%o6) [6.948015590052786, 7.391967752360356, 9.055658197151745,
1099 13.44199028193692, 13.01439145898509]
1102 Veja também as funções @code{mean} e @code{geometric_mean}.
1107 @deffn {Função} geometric_mean (@var{lista})
1108 @deffnx {Função} geometric_mean (@var{matriz})
1109 A média geométrica, definida como
1133 $$\left(\prod_{i=1}^{n}{x_{i}}\right)^{{{1}\over{n}}}$$
1139 @c load ("descriptive")$
1140 @c load ("numericalio")$
1141 @c y : [5, 7, 2, 5, 9, 5, 6, 4, 9, 2, 4, 2, 5]$
1142 @c geometric_mean (y), numer;
1143 @c s2 : read_matrix (file_search ("wind.data"))$
1144 @c geometric_mean (s2);
1147 (%i1) load ("descriptive")$
1148 (%i2) load ("numericalio")$
1149 (%i3) y : [5, 7, 2, 5, 9, 5, 6, 4, 9, 2, 4, 2, 5]$
1150 (%i4) geometric_mean (y), numer;
1151 (%o4) 4.454845412337012
1152 (%i5) s2 : read_matrix (file_search ("wind.data"))$
1153 (%i6) geometric_mean (s2);
1154 (%o6) [8.82476274347979, 9.22652604739361, 10.0442675714889,
1155 14.61274126349021, 13.96184163444275]
1158 Veja também as funções @code{mean} e @code{harmonic_mean}.
1163 @deffn {Função} kurtosis (@var{lista})
1164 @deffnx {Função} kurtosis (@var{matriz})
1165 O coeficiente de curtose, definido como
1189 $${{1\over{n s^4}}{\sum_{i=1}^{n}{(x_{i}-\bar{x})^4}}-3}$$
1195 @c load ("descriptive")$
1196 @c load ("numericalio")$
1197 @c s1 : read_list (file_search ("pidigits.data"))$
1198 @c kurtosis (s1), numer;
1199 @c s2 : read_matrix (file_search ("wind.data"))$
1203 (%i1) load ("descriptive")$
1204 (%i2) load ("numericalio")$
1205 (%i3) s1 : read_list (file_search ("pidigits.data"))$
1206 (%i4) kurtosis (s1), numer;
1207 (%o4) - 1.273247946514421
1208 (%i5) s2 : read_matrix (file_search ("wind.data"))$
1209 (%i6) kurtosis (s2);
1210 (%o6) [- .2715445622195385, 0.119998784429451,
1211 - .4275233490482866, - .6405361979019522, - .4952382132352935]
1214 Veja também as funções @code{mean}, @code{var} e @code{skewness}.
1219 @deffn {Função} skewness (@var{lista})
1220 @deffnx {Função} skewness (@var{matriz})
1221 O coeficiente de assimetria, definido como
1245 $${{1\over{n s^3}}{\sum_{i=1}^{n}{(x_{i}-\bar{x})^3}}}$$
1251 @c load ("descriptive")$
1252 @c load ("numericalio")$
1253 @c s1 : read_list (file_search ("pidigits.data"))$
1254 @c skewness (s1), numer;
1255 @c s2 : read_matrix (file_search ("wind.data"))$
1259 (%i1) load ("descriptive")$
1260 (%i2) load ("numericalio")$
1261 (%i3) s1 : read_list (file_search ("pidigits.data"))$
1262 (%i4) skewness (s1), numer;
1263 (%o4) .009196180476450306
1264 (%i5) s2 : read_matrix (file_search ("wind.data"))$
1265 (%i6) skewness (s2);
1266 (%o6) [.1580509020000979, .2926379232061854, .09242174416107717,
1267 .2059984348148687, .2142520248890832]
1270 Veja também as funções @code{mean}, @code{var} e @code{kurtosis}.
1275 @deffn {Função} pearson_skewness (@var{lista})
1276 @deffnx {Função} pearson_skewness (@var{matriz})
1277 O coeficiente de assimetria de pearson, definido como
1295 $${{3\,\left(\bar{x}-med\right)}\over{s}}$$
1297 onde @var{med} é a mediana de @var{lista}.
1302 @c load ("descriptive")$
1303 @c load ("numericalio")$
1304 @c s1 : read_list (file_search ("pidigits.data"))$
1305 @c pearson_skewness (s1), numer;
1306 @c s2 : read_matrix (file_search ("wind.data"))$
1307 @c pearson_skewness (s2);
1310 (%i1) load ("descriptive")$
1311 (%i2) load ("numericalio")$
1312 (%i3) s1 : read_list (file_search ("pidigits.data"))$
1313 (%i4) pearson_skewness (s1), numer;
1314 (%o4) .2159484029093895
1315 (%i5) s2 : read_matrix (file_search ("wind.data"))$
1316 (%i6) pearson_skewness (s2);
1317 (%o6) [- .08019976629211892, .2357036272952649,
1318 .1050904062491204, .1245042340592368, .4464181795804519]
1321 Veja também as funções @code{mean}, @code{var} e @code{median}.
1326 @deffn {Função} quartile_skewness (@var{lista})
1327 @deffnx {Função} quartile_skewness (@var{matriz})
1328 O coeficiented de assimetria do quartil, definido como
1333 --------------------
1342 --------------------
1348 $${{c_{{{3}\over{4}}}-2\,c_{{{1}\over{2}}}+c_{{{1}\over{4}}}}\over{c
1349 _{{{3}\over{4}}}-c_{{{1}\over{4}}}}}$$
1351 onde @math{c_p} é o quartil de ordem @var{p} da amostra @var{lista}.
1356 @c load ("descriptive")$
1357 @c load ("numericalio")$
1358 @c s1 : read_list (file_search ("pidigits.data"))$
1359 @c quartile_skewness (s1), numer;
1360 @c s2 : read_matrix (file_search ("wind.data"))$
1361 @c quartile_skewness (s2);
1364 (%i1) load ("descriptive")$
1365 (%i2) load ("numericalio")$
1366 (%i3) s1 : read_list (file_search ("pidigits.data"))$
1367 (%i4) quartile_skewness (s1), numer;
1368 (%o4) .04761904761904762
1369 (%i5) s2 : read_matrix (file_search ("wind.data"))$
1370 (%i6) quartile_skewness (s2);
1371 (%o6) [- 0.0408542246982353, .1467025572005382,
1372 0.0336239103362392, .03780068728522298, 0.210526315789474]
1375 Veja também a função @code{quantile}.
1380 @node Funções e Variáveis Definidas específicas para estatística descritiva de várias variáveis, Funções e Variáveis Definidas para gráficos estatísticos, Funções e Variáveis Definidas para estatística descritiva, descriptive
1381 @section Funções e Variáveis Definidas específicas para estatística descritiva de várias variáveis
1385 @deffn {Função} cov (@var{matriz})
1386 A matriz de covariância da amostra de várias variáveis, definida como
1392 S = - > (X - X) (X - X)'
1403 S = - > (X - X) (X - X)'
1410 $${S={1\over{n}}{\sum_{j=1}^{n}{\left(X_{j}-\bar{X}\right)\,\left(X_{j}-\bar{X}\right)'}}}$$
1412 onde @math{X_j} é a @math{j}-ésima linha da matriz de amostra.
1417 @c load ("descriptive")$
1418 @c load ("numericalio")$
1419 @c s2 : read_matrix (file_search ("wind.data"))$
1420 @c fpprintprec : 7$ /* modifique a precisão para uma saída melhor */
1424 (%i1) load ("descriptive")$
1425 (%i2) load ("numericalio")$
1426 (%i3) s2 : read_matrix (file_search ("wind.data"))$
1427 (%i4) fpprintprec : 7$ /* modifique a precisão para obter uma saída melhor */
1429 [ 17.22191 13.61811 14.37217 19.39624 15.42162 ]
1431 [ 13.61811 14.98774 13.30448 15.15834 14.9711 ]
1433 (%o5) [ 14.37217 13.30448 15.47573 17.32544 16.18171 ]
1435 [ 19.39624 15.15834 17.32544 32.17651 20.44685 ]
1437 [ 15.42162 14.9711 16.18171 20.44685 24.42308 ]
1440 Veja também a função @code{cov1}.
1445 @deffn {Função} cov1 (@var{matriz})
1446 A matriz de covariância da amostra de várias variáveis, definida como
1452 S = --- > (X - X) (X - X)'
1463 S = --- > (X - X) (X - X)'
1470 $${{1\over{n-1}}{\sum_{j=1}^{n}{\left(X_{j}-\bar{X}\right)\,\left(X_{j}-\bar{X}\right)'}}}$$
1472 where @math{X_j} is the @math{j}-th row of the sample matrix.
1477 @c load ("descriptive")$
1478 @c load ("numericalio")$
1479 @c s2 : read_matrix (file_search ("wind.data"))$
1480 @c fpprintprec : 7$ /* modifique a precisão para obter uma saída melhor */
1484 (%i1) load ("descriptive")$
1485 (%i2) load ("numericalio")$
1486 (%i3) s2 : read_matrix (file_search ("wind.data"))$
1487 (%i4) fpprintprec : 7$ /* modifique a precisão para obter uma saída melhor */
1489 [ 17.39587 13.75567 14.51734 19.59216 15.5774 ]
1491 [ 13.75567 15.13913 13.43887 15.31145 15.12232 ]
1493 (%o5) [ 14.51734 13.43887 15.63205 17.50044 16.34516 ]
1495 [ 19.59216 15.31145 17.50044 32.50153 20.65338 ]
1497 [ 15.5774 15.12232 16.34516 20.65338 24.66977 ]
1500 Veja também a função @code{cov}.
1505 @deffn {Função} global_variances (@var{matriz})
1506 @deffnx {Função} global_variances (@var{matriz}, @var{valor_lógico})
1507 A função @code{global_variances} retorna uma lista de medidas de variância global:
1511 @var{variância total}: @code{trace(S_1)},
1513 @var{variância média}: @code{trace(S_1)/p},
1515 @var{variância generalizada}: @code{determinant(S_1)},
1517 @var{desvio padrão generalizado}: @code{sqrt(determinant(S_1))},
1519 @var{variância efetiva} @code{determinant(S_1)^(1/p)}, (defined in: Peña, D. (2002) @var{Análisis de datos multivariantes}; McGraw-Hill, Madrid.)
1521 @var{desvio padrão efetivo}: @code{determinant(S_1)^(1/(2*p))}.
1523 onde @var{p} é a dimensão das várias variáveis aleatórias e @math{S_1} a matriz de covariância retornada por @code{cov1}.
1528 @c load ("descriptive")$
1529 @c load ("numericalio")$
1530 @c s2 : read_matrix (file_search ("wind.data"))$
1531 @c global_variances (s2);
1534 (%i1) load ("descriptive")$
1535 (%i2) load ("numericalio")$
1536 (%i3) s2 : read_matrix (file_search ("wind.data"))$
1537 (%i4) global_variances (s2);
1538 (%o4) [105.338342060606, 21.06766841212119, 12874.34690469686,
1539 113.4651792608502, 6.636590811800794, 2.576158149609762]
1542 A função @code{global_variances} tem um argumento lógico opcional: @code{global_variances(x,true)} diz ao Maxima que @code{x} é a matriz de dados, fazendo o mesmo que @code{global_variances(x)}. Por outro lado, @code{global_variances(x,false)} significa que @code{x} não é a matriz de dados, mas a matriz de covariância, evitando a repetição seu cálculo,
1545 @c load ("descriptive")$
1546 @c load ("numericalio")$
1547 @c s2 : read_matrix (file_search ("wind.data"))$
1549 @c global_variances (s, false);
1552 (%i1) load ("descriptive")$
1553 (%i2) load ("numericalio")$
1554 (%i3) s2 : read_matrix (file_search ("wind.data"))$
1555 (%i4) s : cov1 (s2)$
1556 (%i5) global_variances (s, false);
1557 (%o5) [105.338342060606, 21.06766841212119, 12874.34690469686,
1558 113.4651792608502, 6.636590811800794, 2.576158149609762]
1561 Veja também @code{cov} e @code{cov1}.
1566 @deffn {Função} cor (@var{matriz})
1567 @deffnx {Função} cor (@var{matriz}, @var{valor_lógico})
1568 A matriz de correlação da maostra de várias variáveis.
1573 @c load ("descriptive")$
1574 @c load ("numericalio")$
1576 @c s2 : read_matrix (file_search ("wind.data"))$
1580 (%i1) load ("descriptive")$
1581 (%i2) load ("numericalio")$
1582 (%i3) fpprintprec:7$
1583 (%i4) s2 : read_matrix (file_search ("wind.data"))$
1585 [ 1.0 .8476339 .8803515 .8239624 .7519506 ]
1587 [ .8476339 1.0 .8735834 .6902622 0.782502 ]
1589 (%o5) [ .8803515 .8735834 1.0 .7764065 .8323358 ]
1591 [ .8239624 .6902622 .7764065 1.0 .7293848 ]
1593 [ .7519506 0.782502 .8323358 .7293848 1.0 ]
1596 A função @code{cor} tem um argumento lógico opcional: @code{cor(x,true)} diz ao Maxima que @code{x} é a matriz de dados, fazendo o mesmo que @code{cor(x)}. Por outro lado, @code{cor(x,false)} significa que @code{x} não é a matriz de dados, mas a matriz de covariância, evitando a repetição de seu cálculo,
1599 @c load ("descriptive")$
1600 @c load ("numericalio")$
1602 @c s2 : read_matrix (file_search ("wind.data"))$
1604 @c cor (s, false); /* this is faster */
1607 (%i1) load ("descriptive")$
1608 (%i2) load ("numericalio")$
1609 (%i3) fpprintprec:7$
1610 (%i4) s2 : read_matrix (file_search ("wind.data"))$
1611 (%i5) s : cov1 (s2)$
1612 (%i6) cor (s, false); /* this is faster */
1613 [ 1.0 .8476339 .8803515 .8239624 .7519506 ]
1615 [ .8476339 1.0 .8735834 .6902622 0.782502 ]
1617 (%o6) [ .8803515 .8735834 1.0 .7764065 .8323358 ]
1619 [ .8239624 .6902622 .7764065 1.0 .7293848 ]
1621 [ .7519506 0.782502 .8323358 .7293848 1.0 ]
1624 Veja também @code{cov} e @code{cov1}.
1629 @deffn {Função} list_correlations (@var{matriz})
1630 @deffnx {Função} list_correlations (@var{matriz}, @var{valor_lógico})
1631 A função @code{list_correlations} retorna uma lista de medidas de correlação:
1636 @var{matriz de precisão}: o inverso da matriz de covariância @math{S_1},
1652 $${S_{1}^{-1}}={\left(s^{ij}\right)_{i,j=1,2,\ldots, p}}$$
1656 @var{vetor de correlação multipla}: @math{(R_1^2, R_2^2, ..., R_p^2)}, com
1676 $${R_{i}^{2}}={1-{{1}\over{s^{ii}s_{ii}}}}$$
1678 sendo um indicador do melhor do ajuste do modelo de regressão linear de várias variáveis dobre @math{X_i} quando o resto das variáveis são usados como regressores.
1681 @var{matriz de correlação parcial}: como elemento @math{(i, j)} sendo
1687 ij.rest / ii jj\ 1/2
1697 ij.rest / ii jj\ 1/2
1703 $${r_{ij.rest}}={-{{s^{ij}}\over \sqrt{s^{ii}s^{jj}}}}$$
1711 @c load ("descriptive")$
1712 @c load ("numericalio")$
1713 @c s2 : read_matrix (file_search ("wind.data"))$
1714 @c z : list_correlations (s2)$
1715 @c fpprintprec : 5$ /* for pretty output */
1716 @c z[1]; /* matriz de precisão */
1717 @c z[2]; /* vetor de correlação multipla */
1718 @c z[3]; /* matriz parcial de correlação */
1721 (%i1) load ("descriptive")$
1722 (%i2) load ("numericalio")$
1723 (%i3) s2 : read_matrix (file_search ("wind.data"))$
1724 (%i4) z : list_correlations (s2)$
1725 (%i5) fpprintprec : 5$ /* for pretty output */
1726 (%i6) z[1]; /* precision matrix */
1727 [ .38486 - .13856 - .15626 - .10239 .031179 ]
1729 [ - .13856 .34107 - .15233 .038447 - .052842 ]
1731 (%o6) [ - .15626 - .15233 .47296 - .024816 - .10054 ]
1733 [ - .10239 .038447 - .024816 .10937 - .034033 ]
1735 [ .031179 - .052842 - .10054 - .034033 .14834 ]
1736 (%i7) z[2]; /* multiple correlation vector */
1737 (%o7) [.85063, .80634, .86474, .71867, .72675]
1738 (%i8) z[3]; /* partial correlation matrix */
1739 [ - 1.0 .38244 .36627 .49908 - .13049 ]
1741 [ .38244 - 1.0 .37927 - .19907 .23492 ]
1743 (%o8) [ .36627 .37927 - 1.0 .10911 .37956 ]
1745 [ .49908 - .19907 .10911 - 1.0 .26719 ]
1747 [ - .13049 .23492 .37956 .26719 - 1.0 ]
1750 A função @code{list_correlations} também tem um argumento lógico opcional: @code{list_correlations(x,true)} diz ao Maxima que @code{x} é a matriz de dados, fazendo o mesmo que @code{list_correlations(x)}. Por outro lado, @code{list_correlations(x,false)} significa que @code{x} não é a matriz de correlação, mas a matriz de covariancia, evitando a repetição de seu cálculo.
1752 Veja também @code{cov} e @code{cov1}.
1757 @node Funções e Variáveis Definidas para gráficos estatísticos, , Funções e Variáveis Definidas específicas para estatística descritiva de várias variáveis, descriptive
1758 @section Funções e Variáveis Definidas para gráficos estatísticos
1762 @deffn {Função} dataplot (@var{lista})
1763 @deffnx {Função} dataplot (@var{lista}, @var{opção_1}, @var{opção_2}, ...)
1764 @deffnx {Função} dataplot (@var{matriz})
1765 @deffnx {Função} dataplot (@var{matriz}, @var{opção_1}, @var{opção_2}, ...)
1766 A função @code{dataplot} permite visualização direta de dados de amostra, ambas d uma única variável (@var{lista}) e de várias variáveis (@var{matriz}). Fornecendo valores para as seguintes @var{opções} que são alguns aspéctos de impressão que podem ser controlados:
1771 @code{'outputdev}, o valor padrão é @code{"x"}, indica o formato de dispositivo/arquivo da figura de saída; valores corretos são @code{"x"}, @code{"eps"} e @code{"png"}, para a tela, formato de arquivo postscript e formato de arquivo png, respectivamente.
1774 @code{'maintitle}, o valor padrão é @code{""}, é o título principal entre aspas duplas.
1777 @code{'axisnames}, o valor padrão é @code{["x","y","z"]}, é uma lista de nomes dos eixos @code{x}, @code{y} e @code{z}.
1780 @code{'joined}, o valor padrão é @code{false}, um valor lógico para selecionar pontos em 2D para serem unidos ou isolados.
1783 @code{'picturescales}, o valor padrão é @code{[1.0, 1.0]}, fator de proporcionalidade para o tamanho do gráfico.
1786 @code{'threedim}, o valor padrão é @code{true}, diz ao Maxima se ou monta-se o gráfico de uma matriz de três colunas como um diagrama 3D ou se monta-se o gráfico como um diagrama de dispersão de várias variáveis. Veja exemplos abaixo.
1789 @code{'axisrot}, o valor padrão é @code{[60, 30]}, modifica o ponto de visualização quando @code{'threedim} for escolhido para @code{true} dados forem armazenados em uma matriz de três colunas. O primeiro número é o ângulo de rotação do eixo @var{x}, e o segundo número é o angulo de rotação do eixo @var{z}-axis, ambas as medidas em graus.
1792 @code{'nclasses}, o valor padrão é @code{10}, é o número de classes para histogramas na diagonal de gráficos de dispersão de várias variáveis.
1795 @code{'pointstyle}, o valor padrão é @code{1}, é um inteiro que indica como mostrar pontos de amostra.
1799 Por exemplo, com a seguite entrada um gráfico simples dos primeiros vinte dígitos de @code{%pi} é requisitado e a saída é armazenada em um arquivo no formato eps.
1802 @c load ("descriptive")$
1803 @c load ("numericalio")$
1804 @c s1 : read_list (file_search ("pidigits.data"))$
1805 @c dataplot (makelist (s1[k], k, 1, 20), 'pointstyle = 3)$
1808 (%i1) load ("descriptive")$
1809 (%i2) load ("numericalio")$
1810 (%i3) s1 : read_list (file_search ("pidigits.data"))$
1811 (%i4) dataplot (makelist (s1[k], k, 1, 20), 'pointstyle = 3)$
1814 Note que dados unidimensionais são colocados no gráfico como uma série de tempo. No caso seguinte, ocorre a mesma coisa só que com mais dados e com mais configurações,
1817 @c load ("descriptive")$
1818 @c load ("numericalio")$
1819 @c s1 : read_list (file_search ("pidigits.data"))$
1820 @c dataplot (makelist (s1[k], k, 1, 50), 'maintitle = "Primeiros dígitos de pi",
1821 @c 'axisnames = ["ordem do dígito", "valor do dígito"], 'pointstyle = 2,
1825 (%i1) load ("descriptive")$
1826 (%i2) load ("numericalio")$
1827 (%i3) s1 : read_list (file_search ("pidigits.data"))$
1828 (%i4) dataplot (makelist (s1[k], k, 1, 50), 'maintitle = "Primeiros dígitos de pi",
1829 'axisnames = ["ordem do dígito", "valor do dígito"], 'pointstyle = 2,
1833 A função @code{dataplot} pode ser usada para montar gráficos de pontos no plano. O exemplo seguinte é gráfico de dispersão de pares de pontos de velocidades de vento para o primeira e para o quinta estação meteorológica,
1836 @c load ("descriptive")$
1837 @c load ("numericalio")$
1838 @c s2 : read_matrix (file_search ("wind.data"))$
1839 @c dataplot (submatrix (s2, 2, 3, 4), 'pointstyle = 2,
1840 @c 'maintitle = "Pares de medidas de velocidade do vento em nós",
1841 @c 'axisnames = ["Velocidade do vento em A", "Velocidade do vento em E"])$
1844 (%i1) load ("descriptive")$
1845 (%i2) load ("numericalio")$
1846 (%i3) s2 : read_matrix (file_search ("wind.data"))$
1847 (%i4) dataplot (submatrix (s2, 2, 3, 4), 'pointstyle = 2,
1848 'maintitle = "Pares de medidas de velocidade do vento em nós",
1849 'axisnames = ["Velocidade do vento em A", "Velocidade do vento em E"])$
1852 Se pontos forem armazenados em uma matriz de duas colunas, @code{dataplot} pode montar o gráfico desses pontos diretamente, mas se eles forem formatados em uma lista de pares, essa lista deve ser transformada em uma matriz como no seguinte exemplo.
1855 @c load ("descriptive")$
1856 @c x : [[-1, 2], [5, 7], [5, -3], [-6, -9], [-4, 6]]$
1857 @c dataplot (apply ('matrix, x), 'maintitle = "Pontos",
1858 @c 'joined = true, 'axisnames = ["", ""], 'picturescales = [0.5, 1.0])$
1861 (%i1) load ("descriptive")$
1862 (%i2) x : [[-1, 2], [5, 7], [5, -3], [-6, -9], [-4, 6]]$
1863 (%i3) dataplot (apply ('matrix, x), 'maintitle = "Pontos",
1864 'joined = true, 'axisnames = ["", ""], 'picturescales = [0.5, 1.0])$
1867 Pontos no espaço tridimensional podem ser vistos como uma projeção no plano. Nesse exemplo, o gráfico de velocidades do vento correspondendo a três estações meteorológicas são requisitados, primeiramente em um gráfico em 3D e a seguir em um gráfico de dispersão de várias variáveis.
1870 @c load ("descriptive")$
1871 @c load ("numericalio")$
1872 @c s2 : read_matrix (file_search ("wind.data"))$
1873 @c /* Gráfico em 3Dt */ dataplot (submatrix (s2, 4, 5), 'pointstyle = 2,
1874 @c 'maintitle = "Pares de medidas de velocidades do vento em nós",
1875 @c 'axisnames = ["Estação A", "Estação B", "Estação C"])$
1876 @c /* Gráfico de dispersão de várias variáveis */ dataplot (submatrix (s2, 4, 5),
1877 @c 'nclasses = 6, 'threedim = false)$
1880 (%i1) load ("descriptive")$
1881 (%i2) load ("numericalio")$
1882 (%i3) s2 : read_matrix (file_search ("wind.data"))$
1883 (%i4) /* 3D plot */ dataplot (submatrix (s2, 4, 5), 'pointstyle = 2,
1884 'maintitle = "Pares de medidas de velocidades do vento em nós",
1885 'axisnames = ["Estação A", "Estação B", "Estação C"])$
1886 (%i5) /* Gráfico de dispersão de várias variáveis */ dataplot (submatrix (s2, 4, 5),
1887 'nclasses = 6, 'threedim = false)$
1889 Note que no último exemplo, o número de classes no histogramas da diagonal é escolhido para 6, e aquela opção @code{'threedim} for escolhida para @code{false}.
1891 Para mais que três dimensões somente gráficos de dispersão de várias variáveis são possível, como em
1894 @c load ("descriptive")$
1895 @c load ("numericalio")$
1896 @c s2 : read_matrix (file_search ("wind.data"))$
1900 (%i1) load ("descriptive")$
1901 (%i2) load ("numericalio")$
1902 (%i3) s2 : read_matrix (file_search ("wind.data"))$
1903 (%i4) dataplot (s2)$
1909 @deffn {Função} histogram (@var{lista})
1910 @deffnx {Função} histogram (@var{lista}, @var{opção_1}, @var{opção_2}, ...)
1911 @deffnx {Função} histogram (@var{one_column_matrix})
1912 @deffnx {Função} histogram (@var{one_column_matrix}, @var{opção_1}, @var{opção_2}, ...)
1913 Essa função monta um gráfico de um histograma. Dados de amostras devem ser armazenados em uma lista de números ou em uma matriz de uma coluna. Fornecendo valores para as seguintes @var{opções} alguns aspéctos do gráfico podem ser controlados:
1918 @code{'outputdev}, o valor padrão é @code{"x"}, indica o formato de arquivo da figura de saída; valores corretos são @code{"x"}, @code{"eps"} e @code{"png"}, para a tela, formato de arquivo postscript e formato de arquivo png, respectivamente.
1921 @code{'maintitle}, o valor padrão é @code{""}, é o título principal entre aspas duplas.
1924 @code{'axisnames}, o valor padrão é @code{["x", "Fr."]}, é uma lista de nomes dos eixos @code{x} e @code{y}.
1927 @code{'picturescales}, o valor padrão é @code{[1.0, 1.0]}, fator de proporcionalidade para o tamanho do gráfico.
1930 @code{'nclasses}, o valor padrão é @code{10}, é o número de classes ou o número de barras.
1933 @code{'relbarwidth}, o valor padrão é @code{0.9}, um número decimao entre 0 e 1 para controlar a largura das barras.
1936 @code{'barcolor}, o valor padrão é @code{1}, um inteiro para indicar a cor das barras.
1939 @code{'colorintensity}, o valor padrão é @code{1}, um número decimal entre 0 e 1 para estabelecer a intensidade da cor.
1943 Nos próximos dois exemplos, histogramas são requisitados para os primeiros 100 dígitos do número @code{%pi} e para velocidades do vento na terceira estação meteorológica.
1946 @c load ("descriptive")$
1947 @c load ("numericalio")$
1948 @c s1 : read_list (file_search ("pidigits.data"))$
1949 @c histogram (s1, 'maintitle = "dígitos de pi", 'axisnames = ["", "Freq@"{u}ência absoluta"],
1950 @c 'relbarwidth = 0.2, 'barcolor = 3, 'colorintensity = 0.6)$
1951 @c s2 : read_matrix (file_search ("wind.data"))$
1952 @c histogram (col (s2, 3), 'colorintensity = 0.3)$
1955 (%i1) load ("descriptive")$
1956 (%i2) load ("numericalio")$
1957 (%i3) s1 : read_list (file_search ("pidigits.data"))$
1958 (%i4) histogram (s1, 'maintitle = "dígitos de pi", 'axisnames = ["", "Freq@"{u}ência absoluta"],
1959 'relbarwidth = 0.2, 'barcolor = 3, 'colorintensity = 0.6)$
1960 (%i5) s2 : read_matrix (file_search ("wind.data"))$
1961 (%i6) histogram (col (s2, 3), 'colorintensity = 0.3)$
1963 Note tque no primeiro caso, @code{s1} é uma lista e o segundo exemplo, @code{col(s2,3)} é uma matriz.
1965 Veja também a função @code{barsplot}.
1970 @deffn {Função} barsplot (@var{lista})
1971 @deffnx {Função} barsplot (@var{lista}, @var{opção_1}, @var{opção_2}, ...)
1972 @deffnx {Função} barsplot (@var{one_column_matrix})
1973 @deffnx {Função} barsplot (@var{one_column_matrix}, @var{opção_1}, @var{opção_2}, ...)
1974 Similar a @code{histogram} mas para variáveis estatísticas, numéricas ou divididas em categorias. As opções estão abaixo,
1979 @code{'outputdev}, o valor padrão é @code{"x"}, indica o formato de arquivo da figura de saída; valores corretos são @code{"x"}, @code{"eps"} e @code{"png"}, para a tela, formato de arquivo postscript e formato de arquivo png, respectivamente.
1982 @code{'maintitle}, o valor padrão é @code{""}, é o título principal entre aspas duplas.
1985 @code{'axisnames}, o valor padrão é @code{["x", "Fr."]}, é uma lista de nomes dos eixos @code{x} e @code{y}.
1988 @code{'picturescales}, o valor padrão é @code{[1.0, 1.0]}, fator de proporcionalidade para o tamanho do gráfico.
1991 @code{'relbarwidth}, o valor padrão é @code{0.9}, um número decimao entre 0 e 1 para controlar a largura das barras.
1994 @code{'barcolor}, o valor padrão é @code{1}, um inteiro para indicar a cor das barras.
1997 @code{'colorintensity}, o valor padrão é @code{1}, um número decimal entre 0 e 1 para estabelecer a intensidade da cor.
2002 Esse exemplo monta um gráfico de barras para os grupos @code{A} e @code{B} de pacientes na amostra @code{s3},
2005 @c load ("descriptive")$
2006 @c load ("numericalio")$
2007 @c s3 : read_matrix (file_search ("biomed.data"))$
2008 @c barsplot (col (s3, 1), 'maintitle = "Grupos de pacientes",
2009 @c 'axisnames = ["Grupo", "# de indivíduos"], 'colorintensity = 0.2)$
2012 (%i1) load ("descriptive")$
2013 (%i2) load ("numericalio")$
2014 (%i3) s3 : read_matrix (file_search ("biomed.data"))$
2015 (%i4) barsplot (col (s3, 1), 'maintitle = "Grupos de pacientes",
2016 'axisnames = ["Grupo", "# de indivíduos"], 'colorintensity = 0.2)$
2018 A primeira coluna na amostra @code{s3} armazena os valores das categorias @code{A} e @code{B}, também conhecidos algumas vezes como fatores. Por outro lado, os números inteiros positivos na segunda coluna sào idades, em anos, que se comportam como variável discreta, então podemos montar um gráfico as freq@"{u}ências absolutas para esses valores,
2021 @c load ("descriptive")$
2022 @c load ("numericalio")$
2023 @c s3 : read_matrix (file_search ("biomed.data"))$
2024 @c barsplot (col (s3, 2), 'maintitle = "Idades",
2025 @c 'axisnames = ["Anos", "# dos indivíduos"], 'colorintensity = 0.2,
2026 @c 'relbarwidth = 0.6)$
2029 (%i1) load ("descriptive")$
2030 (%i2) load ("numericalio")$
2031 (%i3) s3 : read_matrix (file_search ("biomed.data"))$
2032 (%i4) barsplot (col (s3, 2), 'maintitle = "Idades",
2033 'axisnames = ["Anos", "# dos indivíduos"], 'colorintensity = 0.2,
2034 'relbarwidth = 0.6)$
2038 Veja também a função @code{histogram}.
2043 @deffn {Função} boxplot (@var{data})
2044 @deffnx {Função} boxplot (@var{data}, @var{opção_1}, @var{opção_2}, ...)
2045 Essa função monta diagramas em caixas. O argumento @var{data} pode ser uma lista, que não é de grande interesse, uma vez que esses diagramas são principalmente usados para comparação entre diferentes amostras, ou uma matriz, eentão é possível comparar dois ou mais componentes de uma variável estatística de várias variáveis. Mas é também permitido @var{data} se uma lista de amostras com tamanhos diferentes de amostra, de fato essa é aa única função no pacote @code{descriptive} que admite esse tipo de estrutura de dados. Veja o exemplo abaixo. Abaixo etão as opções,
2050 @code{'outputdev}, o valor padrão é @code{"x"}, indica o formato de arquivo da figura de saída; valores corretos são @code{"x"}, @code{"eps"} e @code{"png"}, para a tela, formato de arquivo postscript e formato de arquivo png, respectivamente.
2053 @code{'maintitle}, o valor padrão é @code{""}, é o título principal entre aspas duplas.
2056 @code{'axisnames}, o valor padrão é @code{["sample", "y"]}, é uma lista de nomes dos eixos @code{x} e @code{y}.
2059 @code{'picturescales}, o valor padrão é @code{[1.0, 1.0]}, fator de proporcionalidade para o tamanho do gráfico.
2066 @c load ("descriptive")$
2067 @c load ("numericalio")$
2068 @c s2 : read_matrix (file_search ("wind.data"))$
2069 @c boxplot (s2, 'maintitle = "Velocidade do vento em nós",
2070 @c 'axisnames = ["Estação do ano", ""])$
2072 @c [[6, 4, 6, 2, 4, 8, 6, 4, 6, 4, 3, 2],
2073 @c [8, 10, 7, 9, 12, 8, 10],
2074 @c [16, 13, 17, 12, 11, 18, 13, 18, 14, 12]]$
2078 (%i1) load ("descriptive")$
2079 (%i2) load ("numericalio")$
2080 (%i3) s2 : read_matrix (file_search ("wind.data"))$
2081 (%i4) boxplot (s2, 'maintitle = "Velocidade do vento em nós",
2082 'axisnames = ["Estação do ano", ""])$
2084 [[6, 4, 6, 2, 4, 8, 6, 4, 6, 4, 3, 2],
2085 [8, 10, 7, 9, 12, 8, 10],
2086 [16, 13, 17, 12, 11, 18, 13, 18, 14, 12]]$