"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