"Fossies" - the Fresh Open Source Software Archive 
Member "statist-1.4.2/doc/manual-pt.tex" (15 Nov 2006, 32135 Bytes) of package /linux/privat/old/statist-1.4.2.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) TeX and LaTeX source code syntax highlighting (style:
standard) with prefixed line numbers.
Alternatively you can here
view or
download the uninterpreted source code file.
1 \documentclass[12pt,english,brazil]{article}
2 \usepackage[T1]{fontenc}
3 \usepackage[latin1]{inputenc}
4 \usepackage{times}
5 \usepackage{a4wide}
6 \usepackage{graphicx}
7 \usepackage{babel}
8 \usepackage[pdftex,bookmarks=false,linkbordercolor={0.5 1 0.5}]{hyperref}
9
10 \newcommand{\st}{{\tt sta\-tist} }
11
12 \begin{document}
13
14 \title{STATIST 1.4.1\\Manual do Usuário}
15 \author{Jakson Alves de Aquino\\
16 {\small {\tt jalvesaq@gmail.com}}}
17 \date{5 de setembro de 2006}
18
19 \maketitle
20
21 \tableofcontents
22
23 \section{Introdução}
24
25 {\tt Statist} é um programa leve e fácil de usar. Todas as
26 funções estão em um menu interativo: você tem apenas que
27 escolher o que estiver precisando. {\tt Statist} é um
28 Software Livre sob a licença GNU GPL e não é acompanhado de
29 absolutamente nenhuma garantia.
30
31 Este documento é uma tradução incompleta e não literal do
32 original escrito por Dirk Melcher, mas novo material foi
33 adicionado ao texto. Sou grato a Bernhard Reiter pela
34 revisão do texto e sugestões de melhorias.
35
36 \section{Avisos aos usuários do Windows}
37
38 Usuários do GNU/Linux estão muito mais acostumados com
39 programas em modo texto. Uma característica útil nesse
40 sistema é a {\em completação} de linhas de comando: após
41 digitar as primeiras letras de um arquivo ou diretório de
42 nomes longos, podemos pressionar a tecla ``Tab'' para que o
43 sistema complete o resto para nós. Os emuladores de
44 terminal onde digitamos os comandos podem salvar e rolar de
45 volta muitas linhas já impressas na tela. E o mais
46 importante, GNU/Linux é um software livre que permite a
47 qualquer pessoa inspecionar o que o computador faz. E
48 muitos podem consertar problemas, o que o torna mais seguro.
49 Logo que puder, experimente o \st em um sistema operacional
50 livre, como o Linux ou o FreeBSD.
51
52 Para criar gráficos com o \st você precisará de uma versão
53 do {\tt gnuplot} que venha com o {\tt pgnuplot}. No Windows,
54 você não pode enviar comandos para o {\tt gnuplot} através
55 do {\tt statist}. É necessário digitar os comandos na janela do {\tt
56 gnuplot}. Mas atenção, não feche a janela do {\tt gnuplot}.
57 Você pode fechar somente o gráfico. Se fechar a janela do
58 {\tt gnuplot} será necessário reiniciar o \st para ser
59 possível criar gráficos novamente.
60
61 Alguns dos softwares utilizados para manipular arquivos de
62 dados não fazem parte do {\tt sta\-tist}, mas eles também
63 estão disponíveis para o Windows. Por favor, procure na
64 Internet por gnucoreutils, que é um dos pacotes do GnuWin32.
65
66 Na pasta {\tt C:$\backslash$Arquivos de
67 Programas$\backslash$statist} pode ser encontrada a
68 documentação do {\tt statist}, bem como um exemplo de
69 arquivo de configuração. Você pode renomear este arquivo para
70 {\tt statistrc.txt} e editá-lo conforme suas preferências.
71
72 Infelizmente, \st não pode produzir {\em output} colorido no
73 DOS.
74
75 \section{Instalação}
76
77 \begin{enumerate}
78
79 \item Abra um terminal.
80
81 \item Descompacte o código fonte, compile o programa e, como
82 superusuário, instale-o. Isto é, digite:
83
84 \end{enumerate}
85
86 \begin{verbatim}
87 tar -xvzf statist-1.4.1.tar.gz
88 cd statist-1.4.1
89 make
90 # opcional, se você tem "check" instalado
91 make check
92
93 # instalação como root para todos os usuários
94 su -
95 cd diretório-para/statist-1.4.1
96 make install
97 exit
98 \end{verbatim}
99
100 Essa é a instalação padrão, que deve funcionar na maioria
101 das distribuições GNU/Linux. Se as instruções acima não são
102 suficientes para o seu caso, por favor veja o arquivo
103 README.pt. Ele traz detalhes sobre como instalar o {\tt
104 statist} a partir do código fonte.
105
106 \section{Abrindo o programa}
107
108 Você pode simplesmente digitar:
109
110 \begin{verbatim}
111 statist arquivo_de_dados
112 \end{verbatim}
113
114 Entretanto, existem algumas opções que podem ser úteis, e,
115 então, para abrir o {\tt statist}, será preciso digitar:
116
117 \begin{verbatim}
118 statist [ options ] data_file [ options ]
119 \end{verbatim}
120
121 A única opção que você precisa memorisar é {\tt {-}-help},
122 ou simplesmente {\tt -h}, que exibirá a lista das opções
123 disponíveis.
124
125 Você também pode criar e editar o arquivo \verb ~/.statistrc ,
126 para configurar algumas opções. Se você tem o privilégio
127 de se poder se tornar superusuário, poderá criar e editar o
128 arquivo {\tt /etc/statistrc}. Opções passadas pela linha de
129 comando têm prioridade sobre as lidas do arquivo {\tt
130 statistrc}. Você pode encontrar um exemplo de {\tt
131 sta\-tistrc} no diretório onde está a documentação do
132 programa (usualmente {\tt /usr/\-share/\-doc/\-sta\-tist}).
133 Finalmente, você poderá modificar algumas opções durante a
134 execução do \st escolhendo no menu principal o item
135 {\em Preferências}.
136
137
138 \section{Menu}
139
140 O programa possui um menu interativo simples que o torna
141 muito fácil de usar. Não há necessidade de lembrar comandos.
142 Digitando o número `0' você é levado ao menu de nível
143 superior, ou termina o programa se já estiver no {\em Menu
144 principal}. Uma dica é importante: se escolher um item do
145 menu por engano, você pode cancelar o processo pressionando
146 a tecla <Enter> antes de digitar qualquer valor ou responder
147 a qualquer questão. Fazendo isso, o último menu é impresso
148 novamente.
149
150 Se você escolher um procedimento estatístico do menu, lhe
151 serão pedidos os nomes das variáveis. Freqüentemente, não é
152 necessário digitar o nome da coluna completo quando se está
153 entrando os nomes das variáveis para análises. Por exemplo,
154 se você tem uma coluna cujo nome é:
155
156 \begin{center}
157 esse\_eh\_um\_nome\_realmente\_muito\_grande
158 \end{center}
159
160 \noindent e se não há nenhuma outra coluna começando com a
161 letra `e', você pode digitar simplesmente `e' para o nome da
162 coluna. Finalmente, se você quiser selecionar todas as
163 colunas, basta digitar ``todas'' como nome da primeira
164 coluna.
165
166 Na verdade, o processo todo é auto-explicativo, e você seria
167 capaz de usar o programa mesmo sem ler essa breves
168 explicações.
169
170 \section{Statist e Gnuplot}
171
172 Gnuplot é um programa interativo que faz apresentações
173 gráfica de dados e funções, e o \st cria gráficos do {\tt
174 gnuplot} para algumas funções. Normalmente, você não tem que
175 abrir o {\tt gnuplot} manualmente. O pré-requisito para
176 produzir os gráficos é simplesmente que o programa esteja
177 instalado em um dos diretórios em que o sistema operacional
178 costuma procurar pelos arquivos binários ({\em PATH}).
179
180 Você poderá refinar ou personalizar seus gráficos se
181 conhecer a sintaxe do {\tt gnuplot}. Para isso, escolha a
182 opção do menu {\em Diversos} {\textbar} {\em Digitar
183 comandos do gnuplot}. Você pode mudar muitas coisas, como
184 cores e tipos de linhas, rótulos dos eixos, etc\ldots Mesmo
185 para os que não sabem a sintaxe do {\tt gnuplot}, é fácil
186 mudar pelo menos os títulos dos gráficos e dos eixos, porque
187 uma lista dos últimos comandos enviados para o {\tt gnuplot}
188 são impressos na tela. As mudanças serão aplicadas ao
189 gráfico que estiver sendo exibido com o comando do {\tt
190 gnuplot} ``replot''.
191
192 Os gráficos do {\tt gnuplot} podem ser desabilitados se o
193 \st for chamado com a opção \linebreak {\verb --noplot }.
194 Isso pode ser útil se você for, por exemplo, trabalhar no
195 modo não interativo ou se sua base de dados for muito
196 grande, o que tornaria muito lenta a geração de gráficos pelo
197 {\tt gnuplot}.
198
199 \subsection{Diagrama em caixa}
200
201 %I put the picture above the text to get a better layout.
202 \begin{center}
203 \includegraphics{boxplot-pt}
204 \end{center}
205
206 Você provavelmente não terá problemas para interpretar os
207 gráficos do {\tt statist}. O único que pode merecer alguma
208 explicação é o {\em Diagrama em caixa}. A figura acima
209 mostra o significado de cada parte desse gráfico.
210
211 \subsection{UTF-8}
212
213 Os gráficos feitos pelo \st através do gnuplot podem
214 apresentar caracteres estranhos se o seu ambiente está
215 configurado para UTF-8 e a sua língua possui caracteres que
216 não pertencem ao alfabeto inglês. O problema é que o gnuplot
217 normalmente irá interpretar títulos e rótulos como se
218 estivessem codificados com caracteres de um único byte, como
219 o ISO-8859-1 (Latin 1, usado pelo português), mesmo que o
220 mapa de caracteres do seu emulador de terminal esteja
221 configurado para UTF-8. É possível misturar letras de
222 diferentes conjuntos de caracteres em um único gráfico
223 (grego e Latin 1, por exemplo), mas para isso é preciso
224 configurar o gnuplot corretamente. Por favor, acesse o
225 endereço abaixo para saber maiores detalhes:
226
227 \href{http://statist.wald.intevation.org/utf8.html}
228 {http://statist.wald.intevation.org/utf8.html}
229
230 \section{Dados}
231
232 \subsection{O formato do arquivo}
233
234 O \st lê dados de arquivos de texto simples (ASCII). Se o
235 programa não for chamado com um o nome de um arquivo ASCII
236 como parâmetro, ele irá imediatamente perguntar pelo nome de
237 um arquivo de dados. Sem um arquivo de dados, não há nada a
238 fazer, a não ser que você declare a opção {\verb --nofile }
239 ao chamar o programa, com o objetivo de digitar manualmente
240 os dados (escolha o item do menu: {\em Administração dos
241 dados} {\textbar} {\em Ler coluna do terminal}). Entretanto,
242 raramente será razoável fazer isso. Seria mais confortável
243 usar um editor de textos ou uma planilha eletrônica, como o
244 {\em OpenOffice Calc} ou o {\em Gnumeric}. Nesse caso, salve
245 o arquivo como .csv.
246
247 Mas, atenção, o \st sempre usa um ponto como separador de
248 decimais quando está trabalhando com arquivos de dados.
249 Como no português o separador de decimais é a vírgula,
250 antes de digitar seus dados, você pode tentar abrir a
251 planilha eletrônica em um terminal com a região configurada
252 para ``C'', como abaixo:
253
254 \begin{verbatim}
255 export LC_ALL=C
256 oocalc &
257 \end{verbatim}
258
259 Se você realmente precisar usar um arquivo em que os
260 separadores de decimais são vírgulas, o \st converterá em
261 pontos as vírgulas usadas como separadores de decimais em
262 números que estejam entre aspas duplas. Se não for este o
263 caso, será necessário definir manualmente o delimitador de
264 decimais. O \st talvez lhe faça perguntas sobre o formato do
265 arquivo. Caso contrário, escolha o item do menu {\em
266 Administração dos dados} {\textbar} {\em Configurar formato
267 dos arquivos}. Alternativamente, inicie o \st como no
268 exemplo:
269
270 \begin{verbatim}
271 statist datafile.csv --dec ","
272 \end{verbatim}
273
274 Um arquivo de dados do \st consiste de uma ou mais colunas
275 de dados. As colunas devem ser separadas umas das outras
276 por espaços em branco, caracteres de tabulação, vírgulas ou
277 ponto-e-vírgulas. Estes caracteres são ignorados e,
278 portanto, é possível ter qualquer quantidade deles entre
279 dois campos. Por exemplo, o \st irá ler os mesmos dados dos
280 dois arquivos abaixo:
281
282 \begin{verbatim}
283 #Example data-file for statist #Example data-file for statist
284 1 3 5 6 1,3,"5",6
285 7 8 9 10 ,7 8 ;, 9 10
286 11 12 13 14 11;12;13;14;;
287 \end{verbatim}
288
289 Como você pode perceber pelo exemplo acima, comentários
290 começam com o símbolo `\#' e são ignorados pelo programa.
291 Linhas em branco também são ignoradas.
292
293 \subsection{Nomes de colunas e rótulos de variáveis}
294
295 Quando o \st lê um arquivo de dados, cada coluna é
296 considerada uma variável. A primeira coluna receberá o nome
297 `a', a segunda será `b', etc. Entretanto, se seu banco de
298 dados tiver muitas variáveis você poderá preferir que as
299 variáveis tenham nomes mais significativos. A primeira linha
300 do banco de dados que não seja um comentário pode conter os
301 nomes das colunas. O \st tentará detectar os nomes usando um
302 algoritmo muito simples. Ele verifica se todos campos da
303 primeira linha que não seja comentário se iniciam com uma
304 letra do alfabeto inglês. Se qualquer um dos campos se
305 iniciar com um caractere que não esteja entre `a' e `z' ou
306 entre `A' e `Z', o \st considerará que o arquivo de dados
307 não contém um cabeçalho. Se ele errar na detecção do
308 cabeçalho você poderá dizer ao \st como proceder, escolhendo
309 o item do menu {\em Administração dos dado} {\textbar} {\em
310 Configurar formato dos arquivos}. Outra solução é o uso da
311 opções de linha de comando: {\tt {-}-header} ou {\tt
312 {-}-noheader}.
313
314 Você pode, ainda, explicitamente incluir no arquivo de dados
315 a informação de que o cabeçalho está presente, escrevendo no
316 início da linha com os nomes das colunas os caracteres
317 ``\#\%''. Nesta última alternativa, como nas linhas de
318 comentário, o primeiro caractere deve ser `\#', mas esse
319 símbolo deve ser seguido por `\%'. Com sua configuração
320 padrão, o \st irá ler os dois exemplos abaixo de arquivos de
321 dados com o simples comando ``{\tt statist~arquivo}'':
322
323 \begin{verbatim}
324 #%kow kaw ec50 kow kaw ec50
325 0.34 4.56 0.23 0.34 4.56 0.23
326 1.23 5.45 6.76 1.23 5.45 6.76
327 6.78 1.34 9.60 6.78 1.34 9.60
328 \end{verbatim}
329
330 O número de nomes para as variáveis deve ser exatamente o
331 mesmo do número de colunas. Somente letras, números e `\_'
332 podem ser usados nos nomes, e letras acentuadas podem
333 causar problemas. Se você usar a opção {\verb --labels }
334 {\tt arq\_rótulos}, o \st irá usar os títulos das colunas e
335 os rótulos das variáveis presentes no {\tt arq\_rótulos}.
336 Quando executando alguns gráficos e análises, os nomes das
337 colunas e os valores das variáveis serão substituídos por
338 seus rótulos. Um {\tt arq\_rótulos} é simplesmente uma lista
339 com os nomes das colunas mais seus rótulos seguida da lista
340 dos seus valores com os rótulos. As informações para
341 diferentes colunas são separadas por uma linha em branco,
342 como no exemplo:
343
344 \begin{verbatim}
345 stat Você gosta de estatística?
346 0 Não
347 1 Sim
348 2 Sem resposta
349
350 cor Qual sua cor favorita?
351 0 Vermelho
352 1 Verde
353 2 Azul
354 3 Outra
355 \end{verbatim}
356
357 No exemplo acima, o arquivo de dados tem uma coluna nomeada
358 ``stat'' e outra, ``cor''. Os valores da variável ``stat''
359 são sempre ``0'', ``1'', ou ``2''. Você pode usar usar o
360 mesmo arquivo com rótulos para diferentes arquivos de dados.
361 Não há problema se algumas colunas permanecerem sem rótulos,
362 ou se alguns rótulos não acharem sua coluna na base de
363 dados. Portanto, se você tiver uma base de dados com
364 centenas de colunas e quiser trabalhar com vários
365 subconjuntos dos dados que compartilham algumas colunas,
366 você poderá preparar um único arquivo de rótulos. Se você
367 escolher no menu a opção {\em Ler outro arquivo}, os rótulos
368 até então não usados serão automaticamente aplicados às
369 colunas adicionadas. Nota: rótulos muito extensos demandarão
370 muito espaço, e a tabela {\em Comparação de médias} poderá não
371 ficar bem ajustada à tela. Se você tiver rótulos grandes,
372 poderá executar uma {\em Comparação de médias} com apenas um
373 pequeno número de colunas simultaneamente.
374
375 \subsection{Valores omissos}
376
377 O \st pode lidar com arquivos de dados contendo valores
378 omissos ({\em missing values}), e há dois modos de indicar
379 que um valor está ausente. O primeiro é usar uma {\em
380 string} específica no lugar do valor ausente. Por padrão, o
381 \st interpreta a {\em string} ``M'' como indicadora de valor
382 omisso, mas você pode escolher uma {\em string} diferente no
383 {\tt statistrc}, com o argumento de linha de comando {\tt
384 {-}-na-string~<string>}, ou no item do menu {\em
385 Administração dos dado} {\textbar} {\em Configurar formato
386 dos arquivos}.
387
388 Devido ao fato do \st interpretar qualquer quantidade de
389 caracteres ignoráveis \linebreak (``{\tt
390 ~",;}$\backslash${\tt t}'') como um único delimitador de
391 campo, dois separadores de campo adjacentes não serão
392 interpretados pelo \st como valor omisso. Pelo contrário,
393 ele reportará que a linha possui menos colunas do que
394 deveria. Esse é o comportamento padrão, mas ele pode ser
395 modificado no {\tt statistrc}, com o argumento de linha de
396 comando {\tt {-}-sep <caractere>} ou, mais uma vez,
397 escolhendo o item do menu {\em Administração dos dado}
398 {\textbar} {\em Configurar formato dos arquivos}. Com essa
399 opção, somente um caractere específico será interpretado
400 como separador de campos. Logo, os seguintes arquivos de
401 dados serão considerados iguais, mas o segundo precisa da
402 opção \verb --sep \verb "," :\footnote{Mesmo com a opção
403 {\tt {-}-sep}, o algoritmo padrão é utilizado para
404 interpretar a linha com os nomes das colunas. Logo, não é
405 permitido haver nomes vazios para colunas.}
406
407 \begin{verbatim}
408 1 3 5 6 1,3,5,6
409 7 M 9 10 7,,9,10
410 11 12 M 14 11,12,,14
411 \end{verbatim}
412
413 Cada coluna da base de dados é salva em um arquivo
414 temporário binário, onde todos os
415 valores são guardados como números reais (tipo {\em double},
416 na linguagem C). Esses arquivos são apagados quando você
417 sai do {\tt statist}. Os valores omissos são guardados como
418 o menor número {\em double} possível, ou seja,
419 $-1,7976931348623157 \times 10^{308}$. Você precisa ter
420 certeza de que este número não está presente em seu banco de
421 dados como um número válido, pois ele seria interpretado
422 como valor omisso.
423
424 Antes de cada análise, o \st lê a coluna selecionada do
425 arquivo temporário e armazena os valores na memória (ram).
426 Dependendo da análise a ser feita, o programa poderá apagar
427 somente os valores omissos ou apagar uma linha inteira
428 quando uma das colunas tem um valor omisso naquela posição.
429 Os dados, entretanto, somente são apagado na cópia dos
430 arquivos temporários que estão na memória. Os arquivos
431 temporários permanecem intactos até você fechar o programa.
432 Por exemplo, se você escolher {\em Regressões e correlações}
433 {\textbar} {\em Correlação linear múltipla} serão apagadas todas as
434 colunas que têm valores omissos em qualquer uma das colunas.
435 Esta análise pode ser usada se cada linha do seu banco de
436 dados representa um único caso, o que é muito comum em
437 ciências sociais. A opção {\em Testes} {\textbar} {\em Teste-t para
438 comparação das médias de duas amostras} irá apagar todos os
439 valores omissos, mas a existência de um valor omisso em uma
440 coluna não irá fazer a linha inteira ser apagada. Você
441 poderia fazer essa análise se, por exemplo, as colunas de
442 seu banco de dados representam séries diferentes de
443 experimentos semelhantes e você gostaria de comparar dois
444 conjuntos de resultados.
445
446 \subsection{Lendo e salvando arquivos}
447
448 Se você quiser trabalhar com somente um sub-conjunto do seu
449 banco de dados, você pode salvar colunas em um arquivo de
450 texto, escolhendo a opção {\em Administração dos dados}
451 {\textbar} {\em Exportar colunas para arquivo de texto}.
452 Você pode também ler os dados de vários arquivos
453 simultaneamente ({\em Administração dos dados} {\textbar}
454 {\em Ler outro arquivo}). Quando você {\em Ler outro
455 arquivo}, novas colunas são adicionadas à base de dados e,
456 se o nome de uma coluna no novo arquivo já estiver em uso no
457 banco de dados atual, o símbolo ``\_'' será afixado ao novo
458 rótulo.
459
460 Outra possibilidade é juntar colunas ({\em Manipulação dos
461 dados} {\textbar} {\em Juntar colunas}). Nesse caso, as colunas
462 selecionadas serão concatenadas em uma maior.
463
464 \section{Manipulação de bases de dados}
465
466 \subsection{Extraindo colunas de um banco de dados com largura fixa}
467
468 Para extrair colunas de um banco de dados de largura fixa e
469 salvá-las em um arquivo de dados do {\tt statist}, digite:
470
471 \begin{verbatim}
472 statist --xcols arq_config basedados_orig nova_base
473 \end{verbatim}
474
475 O conteúdo do {\tt arq\_config} é simplesmente uma lista de
476 nomes de variáveis e suas respectivas posições no banco de
477 dados de largura fixa, como no exemplo abaixo:
478
479 \begin{verbatim}
480 nasc 1-4
481 sexo 8
482 renda 11-15
483 \end{verbatim}
484
485 Com o arq\_config acima, o \st iria ler a seguinte base
486 de dados:
487
488 \begin{verbatim}
489 1971 522 2365
490 19609991 32658
491 19455632
492 19674131 32684
493 \end{verbatim}
494
495 E produzir:
496
497 \begin{verbatim}
498 #%nasc sexo renda
499 1971 2 2365
500 1960 1 32658
501 1945 2 M
502 1967 1 32684
503 \end{verbatim}
504
505 O \st não adicionará os caracteres ``\verb #% '' à primeira
506 linha do arquivo se ele tiver sido iniciado com a opção de
507 linha de comando {\tt {-}-header} ou se o aquivo {\tt
508 statistrc} estiver com a opção ``{\tt autodetect\_header =
509 yes}''. A {\em string} usada para valores omissos também
510 pode ser modificada pela linha de comando e pelo {\em
511 statistrc}. As colunas são separadas por um espaço em
512 branco, a não ser que você tenha escolhido algo diferente
513 com a opção {\tt {-}-sep}. Valores não numéricos são
514 extraídos e incluídos na {\tt nova\_base}, embora o \st não
515 seja capaz de lê-los. Você teria que substituí-los por
516 códigos numéricos.
517
518 \subsection{Extraindo uma amostra de uma base de dados}
519
520 Se você for trabalhar com uma base de dados muito grande que
521 ainda não conhece muito bem, poderá ser conveniente iniciar
522 a exploração dos dados usando uma amostra da base de dados.
523 As análises, é claro, serão mais rápidas do que se fossem
524 feitas na base inteira. Após descobrir quais análises são
525 mais relevantes para sua pesquisa você poderá refazer essas
526 análises na base de dados original.
527
528 Para extrair uma porcentagem das linhas de uma base de
529 dados, abra o \st com os seguintes parâmetros:
530
531 \begin{verbatim}
532 statist --xsample porcentagem basedados arq_destino
533 \end{verbatim}
534
535 \noindent onde ``porcentagem'' deve ser um número inteiro
536 entre 1 e 99. A nova base de dados, \linebreak
537 {\tt arq\_destino} será criada com {\em aproximadamente} a
538 porcentagem solicitada de linhas extraídas de {\tt basedados}.
539
540 \subsection{Recodificando uma base dados}
541
542 Para algumas tarefas de manipulação de dados, precisaremos
543 utilizar alguns programas que não fazem parte do pacote do
544 {\tt statist}, mas que estão disponíveis no GNU/Linux (e
545 podem ser instalados no DOS/Windows). Para pequenos arquivos
546 de dados, com poucas variáveis, você pode usar seu editor de
547 texto ou planilha de cálculos preferidos. Entretanto, se seu
548 arquivo for muito grande, ou tiver muitas variáveis, poderá
549 ser mais conveniente usar as ferramentas descritas aqui e
550 nas seções seguintes.
551
552 Algumas vezes, precisamos recodificar alguns valores em uma
553 base de dados. Suponha, por exemplo, que num certo arquivo
554 de dados o valor ``999'' significa valor omisso para a
555 variável idade, e que em algumas análises nós queremos usar
556 ``faixa etária'' e, em outras, ``idade''. Como ainda
557 precisaremos da variável ``idade'', precisamos recodificar
558 ``idade'' em uma variável diferente. Para criar nossa nova
559 base de dados teríamos que digitar:
560
561 \begin{verbatim}
562 awk '{if(/idade/) {print $0 "\t" "faixa"}
563 else {
564 if(NF == 0) {print $0}
565 else {
566 if ($2 <= 20){id1 = 1} else
567 if ($2 > 20 && $2 <= 50){id1 = 2} else
568 if ($2 > 51 && $2 < 999){id1 = 3} else
569 {id1 = "M"}
570 {print $0 "\t" id1}
571 }
572 }
573 }' datafile.csv > newfile.csv
574 \end{verbatim}
575
576
577 A expressão entre aspas simples são comandos do {\tt awk}.
578 Com esse comando, o {\tt awk} leria o seguinte arquivo:
579
580 \begin{verbatim}
581 sexo idade
582 2 23
583 1 88
584 2 10
585 2 36
586 3 999
587 1 55
588 \end{verbatim}
589
590 E produziria:
591
592 \begin{verbatim}
593 sexo idade faixa
594 0 23 2
595 1 88 3
596 0 10 1
597 0 36 2
598 M 999 M
599 1 55 3
600 \end{verbatim}
601
602 À primeira vista, o comando do {\tt awk} pode parecer
603 complexo, mas posso explicá-lo:
604
605 \begin{description}
606
607 \item {\tt \$}: O símbolo `{\tt \$}' significa ``campo'',
608 isto é, uma coluna de um banco de dados do {\tt statist}.
609
610 \item {\tt \$0}: tem um significado especial: a {\em linha
611 inteira}.
612
613 \item {\tt if(/\#/) \{print \$0 ``$\backslash$t''
614 ``faixa''\}}: Se a linha tiver o símbolo `\#', imprima a
615 linha inteira mais um caractere de tabulação mais a
616 expressão ``faixa''. Essa linha contém os nomes das nossas
617 colunas (a não ser que tenham sido inseridos comentários no
618 arquivo de dados).
619
620 \item {\tt if(NF == 0) \{print \$0\}}: Se o número de campos
621 for igual a zero, imprima a linha inteira.
622
623 \item {\tt if (\$2 > 20 \&\& \$2 <= 50)\{id1 = 2\}}: Se o
624 segundo campo tiver um valor maior do que 20 e menor ou
625 igual a 50, o valor da variável ``id1'' é 2.
626
627 \item {\tt print \$0 ``$\backslash$t'' id1}: Imprima a
628 linha inteira mais um caractere de tabulação mais o valor da
629 variável {\tt id1}.
630
631 \end{description}
632
633 Nós também usamos {\tt awk} para selecionar casos e para
634 computar novas variáveis. Por isso, por favor consulte seu
635 manual ou páginas de info para maiores detalhes sobre como
636 usá-lo (em um terminal, digite {\tt info awk}).
637 Freqüentemente, os comandos do {\tt awk} que usamos começam
638 testando se a linha contém os nomes das colunas e se a linha
639 está vazia.
640
641 \subsection{Selecionando casos e computando novas variáveis}
642
643 Podemos usar {\tt awk} para realizar duas outras tarefas:
644 (1) criar uma nova base de dados, selecionando somente
645 alguns casos de um arquivo de dados existente, e (2)
646 computar uma nova variável, usando os valores de variáveis
647 existentes. Aqui mostraremos apenas dois exemplos de como
648 usar o {\tt awk}.
649
650 Suponha que a segunda coluna de um arquivo de dados contém a
651 variável ``sexo'', codificada como `0' para homens e `1'
652 para mulheres, e que nós queremos incluir somente as
653 mulheres em algumas análises Digitando o seguinte comando em
654 um terminal o novo arquivo de dados que precisamos seria
655 criado:
656
657 \begin{verbatim}
658 awk '{if(/sexo/ || /#/ || $2 > 0) {print $0}
659 }' arq_dados.csv > novo_arq_dados.csv
660 \end{verbatim}
661
662 Estamos dizendo para o {\tt awk} que se ele encontrar a
663 palavra ``sexo'' ou o símbolo '\#' em uma linha (por que ela
664 certamente contém os rótulos das nossas colunas ou um
665 comentário) ou se o segundo campo da linha tiver um número
666 maior do que $0$ ele deverá produzir como saída a linha
667 inteira (todos os campos = \$0, e ``||'' significa ``ou'').
668 Finalmente, dizemos ao programa que controla a linha de
669 comando que queremos que as linhas impressas sejam
670 redirecionadas da tela para o arquivo novo\_arq\_dados.csv.
671
672 Agora, suponha que você queira calcular um índice usando
673 três variáveis de sua base de dados, e que o índice será a
674 soma das colunas 1 e 2 dividida pelo valor da terceira
675 coluna:
676
677 \begin{verbatim}
678 awk '{if(/#/ || /var1/) {print $0 "\tind"} else
679 {{ind = ($1 + $2) / $3}
680 {print $0 "\t" ind}}}' arqdados.csv > novoarq.csv
681 \end{verbatim}
682
683 A seqüência de caracteres ``$\backslash$t'' será convertida
684 em um caractere de tabulação horizontal.
685
686 Atenção: O \st sempre usa ponto como separador de decimais
687 quando está trabalhando com arquivos de dados. Entretanto,
688 o separador de decimais em português é a vírgula, que será
689 usada pelo {\tt awk} para produzir seus resultados. Para
690 evitar esta incompatibilidade, digite o seguinte comando no
691 terminal antes de usar o {\tt awk}:
692
693 \begin{verbatim}
694 export LC_ALL=C
695 \end{verbatim}
696
697 Com o comando acima, a linguagem, os números, etc serão
698 configurados para inglês. Note que programas iniciados no
699 terminal também funcionarão em inglês. Para que o terminal
700 volte a funcionar em português, você tem que digitar
701 ``export LC\_ALL=pt\_BR'' ou ``export LC\_ALL= pt\_PT'',
702 dependendo do seu país (ou fechar o terminal e abrir outro).
703
704 \subsection{Ordenando a base de dados}
705
706 Você pode usar alguns programas disponíveis no Linux (mas
707 que também podem ser instalados no Windows) se quiser
708 ordenar as linhas de uma base de dados inteira, tomando uma
709 ou mais colunas como chaves. Suponha, por exemplo que você
710 queira ordenar a base de dados usando a 12$^a$ coluna como
711 chave. Os seguintes comandos fariam o serviço:
712
713 \begin{verbatim}
714 head -n 1 arqdados.csv > nomesdascolunas
715 sort -g -k 12,12 arqdados.csv > ordenado
716 cat nomesdascolunas ordenado > arqdados_ordenado.csv
717 \end{verbatim}
718
719 Com os comandos acima nós ordenamos o banco de dados em três
720 etapas: (1) Criamos o arquivo {\tt nomesdascolunas} contendo a
721 primeira linha de {\tt arqdados.csv}. (2) Criamos o arquivo
722 {\tt ordenado}, uma versão ordenada do banco de dados.
723 Entretanto, o 12$^o$ nome de coluna foi tratado como se
724 fosse um número e a sua linha foi ordenada. Se ela não for
725 mais a primeira linha do arquivo, as colunas do nosso banco
726 de dados estarão sem rótulos. Se for este o caso, deveremos
727 usar o terceiro comando. (3) Concatenamos os arquivos
728 {\tt nomesdascolunas} e {\tt ordenado}, criando o arquivo
729 {\tt arqdados\_ordenado.csv}. Por favor, leia os manuais de
730 {\tt head}, {\tt sort} e {\tt cat} para maiores detalhes
731 sobre como usá-los.
732
733 \subsection{Mesclando arquivos de dados}
734
735 Para mesclar arquivos de dados usando uma variável como
736 chave, usamos um outro programa externo: {\tt join}. Suponha
737 que você tem um arquivo de dados contendo informações sobre
738 pessoas e que algumas das pessoas, de fato, são casadas umas
739 com as outras. Você quer saber qual a média das diferenças
740 de idade entre os maridos e suas esposas. Não é possível
741 fazer análises comparando pessoas em linhas diferentes,
742 somente variáveis em colunas diferentes. Entretanto, seu
743 banco de dados tem uma variável que pode ser usada como
744 chave: {\em domicílio}. Pessoas que têm o mesmo valor para a
745 variável ``domicílio'', e que são casadas, são casadas uma
746 com a outra. Você poderia seguir dois passos para atingir
747 seu objetivo: (1) Usar {\tt awk} para criar dois arquivos de
748 dados diferentes, um com os homens casados e outro com as
749 mulheres casadas. (2) Usar {\tt join} para mesclar os dois
750 arquivos em um novo. Se a variável domicílio estiver na
751 primeira coluna dos bancos de dados, bastará digitar:
752
753 \begin{verbatim}
754 join -e "" mulheres.csv homens.csv > casais.csv
755 \end{verbatim}
756
757 O comando acima iria ler os dois arquivos seguintes:
758
759 \begin{verbatim}
760 domic renda idade domic renda idade
761 123 4215 23 123 3256 27
762 124 3251 35 125 4126 25
763 126 0 20 126 4261 22
764 127 1241 45 128 3426 60
765 \end{verbatim}
766
767 E produzir:
768
769 \begin{verbatim}
770 domic renda idade renda idade
771 123 4215 23 3256 27
772 126 0 20 4261 22
773 \end{verbatim}
774
775 Não há problema em haver uma dupla ocorrência de ``renda'' e
776 ``idade'' porque, ao abrir o banco de dados, o \st irá
777 acrescentar `\_' à segunda ocorrência. Se você tiver que
778 mesclar dois arquivos usando mais de uma coluna como chave,
779 você pode usar o {\tt awk} para criar uma coluna chave única
780 que concatene os caracteres de todas as colunas chave. Por
781 exemplo, se as suas variáveis chaves estão nas colunas 2 e
782 3:
783
784 \begin{verbatim}
785 awk '{if(/renda/) {print "key" "\t" $0} else {
786 if(NF == 0) {print $0} else {
787 {print $2$3 "\t" $0}
788 }
789 }
790 }' pessoas.csv > pessoas_com_chave.csv
791 \end{verbatim}
792
793 \section{Modo não interativo}
794
795 Se você tem que repetir muitas vezes a mesma análise, você
796 certamente não achará divertido ter que iniciar o \st e,
797 pela milésima vez, escolher a mesma seqüência de comandos do
798 menu. Se for este o seu caso, será possível usar o \st no
799 modo não interativo. Abra o \st com a opção \verb --silent ,
800 e forneça a ele como parâmetro o arquivo contendo o que
801 você teria que digitar se o \st estivesse sendo executado no
802 modo normal. A única diferença é que no modo {\tt silent} o
803 \st não imprime a mensagem ``Pressione <ENTER> para
804 continuar'', e, portanto, você não deve incluir esse <ENTER>
805 no script. Por exemplo, se você quiser fazer uma correlação
806 entre as variáveis ``a'' e ``b'' em um arquivo de dados
807 chamado, digamos, {\tt dia365.csv}, você poderia criar um
808 arquivo com nome de {\tt automatico} com o seguinte conteúdo:
809
810 \begin{verbatim}
811 2
812 1
813 a
814 b
815 0
816 0
817 \end{verbatim}
818
819 O próximo passo seria invocar o \st com o seguinte comando:
820
821 \begin{verbatim}
822 statist --silent --noplot dia365.csv < automatico
823 \end{verbatim}
824
825 O resultado seria impresso na tela. Entretanto, se você
826 preferir que os resultados sejam salvos em um arquivo
827 chamado relato365 digite:
828
829 \begin{verbatim}
830 statist --silent --noplot dia365.csv < automatico > relato365
831 \end{verbatim}
832
833 \section{Dicas úteis}
834
835 \begin{itemize}
836
837 \item Por favor, comunique qualquer problema que encontrar
838 neste documento ou no \st para: statist-list@itevation.de
839 (em inglês) ou para mim (jalvesaq\-@gmail.com).
840 Escreva também para fazer sugestões de mudanças no
841 programa ou dizendo quais características você gostaria de
842 ver adicionadas ao {\tt statist}.
843
844 \item Quando você encontrar uma questão do tipo ``Fazer tal
845 coisa? (s/N)'', a letra ``N'' maiúscula significa que se
846 você digitar qualquer letra diferente de ``s'', ou mesmo
847 se simplesmente pressionar <Enter>, será considerado que
848 sua resposta é ``Não''.
849
850 \item A última versão do \st está disponível na Internet:
851
852 \end{itemize}
853
854 \begin{center}
855 \href{http://statist.wald.intevation.org/}
856 {http://statist.wald.intevation.org/}
857 \end{center}
858
859 \end{document}
860
861 % vim:tw=60