Вы находитесь на странице: 1из 55

1

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
Universidade Federal de Alagoas
Instituto de Cincias Biolgicas e da Sade
Laboratrio de Ecologia Quantitativa

Introduo ao uso do software R para as


Cincias Biolgicas

Prof. Marcos Vincius Carneiro Vital


marcosvital.wordpress.com
cantinhodor.wordpress.com

Maro de 2015
2

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
Introduo ao uso do software R para as Cincias Biolgicas
Verso (possivelmente final) de maro de 2015

Este documento nasceu como um guia para auxiliar os estudantes da disciplina


de Bioestatstica do ICBS/UFAL no uso do software R. Aos poucos, porm, comecei a
achar que ele poderia ser til para outras pessoas interessadas em aprender a usar o
programa, e comecei a edit-lo para que possa ser usado por qualquer um. Caso voc
deseje usar e/ou distribuir este material, peo apenas que mantenha a sua total
integridade e as informaes de autoria. parte disso, ele pode ser usado e distribudo
gratuitamente. Ah, e um aviso importante: tenha em mente de que este um guia no
tem como objetivo ensinar estatstica ele visa apenas a sua aplicao prtica no R.
Como estou comeando a produzir novos materiais para R, esta possivelmente
a verso final. Mas ainda posso fazer revises, ento sugestes de modificaes e
indicaes de erros so muito bem vindos. E se por acaso voc no tenha obtido este
material diretamente no meu blog, sugiro acess-lo para conferir se a sua verso de
fato a mais nova: http://marcosvital.wordpress.com/ ou http://cantinhodor.wordpress.com/
Esta apostila foi concebida para ser usada de maneira prtica, usando o R ao
mesmo tempo que se l o texto. Como sugesto de uso, ento, o ideal manter o R
aberto durante a leitura, e ir repetindo os procedimentos que aparecem aqui. Todos os
procedimentos descritos no texto aparecem em imagens do R com sua execuo, para
que voc possa comparar facilmente com o que est fazendo. Caso voc no tenha em
mos os arquivos com os dados utilizados ao longo dos exemplos, confira o Anexo 1
l no final para obt-los. No final de cada seo eu inclui um resumo das funes
utilizadas naquela parte, para facilitar a reviso e servir para referncias rpidas durante
o seu aprendizado. E para facilitar ainda mais as revises, no final de tudo h um
segundo anexo, no qual dou instrues rpidas e resumidas dos principais
procedimentos vistos na apostila (para os alunos da minha disciplina, este pedao
especialmente interessante).
Espero que todos aproveitem bem este manual e tenham uma tima experincia
utilizando o R!
Atenciosamente
Marcos Vincius Carneiro Vital
3

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
SUMRIO
1. Introduo ............................................................................................................................5
1.1. Obtendo e instalando o software no Windows. .............................................................. 5
1.1.1 Usando o R com um IDE ............................................................................................ 5
1.2. Primeiro contato. ........................................................................................................... 6
1.3. O R como uma calculadora ............................................................................................. 7
1.4. Usando funes no R ...................................................................................................... 8
1.5. Usando os mecanismos de ajuda .................................................................................... 9
1.6. Criando objetos ............................................................................................................ 10
1.7. Importando uma planilha de dados para o R ................................................................ 12
1.8. Instalando e ativando pacotes no R .............................................................................. 15
1.8.1. Pacotes com interface grfica ................................................................................ 16
1.9. Usando um script, inserindo comentrios e salvando tudo ........................................... 17
1.10. Resolvendo problemas comuns no R .......................................................................... 20
1.10.1. Objeto no encontrado ........................................................................................ 20
1.10.2. No foi possvel encontrar a funo qualquer ................................................... 21
1.10.3. Smbolo inesperado ............................................................................................. 21
1.10.4. Tio, um danado de um maiszinho fica aparecendo no lugar do >! ................... 22
1.10.5. Orientaes gerais ............................................................................................... 23
1.11. Funes utilizadas captulo 1 ................................................................................... 24
2. Dados e grficos ................................................................................................................. 25
2.1. Reconhecendo variveis de uma planilha ..................................................................... 25
2.2. Medidas de tendncia central e de disperso ............................................................... 26
2.3. Lidando com subconjunto de dados ............................................................................. 27
2.3.1. A funo tapply (e por que ns a amamos!) ........................................................... 28
2.4. Estudando a distribuio de frequncias de uma varivel: o histograma ....................... 29
2.5. Grficos, grficos, grficos! ........................................................................................... 29
2.5.1. Grficos de disperso ............................................................................................ 31
2.5.2. Grficos de barras.................................................................................................. 32
2.5.3. Boxplots e grficos de mdia com barras de erro ................................................... 32
2.6. Indo alm dos grficos bsicos ..................................................................................... 34
2.7. Funes utilizadas captulo 2 ..................................................................................... 35
3. Alguns testes estatsticos ................................................................................................... 36
3.1. A escolha de um teste estatstico.................................................................................. 36
4

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
3.2. O teste de qui-quadrado............................................................................................... 36
3.3. O teste T de Student ..................................................................................................... 38
3.3.1. Caudalidade do teste T .......................................................................................... 39
3.4. A anlise de varincia (ANOVA) .................................................................................... 40
3.5. A regresso linear simples ............................................................................................ 41
3.6. Pressupostos dos testes estatsticos ............................................................................. 43
3.6.1. Pressupostos do qui-quadrado .............................................................................. 43
3.6.2. Pressupostos do teste t.......................................................................................... 43
3.6.3. Pressupostos da ANOVA e da regresso linear simples........................................... 44
3.6. Funes utilizadas captulo 3 ..................................................................................... 46
4. E agora, o que vamos fazer? ............................................................................................... 47
4.1. Onde buscar ajuda? ...................................................................................................... 47
4.1.1. Documentao bsica e sistema de ajuda .............................................................. 47
4.1.2. Bibliografia ............................................................................................................ 49
4.1.3. Google ................................................................................................................... 49
4.1.4. Listas de email ....................................................................................................... 49
ANEXO 1: dados utilizados ..................................................................................................... 51
ANEXO 2: guia rpido! ............................................................................................................ 54
A2.1. Usando a ajuda. ......................................................................................................... 54
A2.2. Lendo os dados. ......................................................................................................... 54
A2.3. Grficos bsicos. ........................................................................................................ 54
A2.4. Testes estatsticos. ..................................................................................................... 55
A2.5. Testes de pressupostos. ............................................................................................. 55
5

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
1. INTRODUO
Nesta introduo ns vamos: instalar e ter um primeiro contato com o programa;
ter nosso primeiro contato com uma funo; aprender a usar os mecanismos de ajuda;
criar objetos; importar dados; instalar pacotes e, finalmente, criar e utilizar scripts!
Depois de ler e executar as instrues apresentadas aqui, voc estar preparado para
comear a usar o R pra valer.

1.1. Obtendo e instalando o software no Windows.


O R um software livre, o que significa que no tem custos e que seu cdigo
fonte est acessvel para qualquer usurio. Ele pode ser obtido em seu site oficial:
http://www.r-project.org/
Basta acessar o link CRAN no lado esquerdo da tela, selecionar um dos
endereos para fazer download, e selecionar o sistema operacional. Supondo que voc
est usando um computador com Windows, clique em Download R for Windows, em
seguida em base e, por fim, no link para download que aparecer no alto da tela. O R
recebe atualizaes constantes, e se voc desejar instalar uma verso mais recente, saiba
que ele no substituir a verso anterior, que deve ser desinstalada manualmente pelo
usurio (ou mantida, o que pode ser til para utilizar pacotes antigos que no existam
nas verses mais novas). O processo de instalao em si simples, ento no vou
detalh-lo aqui.
Nunca se esquea de que o R possui uma quantidade imensa de material sobre
seu uso nas mais diversas reas da cincia, e buscar material bastante importante como
parte do processo de aprendizado. Na pgina inicial do programa h alguns manuais
disponveis (no link Manuals, no lado esquerdo), que podem ser um bom ponto de
partida, e com qualquer busca na internet bem fcil encontrar material gratuito
disponvel, com os mais variados graus de detalhe e abrangncia. Na medida em que
desejar avanar no uso do programa, faa buscas e aproveite a existncia deste material,
que uma das vrias vantagens de se usar o R. Quando desejar buscar na internet por
algum material especfico (como uma anlise ou conjunto de anlises de uma
determinada rea), um bom ponto de partida buscar por: CRAN anlise desejada.

1.1.1 Usando o R com um IDE


Como voc mesmo ver (ou j viu), o R no um programa muito vistoso.
Mais do que isso, com algum tempo voc poder pensar que algumas funcionalidades
6

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
poderiam estar mais facilmente acessveis, como a visualizao dos objetos utilizados
durante uma seo, o acesso s pastas de trabalho e outras coisas do tipo. Pensando
nestes e em outros aspectos, algumas pessoas desenvolveram os IDEs, que uma sigla
para Integrated Development Environment (algo como ambiente de desenvolvimento
integrado). Os IDEs so programas que adicionam ao R uma interface de usurio mais
amigvel e com mais funcionalidades. Para os usurios de Windows, existem pelo
menos dois IDEs bem conhecidos para o R:
RStudio: http://www.rstudio.com/
Tinn-R: http://nbcgib.uesc.br/lec/software/desenvolvidos/editores/tinn-r/en
Us-los simples: basta ter o R instalado no computador e depois instalar um
dos programas. O RStudio bem conhecido e muito usado por a; o Tinn-R no tem
tanta visibilidade, mas bem conhecido aqui no Brasil, pois desenvolvido na
Universidade Estadual de Santa Cruz (UESC), em Ilhus, Bahia. Com certeza devem
existir outras opes por a, e pode ser interessante pesquisar um pouco antes de
escolher um IDE para se usar. Se quiser saber mais, um bom ponto de partida este
texto do criador do Tinn-R: http://nbcgib.uesc.br/lec/llec/avale-es/editor-gui-ide Agora,
claro que no h nada de errado em usar o R puro (eu mesmo trabalho sempre com
ele assim, sem nenhum acessrio), mas dar uma olhada nos IDEs uma boa, pois ele
pode facilitar bastante a vida do usurio, especialmente para quem ainda est se
habituando com o programa.

1.2. Primeiro contato.


Ao abrir o programa pela primeira vez, no vemos um visual tpico da maioria
dos programas de computador, com muitos menus e cones: o que chama a ateno
uma janela central, o R console. Praticamente todas as tarefas que executaremos sero
feitas nesta janela, via comandos que devem ser digitados manualmente. Aps algumas
informaes sobre a verso, a licena de uso, os contribuidores e os mecanismos de
ajuda, o console termina com um smbolo > em vermelho, onde os comandos podem
ser digitados. E isso mesmo: o cursor do R vai ficar ali te olhando, piscando e
esperando voc digitar alguma coisa...
Se voc nasceu no incio da dcada de 80 (ou antes disso), provavelmente se
lembrar do bom e velho MS-DOS e no achar to estranho assim. Caso contrrio,
deve estar pensando: e agora?! Bom, o funcionamento bsico na verdade bem simples:
basta digitar o comando desejado e teclar enter, e o programa responde executando a
7

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
tarefa desejada. Agora, claro que se voc escrever qualquer coisa, o R possivelmente
retornar uma mensagem de erro, pois ele no saber interpretar o que voc disse.
Mas no se preocupe; depois de aprender alguns comandos bsicos, as coisas vo
comear a fluir com mais tranquilidade e menos estranheza.
O fundamental, neste primeiro momento, no ficar intimidado com este modo
de uso em linhas de comando. Ele com certeza pode parecer assustador para quem est
comeando a usar o R e nunca usou programas que funcionam assim antes. Mas com
algum tempo de uso esta reao inicial ir passando, e voc ir ficar cada vez mais
vontade. Em resumo: no tenha medo, ok?

1.3. O R como uma calculadora


Nosso contato inicial com o programa R ser feito usando-o para resolver
operaes matemticas. Neste sentido, podemos pensar no R como uma grande e
completa calculadora cientfica. Comece digitando uma operao bem simples, como
uma soma, por exemplo, e depois tecle enter:

O programa, ento, executa a operao e apresenta o resultado. Temos que


chamar a ateno para duas coisas:
- o que foi executado vai ficando para trs no console, e no pode ser alterado
ou usado novamente sem repetir a operao. Mais adiante iremos aprender a salvar os
resultados de nosso interesse para posterior uso.
- o resultado aparece aps o nmero 1 entre colchetes. Isto no muito relevante
quando temos apenas um valor como resultado, mas faz diferena quando o nosso
resultado um vetor com vrios valores. Neste caso, o R sempre ir indicar, no incio de
cada linha do console, qual o primeiro valor da linha (se uma linha comear com [11],
por exemplo, isto quer dizer que o primeiro valor daquela linha o 11 valor do vetor).
No entendeu? No se preocupe, cedo ou tarde voc ver isso acontecer na prtica, e
ver que bem simples.
8

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
Agora siga adiante e faa algumas operaes, para sentir um pouco o uso do
R. Para multiplicao use *, para diviso use / e para calcular potncias use o
smbolo ^ entre a base e o expoente (por exemplo, 2^3 para dois elevado ao cubo).
Lembre-se que para o R executar qualquer tarefa voc deve pressionar a tecla enter
quando terminar de escrever o comando desejado. Perceba, tambm, que o R entender
o ponto como separador decimal, e no a vrgula (este comportamento est associado
apenas aos dados inseridos diretamente no R; no caso de dados importados, o R
normalmente segue a configurao sobre separador decimal do computador,
convertendo as vrgulas em pontos sem problemas).

Bacana, no? Agora deixo uma dica bem geral sobre o uso do R. Como ele um
programa que a maioria das pessoas considera um pouco difcil de se dominar,
fundamental us-lo com frequncia, mesmo para as tarefas mais banais. Ento tente se
lembrar dele quando voc estiver no computador e precisar da calculadora. No lugar de
abrir a calculadora do Windows, abra o seu novo amigo R, e use-o para fazer as contas
necessrias. Parece besteira, mas o hbito de us-lo com certeza far diferena no seu
processo de aprendizado. E se precisar que o R resolva contas um pouco mais
complicadas, veja a prxima seo, onde vamos conhecer as primeiras funes.

1.4. Usando funes no R


As operaes matemticas bsicas so bem fceis de executar, e envolvem
apenas a digitao dos operadores matemticos em si. Mas claro que o R permite ir
alm disso, e realizar outras operaes a partir do uso de suas funes. Todas as funes
9

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
no R seguem a mesma lgica de uso: basta digitar o nome da funo seguido dos
argumentos necessrios, que devem estar entre parnteses. Ao longo desta apostila ns
vamos explorar muitas funes, e seu uso ficar cada vez mais familiar. Sempre que
voc vir, ao longo do texto, uma palavra em itlico seguida de (), estar diante de uma
funo.
Neste primeiro momento, vamos experimentar algumas funes matemticas
simples. Experimente, por exemplo, calcular a raiz quadrada de um nmero usando a
funo sqrt(). Se voc digitar sqrt(16), por exemplo, estar calculando a raiz quadrada
de 16. Agora vamos calcular um logaritmo com a funo log(), digitando log(100,10),
que o comando para se calcular o logaritmo de 100 na base 10. Note que como a
funo precisou de dois argumentos, ns os separamos por uma vrgula, e este um
outro aspecto geral das funes no R: os argumentos so sempre separados por vrgulas
(voc tambm pode incluir espaos entre os argumentos, o que no afeta o seu
funcionamento).

1.5. Usando os mecanismos de ajuda


No tpico anterior, usamos a funo log(), que utilizou dois argumentos: o
nmero e a base. Um questionamento que pode surgir : como saber quais so os
argumentos de uma funo? E a resposta simples e muito til: basta utilizar o
mecanismo de ajuda do R, que pode ser chamado digitando um ponto de interrogao
seguido pelo nome da funo desejada. Experimente, ento, usar o comando ?log. O
resultado uma nova janela, aberta no navegador de internet, com informaes da
funo log(). Tome algum tempo para explorar o formato geral da pgina de ajuda, pois
ela segue um padro em todas as funes. Um dos pedaos mais importantes das
10

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
pginas de ajuda das funes fica ao seu final: quase sempre h um ou mais exemplos
de uso, o que uma tima ferramenta para aprendizado.
A prxima pergunta provavelmente : mas e se eu nem mesmo sei o nome da
funo que desejo?! Aqui entra o mecanismo de busca do programa, que em sua verso
mais simples pode ser chamado com uma dupla interrogao seguida do termo a ser
buscado. Experimente, por exemplo, usar o comando ??variance (para buscar funes
que faam referncia palavra varincia), e explore um pouco o resultado, composto
por diversas funes que se relacionam palavra utilizada. Uma verso um pouco mais
completa desta mesma funo o help.search(), na qual termos com mais de uma
palavra podero ser buscados, bastando estarem entre aspas simples. Experimente o
comando help.search(linear regression) e veja os resultados. Como toda
documentao do R est em ingls, lembre-se sempre em buscar utilizando as palavras
neste idioma, ok?
Uma caracterstica bacana do sistema de help do R o seu funcionamento no
formato html, aberto pelo navegador de internet padro do computador. Este sistema
permite que voc possa abrir novas janelas ou abas usando os links (que aparecem como
palavras azuis grifadas) que aparecem em diversas palavras-chave que possuem pginas
de ajuda prprias. Desta forma, a partir de uma funo voc pode explorar outras
relacionadas, navegando de funo em funo. E no se engane: apesar de utilizar o
navegador, as pginas de ajuda esto todas em seu computador, ento no h
necessidade de conexo com a internet.

1.6. Criando objetos


A linguagem R faz parte de uma categoria de linguagens de programao
chamada de programao orientada a objetos. A consequncia prtica para ns, meros
mortais usurios do programa, que quase tudo o que desejarmos fazer nele se
relacionar com algo que ele identifica como objeto. Um objeto ser reconhecido como
um nome qualquer que ns mesmos atribumos, e guardar dentro dele um conjunto
de informaes (valores, nomes, etc.). A criao de um objeto no R simples e
11

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
intuitiva: basta criar um nome e apontar uma seta para ele. A tal seta um comando
chamado de assign, e formada por um trao (o sinal de menos do teclado) e o smbolo
> ou < (a escolha do smbolo depende da direo). Exemplificando, digite o
comando: objeto1<-15. Se o R no der nenhuma resposta, ele criou corretamente o
objeto denominado objeto1, que composto pelo nmero 15. O fato do R ficar
silencioso aps o comando normal: ns mandamos o programa criar o objeto, e s;
ele s iria exibir algum tipo de resultado se fosse instrudo para tanto. Se quiser, voc
pode dar o mesmo comando apontando a seta para o outro lado, assim: 15->objeto1. O
resultado o mesmo.
Agora que criamos o objeto, podemos us-lo vontade. Por exemplo, podemos
chamar o objeto no R, simplesmente digitando seu nome e teclando enter.
Experimente fazer isso, e veja o resultado. Tambm podemos realizar operaes
matemticas. Experimente, por exemplo, digitar a operao objeto1*2. O R exibir o
resultado, mas perceba que o objeto continua inalterado (basta chama-lo de novo e
conferir)! Isto acontece porque ns apenas perguntamos ao R qual o resultado de se
multiplicar o objeto por 2. Se quisermos que ele armazene o resultado no lugar do
nmero original, ento o comando seria: objeto1<-objeto1*2.

Note que ele apenas calculou o resultado...

... sem salv-lo no objeto!

Aqui sim o resultado foi salvo no objeto.

Viu s?

Esta caracterstica do R que voc acabou de ver aps a multiplicao do nosso


objeto por 2 bem tpica das linguagens de programao, e precisamos nos acostumar
com ela. Apesar os computadores serem capazes de processamentos incrivelmente
rpidos e complicados, eles so, em essncia, meio burrinhos... O que um computador
sabe fazer muito bem seguir instrues, mas a questo que eles sempre as seguem ao
p da letra! Ento, quando voc achar que o R no est fazendo exatamente o que voc
12

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
precisa, pense duas vezes sobre o comando que voc utilizou, pois pode ser apenas uma
questo de comunicao. Antes de seguirmos, o contexto me obriga a contar uma velha
piada sobre programao! O programador chega em casa e encontra um bilhete da
esposa: v padaria e compre duas caixas de leite. Se tiver po, compre dez.
Chegando na padaria, ele pergunta: tem po? Como a resposta foi sim, ele comprou dez
caixas de leite. Tun-tun-tss! (se ouvir a piada durante a aula, tenha um mnimo de
educao, e ria um pouco para agradar o coitado do professor)
Mas voltemos ao que interessa. Um comando simples, mas bastante importante,
permite criar objetos com sequncias de valores (em um formato de vetor), e pode ser
chamado no R simplesmente com a letra c. Se precisarmos de um objeto com os
nmeros inteiros de 1 a 10, por exemplo, poderamos cria-lo assim: sequncia<-
c(1,2,3,4,5,6,7,8,9,10).
E nunca se esquea: ao nomear um objeto no R, voc sempre dever chama-lo
pelo nome exatamente como foi criado. Se mudar uma letra maiscula para minscula,
um acento ou qualquer outro pequeno detalhe, o programa no ir entender. Por fim, o
comando ls() sempre pode ser chamado quando se quiser saber quais objetos esto na
memria.

Uma letra maiscula faz toda a diferena.

E um simples acento tambm.

1.7. Importando uma planilha de dados para o R


Agora que j temos uma idia de como criar e utilizar objetos, vamos dar um
passo alm, e aprender a importar uma planilha de dados para dentro de um objeto do
R. Esta uma tarefa importantssima, pois na esmagadora maioria das vezes ns
criamos uma planilha de dados em um gerenciador de planilhas (como o Excel ou o
Calc), que oferece um ambiente voltado para organizao e armazenamento de
13

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
informaes. O R oferece diversos comandos que permitem a importao de dados,
envolvendo diversos formatos de arquivo diferentes. Como no dia dia vocs podem se
deparar com arquivos de diferentes extenses, uma maneira de simplificar tudo
transformar os dados em um formato chamado de texto separado por tabulaes (com
a extenso .txt), e importa-los a partir da. O processo de converso de um formato de
planilha para o txt com tabulaes simples: podemos copiar e colar o contedo no
bloco de notas e salvar normalmente por l; ou usar a funo de salvar como do
gerenciador e selecionar o formato apropriado.
Uma vez criado o arquivo, devemos primeiro indicar para o R a sua localizao,
antes de import-lo de fato. Este um processo simples, feito pelo menu do R: basta
acessar o menu Arquivo e selecionar a opo Mudar dir..., e selecionar o diretrio
onde o arquivo se encontra (lembre-se de que o R no ver o arquivo, pois estamos
apenas selecionando o diretrio). Este procedimento estabelece o que chamamos de
diretrio de trabalho, e um aspecto bem importante para termos um bom uso do
programa. Uma vez que o diretrio de trabalho est estabelecido, tudo o que tentarmos
importar e tudo aquilo que exportarmos (ou seja, salvarmos para fora do R) ser
automaticamente feito ali. Uma boa recomendao criar uma pasta de fcil acesso, e
dentro dela criar subpastas para cada anlise, projeto ou outra coisa relevante. E caso
voc deseje definir o diretrio de trabalho manualmente, veja as funes setwd() para
determinar o diretrio e getwd() para saber qual o diretrio atual.

Aps a escolha do diretrio desejado, caso queira voc poder conferir quais
arquivos esto salvos dentro dele com o comando dir(). Aps conferir se o arquivo
desejado est ali, basta import-lo para um objeto usando o comando read.table(). O
14

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
comando pede apenas um argumento obrigatrio: o nome do arquivo (que deve estar
entre aspas e com a extenso). Mas usaremos outro argumento, este opcional:
informaremos ao R que a nossa planilha tem um cabealho, que uma linha que
identifica o nome das variveis. O comando completo, ento, ser:
read.table(nomedoarquivo.txt,header=T). O argumento header=T a indicao de
que existe um cabealho (o T a abreviao de TRUE).
Neste momento, siga os exemplos das imagens ilustrativas, e importe o arquivo
pratica1.txt para o R, pois vamos continuar a us-lo nas prximas sees. Caso no
tenha o arquivo, pule a parte da importao e veja como obter os dados no Anexo 1
desta apostila.

Normalmente seguimos com um attach(planilha) para reconhecer as variveis (veja na seo 2)!

Se por acaso voc precisar abrir um arquivo que, por algum motivo, est fora do
seu diretrio de trabalho, experimente usar a funo file.choose() como argumento no
lugar do nome do arquivo, e veja o que acontece! Legal, no ?
Agora que conseguimos importar um conjunto de dados para o R, podemos
conferir o que foi importado. A maneira mais bsica de se fazer isso simples: basta
chamar o objeto que recebeu os dados. Este mtodo, porm, no l muito prtico,
pois todos os dados iro aparecer no console, o que no til para planilhas com muitas
linhas e/ou colunas. Vamos preferir, ento, usar funes que permitam uma viso mais
compacta dos nossos dados. A funo head() uma delas: ela far o R mostrar no
console apenas as seis primeiras linhas da tabela importada, permitindo, por exemplo,
conferir os nomes das variveis. Outra funo bastante til summary(), que nos d
algumas estatsticas descritivas dos dados (o resultado exato depende da natureza das
variveis).
15

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
O comando summary() nos d: para variveis qualitativas, o nmero de vezes
que uma classe apareceu; e para variveis quantitativas, o valor mnimo, o primeiro
quartil, a mediana, a mdia, o terceiro quartil e o valor mximo (nesta ordem). Alm
desta utilidade bsica, summary() uma funo bastante til para se inspecionar
diversos objetos do R, como objetos que guardam os resultados de um teste estatstico,
por exemplo. Na medida em que aprender a usar o R, use esta funo de diversos tipos
de objetos para que voc possa se explor-la ao mximo. Neste contexto de explorao
de objetos tambm h outra funo bem importante: a str(). O seu resultado no l
muito intuitivo para um usurio iniciante, mas na medida em que compreendemos
melhor o funcionamento do R esta se torna uma funo muito til para se inspecionar
todo tipo de objeto e at mesmo funes.

Veja o resultado para uma varivel categrica.

E para uma quantitativa.

Para os mais desesperados para mexer nos dados: se voc for muito ansioso e
quiser continuar a explorar os dados, pule as prximas pginas e rume direto para o
captulo 2, onde continuaremos a mexer neles. Mas depois volte aqui e veja o que
perdeu, pois h informaes bem importantes, ok?

1.8. Instalando e ativando pacotes no R


Agora que os aspectos mais gerais do R j foram cobertos, voc j deve ser
capaz de usar o programa, tanto seguindo roteiros e sugestes de funes quanto
descobrindo por conta prpria funes que possam fazer o que voc precisa. Cedo ou
tarde, entretanto, voc ir descobrir que o R instalado apenas com um conjunto
relativamente bsico de funes, o que pode tornar necessrio o uso de um pacote. Um
16

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
pacote do R um conjunto de funes compiladas juntas com um objetivo e/ou tema em
comum. H pacotes voltados para anlise de diversidade biolgica (como o vegan e o
biodiversityR, por exemplo), pacotes para o uso de mtodos filogenticos comparativos
(como o pacote ape), pacotes com interface grficas de usurio (como o Rcmdr), e
muito mais.
Carregar um pacote que j esteja no seu computador bem simples: basta usar o
comando library() com o nome do pacote. Caso voc ainda precise instalar o pacote,
uma das maneiras mais simples fazer isso pelo prprio R pelo menu Pacotes, na
opo Instalar Pacotes. Esta funo necessita que o computador tenha uma conexo
com a internet, e ir perguntar qual servidor usar para o pacote ser baixado. Uma vez
baixado e instalado, o pacote j estar na pasta adequada, e poder ser carregado com a
funo library(). Ah, e se voc usar o comando library() sem nenhum argumento, s
com os parnteses vazios mesmo, o R mostrar para voc a lista de pacotes que j est
no seu computador.

Por fim, para saber qual o objetivo geral dos pacotes, voc pode acessar a
homepage do R e, seguindo o mesmo caminho para baixar o programa, acessar o link
packages e acessar a opo Table of avaliable packages, sorted by name. Voc ver,
em seguida, a lista de todos os pacotes oficiais do programa, com uma breve descrio
do seu propsito.

1.8.1. Pacotes com interface grfica


O R possui alguns pacotes que, alm de adicionar novas funes nossa
disposio, adicionam novas maneiras de interagirmos com o programa ao criarem uma
nova janela de interface com o usurio. Dois pacotes so particularmente interessantes:
o Rcmdr e o GrapheR. O primeiro focado na realizao dos principais testes
estatsticos, e o segundo voltado para a produo de grficos. Se, por um lado,
17

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
fantstico termos uma interface de usurio mais amigvel, por outro devemos ter muita
cautela de no dependermos disso, pois pacotes com estes so sempre, por definio,
limitados a algumas funes.
Uma boa maneira de us-los como uma ferramenta acessria no aprendizado:
ambos permitem que voc veja os comandos das funes executadas, o que pode ser
muito til para se aprender a us-las. Em suma: vale pena conhec-los, mas eles
devem sempre ser usados com muita cautela, para que o usurio no acabe dependendo
completamente deles e acabe no dominando o uso do R. Se voc no ficar atento a
isso, pode acabar se dando muito mal no futuro, quando precisar executar uma funo
que no existe em um pacote destes (o que, na prtica, a realidade da maioria das
funes)! Ento resista tentao de us-los o tempo todo (especialmente o Rcmdr), e
no se deixe seduzir pelo lado negro da fora, ok?

1.9. Usando um script, inserindo comentrios e salvando tudo


Comparado com a maioria dos outros softwares de estatstica, o R pode ser
considerado um tanto exigente com o usurio, uma vez que praticamente todas as suas
funes devem ser executadas por linhas de comando. Para lidar com isso sem grandes
dificuldades, podemos nos aproveitar de algumas funcionalidades do programa: a
insero de comentrios, o uso de scripts e o armazenamento das informaes do
console.
Inserir comentrios no R uma tarefa bem simples: basta comear a linha com o
smbolo #, e tudo o que for escrito em seguida no ser executado. recomendvel que
os comentrios sejam usados durante o processo de aprendizado, na forma de lembretes
sobre o uso das funes. Eles tambm so bastante teis durante a interpretao de
resultados de anlises, pois permitem que o usurio anote as suas primeiras concluses e
interpretaes diretamente com os resultados.
18

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
Mas voc pode se organizar ainda mais do que isso! Alis, no s pode como
deve. O console do R tende a ficar um tanto bagunado na medida que vamos usando o
programa, especialmente estamos aprendendo a usar. Ele vai juntando mensagens de
erro, resultados repetidos e coisas do tipo, e no final fica bem feioso de se usar para
alguma coisa. a que entram os scripts. Eles so sequncias de comandos que podem
ser armazenados e usados de novo quantas vezes quisermos. Podem ter quantos
comentrios quanto acharmos necessrio, e no acumulam informaes de resultados ou
mensagens de erros. E tem mais: no cotidiano do uso do R, bem comum que
precisemos fazer o mesmo procedimento diversas vezes com diferentes conjuntos de
dados. Isto pode se tornar bem trabalhoso (para no dizer um p no saco!) quando temos
que repetir linhas de comando muito longas, o que torna muito prtico armazenar linhas
prontas para que possam ser usadas novamente. E a entram novamente os scripts, que
podem conter modelos de anlises, para voc usar e modificar vrias vezes.
Criar um script no R bem fcil: v no menu Arquivo e selecione a opo
Novo script. O R ento ir abrir uma janela em branco, onde podemos digitar o nosso
script.
19

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
Um script do R uma simples sequncias de comandos (que podem incluir
comentrios), que podem ser enviados para serem executados no console quando o
usurio assim o desejar. Basta selecionar a(s) linha(s) desejada(s) (ou selecionar todas
usando o atalho ctrl+a) e usar o atalho ctrl+r, e o console ir executar tudo. Uma vez
que a janela do script estiver selecionada, ele poder ser salvo pelo menu Arquivo na
opo Salvar. Os arquivos de script do R so salvos como a extenso .R, mas podem
ser abertos pelo bloco de notas se voc quiser.

Podemos criar scripts para diversas situaes: para importao de dados,


carregamento de pacotes, execuo de anlises estatsticas, etc. claro que o usurio
deve ficar atento para os nomes de arquivos, objetos e variveis, pois quaisquer
mudanas podem impedir a execuo correta do script. Uma dica tentar, quando
possvel, usar nomes genricos de arquivos e objetos, evitando que o script tenha que
ser muito modificado a cada nova execuo. Para voc que est aprendendo, abuse dos
20

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
comentrios nos seus scripts! Assim voc alia a utilidade prtica deles para realizar
anlises com o processo de aprendizado. Recomendo fortemente us-los no dia dia do
R, pois com o tempo eles sero grandes aliados no seu uso e aprendizado.
Por fim, aps uma sesso de uso do R, voc pode achar interessante salvar tudo
o que se passou no console, para se ter registrados os procedimentos, seus resultados e
os eventuais comentrios adicionados. Este um procedimento bem simples: basta ir
novamente ao menu Arquivo e selecionar a opo salvar em arquivo. O R ento ir
salvar um arquivo de extenso .txt, que poder ser aberto em qualquer editor de texto.
Caso voc tenha problemas em abrir o arquivo depois de salv-lo, verifique se o R
inclui a extenso; caso ele no a tenha includo, basta renomear o arquivo incluindo a
extenso .txt no final do nome.

1.10. Resolvendo problemas comuns no R


AIMEUDEUSDOCUORNOFAZOQUEEUQUERO!!!!!1!!!
Calma, muita calma. Quando o R no faz o que queremos, ele normalmente nos
responde com uma mensagem de erro, que pode ser bastante informativa sobre o que
est acontecendo. Lembre-se sempre de ler com calma as mensagens de erro que
surgirem, e tentar interpret-las, pois na imensa maioria das vezes a soluo bem
simples. Na medida em que nos habituamos com o programa, comeamos a perceber
quais so os erros mais comuns, e as coisas vo ficando cada vez mais fceis. Vamos
ver, a seguir, alguns dos erros mais comuns que costumamos ter com o R e como
podemos solucion-los.

1.10.1. Objeto no encontrado


Essa no, um erro! :p

O erro acima ocorre quando tentamos fazer referncia a um objeto que no


existe. Pode ocorrer quando nos esquecemos de importar os dados ou quando
simplesmente escrevemos errado o nome do objeto. Soluo 1: confira quais objetos
esto na memria do R e quais os seus nomes com um ls().

Convenhamos, este era bvio. Quem iria


escrever dados com z?!
21

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
O mesmo erro costuma aparecer quando importamos os dados mas nos
esquecemos de usar o comando attach() (veja-o na prxima seo) para que o R
reconhea os nomes das variveis. Soluo 2: use o comando attach() nos dados
importados.

1.10.2. No foi possvel encontrar a funo qualquer


A mensagem bem clara: voc tentou chamar uma funo que no existe.
Provavelmente voc no digitou corretamente o nome da funo. Soluo 1: reveja o
que escreveu em busca de erros (fique atento ao detalhes, como letras maisculas e
smbolos).

Outra possibilidade ter tentado chamar uma funo de um pacote sem o ter
carregado previamente. Soluo 2: use o comando library() para carregar o pacote
necessrio.

1.10.3. Smbolo inesperado


Um erro comum, normalmente gerado quando erramos pontuao e/ou
espaamento. No caso de objetos, costuma ocorrer quando adicionamos um espao ou
smbolo que no existe no nome original (e o espao encarado como um smbolo pelo
R). Soluo 1: novamente, confira o que voc escreveu, e se necessrio use o ls().
22

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
Quando associado uma funo, o mais provvel ter esquecido uma vrgula
entre os argumentos ou ter feito alguma confuso com aspas ou parnteses. Soluo 2:
confira o comando, e lembre-se de que todos os argumentos de uma funo devem
ser separados por vrgula.

1.10.4. Tio, um danado de um maiszinho fica aparecendo no lugar do >!


Pois , o famoso smbolo de mais atormenta muita gente, mas algo muito
simples e no um erro em si: ele surge como parte de uma funcionalidade do prprio
R, que permitir que um comando seja escrito em vrias linhas. Caso voc esteja
escrevendo uma funo bem longa, com muitos argumentos, o R permite que voc a
escreva aos poucos, teclando enter entre um conjunto de argumentos caso ache
necessrio. Para isso ser possvel, basta que voc tenha comeado a escrever os
argumentos e tecle enter antes de fechar os parnteses daquela funo ou aspas de uma
parte da funo; depois, basta terminar de escrever e teclar enter novamente para que
tudo volte ao normal.

Eventualmente erramos ao escrever uma funo, e o smbolo de mais surge


porque esquecemos de fechar parnteses ou aspas. Se no for mais possvel completar o
comando, basta teclar esc para que o R cancele o comando e volte para o prompt.
23

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
Aqui eu teclei esc, e ele voltou para o prompt

1.10.5. Orientaes gerais


A maioria dos erros com os quais nos deparamos usando o R so coisas
pequenas: um errinho de digitao aqui, uma vrgula mal colocada ali, um parnteses
no fechado acol, e por a vai. Quando topar com um erro, ento, sempre comece
revisando com calma todas as etapas que voc seguiu, conferindo tudo o que voc
escreveu e comparando com o que for relevante (nomes de arquivo ou de objetos, etc).
Quase sempre ser bem fcil de resolver, e na medida em que descobrimos os nossos
prprios erros aprendemos mais e diminumos a chance de comet-los de novo. Agora,
quando o erro persiste e voc no entende por qu, no h nada de errado em procurar
ajuda! Fruns na internet, listas de discusso, colegas e professores: mais cedo ou mais
tarde voc ir encontrar algum que possa ajudar. Um dos aspectos mais interessantes
do R que existe uma grande comunidade de usurios por trs do programa, e devemos
saber usar isso a nosso favor.
24

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
1.11. Funes utilizadas captulo 1
Estas foram as funes que vimos at aqui:

+, -, *, / operadores matemticos
sqrt() raiz quadrada
log() logartimo
?, ??, help.search() mecanismos de ajuda
<-, -> associa elementos (valores, nomes, planilhas, etc) a objetos do R
c combina elementos em um vetor ou uma lista
ls() lista os objetos na memria do R
dir() lista os arquivos no diretrio de trabalho
read.table() l uma planilhas em arquivo externo
head() lista as seis primeiras linhas de uma planilha
summary() resume as informaes de um objeto do R
str() funo para inspecionar um objeto ou funo, mostrando detalhes de sua
estrutura.
library() carrega um pacote que j esteja no computador
# permite a insero de comentrios
25

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
2. DADOS E GRFICOS
Neste captulo ns vamos lidar com conjuntos de dados no R, dando os
primeiros passos estatsticos com o programa. Especificamente, ns vamos aprender
funes bsicas para sumarizar e manipular dados, alm de aprender a criar os nossos
primeiros grficos. Em outras palavras: vamos meter a mo na massa e fuar os dados!
\o/

2.1. Reconhecendo variveis de uma planilha


Na seo passada, aprendemos a usar a funo read.table() para importar os
dados de uma planilha para o R, na forma de um objeto. O programa pode lidar com
informaes em vrios formatos, mas como o nosso foco em estatstica, vamos lidar
com dados organizados em planilhas nas quais as unidades amostrais estejam nas linhas
e as variveis estejam nas colunas. Digitar os dados diretamente no R tambm seria
possvel, mas no l muito prtico, e o ideal usar um bom e velho gerenciador de
planilhas para isso. Agora, se voc estiver muito curioso, d uma espiada nas funes
data.frame(), edit() e fix() para saber mais sobre como inserir dados diretamente no R,
sem importao.
Uma vez que um conjunto de dados esteja inserido no R na forma de um objeto,
conveniente que sejamos capazes de fazer o programa reconhecer as variveis pelo
seu nome. Existem duas maneiras de fazer isso: a mais direta, sem usar funes
intermedirias, usar o smbolo $. Basta escrever objeto$varivel para que o R seja
capaz de entender a referncia. Este detalhe sobre a linguagem do R pode ser bem til
na manipulao de objetos que so gerados como resultado de anlises estatsticas,
ento muito importante se lembrar disso. J a outra maneira, que bastante prtica,
usar o comando attach(), que faz com que todas as variveis em uma planilha possam
ser identificadas pelo nome, da mesma forma que um objeto qualquer (mesmo que elas
nos e transformem em objetos de fato). H tambm, por fim, um comando que desfaz o
attach(): o comando detach(). Este um comando importante quando vamos lidar
com diversos conjuntos de dados diferentes em uma mesma seo do R.
E no se esquea: o R sensvel, tadinho. Se ao escrever o nome da varivel
voc esquecer de um acento, adicionar uma letra maiscula ou coisa do tipo, ele vai
responder bem magoado com uma mensagem de erro... J falamos sobre isso antes, mas
no custa lembrar mais uma vez, no ?
26

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
Sem o attach(), a varivel
no reconhecida.

O detach() desfaz o que o attach() fez.

2.2. Medidas de tendncia central e de disperso


Na primeira parte deste guia, vimos que o comando summary() gera algumas
medidas descritivas sobre os nossos dados: a mdia, a mediana, os quartis e os valores
mximos e mnimos. Estas mesmas mtricas podem ser calculadas individualmente,
bem como outras que podem ser teis na descrio de conjuntos de dados.

Aqui estabelecemos os percentis que desejamos,


usando decimais.
27

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
As funes mean(), var() e sd() calculam, respectivamente, a mdia, a varincia
e o desvio padro. A funo quantile() permite calcular a mediana, os quartis e
quaisquer percentis desejados (veja o exemplo acima para entender o uso desta ltima
funo).

2.3. Lidando com subconjunto de dados


O conjunto de dados que apareceu nos nossos exemplos at agora possui a
varivel categrica Ambiente, que possui duas classes (que tambm podemos chamar
de nveis). Dado o contexto deste conjunto de dados, uma pergunta bvia que poderia
ser feita : h alguma diferena na riqueza mdia de espcies entre os dois tipos de
ambiente? Ns trataremos desta pergunta diretamente quando realizarmos um teste T,
mas neste momento seria interessante aprendermos como calcular as medidas acima
(como mdia e desvio, por exemplo) de maneira restrita, de acordo com a nossa varivel
categrica. Para fazer isso, vamos usar colchetes para criar condies no R. A sintaxe
bsica disso seria algo como varivel[condio], onde sinais como >, < ou ==
podem ser usados para criar as condies desejadas. Lembre-se de que a igualdade deve
ser sempre representada com dois sinais de igual, e que os nveis de uma varivel
categrica devem sempre ser representados entre aspas. Os exemplos a seguir devem ser
o suficiente para se aprender como usar este mecanismo:

Resultado usando apenas dados com


Ambiente da classe secundrio.

Resultados usando apenas dados com


rea maior do que 100.

Legal. Mas e se eu quiser usar mais de uma condio de uma vez? Ou ainda, e se
eu quiser usar duas condies alternativas?! O R entende & como e, e entende |
28

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
como ou. Confuso? Veja os exemplos a seguir, pois na verdade bem simples e
prtico.

Riqueza mdia das unidades com rea maior do que 100


ou com abundncia da espcie 1 maior ou igual a 2.

Riqueza mdia para ambientes da classe


secundrio e com rea maior do que 100.

2.3.1. A funo tapply (e por que ns a amamos!)


Legal, acabamos de ver como eu posso calcular, por exemplo, a mdia de
riqueza por ambiente. No exemplo que estamos usando, temos apenas duas categorias
de ambiente: primrio e secundrio. E se eu tivesse cinco categorias? Ou 12? Ou 37?!
Bom, eu iria desconfiar seriamente da sua sanidade mental ao usar uma varivel com 37
variveis, mas vamos l. A questo, neste caso, que daria um trabalho repetir o
comando um monte de vezes, para cada classe da nossa varivel categrica. a que
entra a funo tapply().
O R, como linguagem de programao, permitiria que eu escrevesse uma funo
para automatizar este procedimento, usando um tal de loop. uma coisa muito legal,
mas neste momento inicial podemos usar uma verso pr-programada, que est na
funo tapply(). Esta funozinha mgica faz o seguinte: aplica uma funo qualquer
(como mdia, por exemplo) a uma varivel quantitativa para cada classe de uma
varivel categrica. Em outras palavras: no lugar de calcular cada mdia de uma vez, eu
fao tudo isso em um comando s. A sintaxe fcil: tapply(var_quantitativa,
var_categrica, funo_desejada). Veja o exemplo:

Aqui pedi a mdia.

E nesta pedi o desvio padro.


29

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
2.4. Estudando a distribuio de frequncias de uma varivel: o histograma
Os histogramas so grficos que representam a distribuio de frequncias dos
valores de uma varivel quantitativa. uma excelente maneira de se comear a explorar
um conjunto de dados, e cri-los no R bastante simples: basta usar a funo hist(). No
uso bsico da funo o prprio R ir decidir em quantas classes dividir os intervalos
da varivel, o que pode ser alterado pelo argumento breaks. Tome algum tempo para
explorar o help da funo, dando especial ateno para os exemplos.

Usando o argumento breaks podemos


alterar o nmero de classes do
histograma.

2.5. Grficos, grficos, grficos!


Se esta apostila representa o seu primeiro contato com o R, ento parabns: voc
acaba de criar o seu primeiro grfico neste programa! A! Vamos fazer mais? Bom,
este material no tem por objetivo explorar muito as funcionalidades grficas do R (que
so imensas, por sinal), mas conveniente chamar a ateno para alguns detalhes.
Comeando do comeo: voc deve ter notado que o R abriu uma nova janela
quando voc executou o comando hist() para fazer o grfico. Se voc fechar a janela e
executar o comando novamente (ou executar um novo comando grfico), uma nova
janela se abrir. Se, por outro lado, voc executar um novo comando sem fechar a
janela, o novo grfico ir sobrescrever o anterior (e, neste caso, a janela no ir pular
30

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
para a frente, e continuar em segundo plano ou minimizada). Caso deseje salvar o
grfico, clique com o boto direito do mouse sobre a imagem ou, com a janela em
primeiro plano, v ao menu Arquivo e explore as opes disponveis.
Existem muitos argumentos comuns a todas as funes grficas do R, como xlab
e ylab (para dar nomes aos eixos), main (para atribuir ttulos ao grfico), axes (para se
adicionar ou remover os eixos) e muitas outras. A documentao de ajuda da funo
par() uma excelente fonte de informaes sobre argumentos gerais que podem ser
usados em diversos grficos diferentes. Ao explorar as funes grficas do R, use e
abuse dos exemplos que aparecem nas pginas de ajuda, pois eles so uma das melhores
maneiras de se aprender. Caso esteja com dificuldades, tente criar seu grfico passo
passo: crie um grfico bsico e depois v acrescentando, um a um, os argumentos
desejados, at chegar ao ponto ideal.
A partir deste ponto, vou considerar que voc, leitor, j crescidinho, e vai ser
capaz de fuar um pouco as coisas sem a minha ajuda. Ento vou adicionar, nos
exemplos, alguns argumentos que voc dever explorar, mesmo quando eu no der
muitas informaes detalhadas sobre eles, ok? Coragem! Mexer em argumentos (e errar
muitas vezes!) faz parte da experincia de aprendizado no R. Comece vendo o exemplo
a seguir:

Usei o argumento main


para remover o ttulo.

E ylab para mudar o nome


do eixo y.

J o nome do x veio como estava na


planilha, mas poderia ser mudado
com xlab.

Vamos olhar agora, bem brevemente, para outros grficos tpicos da estatstica.
Estes so grficos que mostram a relao entre duas variveis, situao na qual existe
31

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
uma conveno geral: sempre que existir uma varivel explicativa (ou independente),
ela deve ser representada no eixo x, enquanto a varivel resposta (ou dependente) deve
ser representada no y. A exceo, claro, so os grficos de barras, nos quais o eixo y
representa apenas frequncias, de maneira similar aos histogramas. Alguns destes
grficos deles sero vistos novamente mais adiante, quando lidarmos com os testes
estatsticos, e na ocasio poderemos ver mais detalhes e argumentos conforme
necessrio.

2.5.1. Grficos de disperso


Os grficos de disperso representam a relao entre duas variveis
quantitativas. Cri-los no R extremamente simples: basta usar a funo plot(). A
sintaxe simples: plot(eixo_x, eixo_y). Veja o exemplo, e depois reveja este tipo de
grfico quando falarmos de regresso linear. Ah, se voc no gostar muito das bolinhas
vazias, experimente usar o argumento lty e veja o que pode ser feito. lty=16 uma boa
pedida.
32

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
2.5.2. Grficos de barras
Os grficos de barras podem ser usados para representar uma ou duas variveis
categricas, e so construdos no R pela funo barplot(). Em planilhas de dados
comuns, nas quais as linhas so as unidades amostrais e as colunas variveis, a funo
table() um intermedirio importante para chegarmos ao grfico desejado. Veja o
exemplo a seguir para aprender o funcionamento bsico da funo (percebam que usei o
argumento legend para identificar as cores das colunas).

A ordem das variveis faz


diferena! Experimente refazer
mudando a ordem e veja.

beside=T evita que as barras fiquem empilhadas.

2.5.3. Boxplots e grficos de mdia com barras de erro


Quando desejamos comparar valores de uma varivel quantitativa de acordo
com as classes determinadas por uma varivel categrica, podemos usar grficos que
representem alguma medida de tendncia central acompanhada de uma ou mais medidas
de variao e/ou erro. A escolha de uma medida ou outra depende da natureza dos
dados: a mdia, por exemplo, uma medida que no faz sentido em dados com uma
distribuio de frequncia muito assimtrica.

Boxplots:
Uma das maneiras mais comuns de se representar medianas, normalmente
acompanhadas de quartis e/ou percentis, so os boxplots. Cri-los no R feito com a
funo boxplot(), como no exemplo a seguir (no qual usei alguns argumentos a mais
para modificar o grfico bsico). Para usar este comando, a relao entre as variveis foi
determinada usando o smbolo ~. Esta representao bem comum no R, e ir
33

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
aparecer no uso de diversos modelos estatsticos. A lgica desta representao ser
sempre varivel_resposta~varivel_explicativa.

O argumento ylim foi usado para


estabelecer a escala do eixo y.

Mdias e barras de desvio ou erro:


Para representarmos mdias e alguma medida de desvio ou de erro, o mais
comum usarmos um grfico no qual a mdia representada por um ponto (ou barra) e
o desvio ou erro por uma barra de variao em torno da mdia. No h funo bsica no
R para conseguir isto diretamente, ento temos que apelar para algum pacote que facilite
este processo.
A opo que possivelmente a mais simples utilizar a funo
lineplot.CI() do pacote sciplot. Esta funo cria um grfico visualmente muito bom (e o
argumento type permite usar apenas os pontos, sem as linhas). O seu uso bsico trabalha
apenas com barras que representem o erro padro, mas possvel alter-la para usarmos
outras medidas (veja um dos exemplos, onde usei desvio).
34

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
O argumento type usado para se definir se
o grfico ter linhas, pontos ou ambos.

Se no dissermos nada, as barras


so de erro padro.

Agora refazendo, mas desta vez representando o desvio padro nas barras. A
funo fica mais longa, mas no nada absurdo. Veja o help da funo se quiser
entender melhor o que eu fiz aqui:

Neste ltimo argumento mudei as barras


para o desvio. Use var() onde usei sd() para
ter o grfico com as varincias.

2.6. Indo alm dos grficos bsicos


O que fizemos at agora foi usar os grficos bsicos do R, que so, digamos, os
grficos de fbrica. Existem outras opes bem interessantes, que so bem amplas e
constituem quase que um mundo parte, pois usam argumentos e comandos
completamente diferentes do que vimos at aqui. No vou explor-los, mas recomendo
que os usurios interessados deem uma olhada nos pacotes lattice e ggplot2. Ambos
esto disponveis no CRAN, e possuem um monte de material: livros, apostilas, blogs e
coisas do tipo. Faa uma busca sobre eles no google e d uma espiada para ver o tipo de
coisa que eles podem fazer. Se ficar interessado, instale os pacotes e comece executando
os exemplos, pois ser uma boa maneira de entender como eles funcionam.
35

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
2.7. Funes utilizadas captulo 2
Vou resumir, a seguir, as funes que vimos nesta seo.

data.frame(), edit(), fix() funes para se editar planilhas no R


$ permite visualizar parte de um objeto (exemplo planilha$varivel)
attach() faz o R reconhecer os nomes das variveis de uma planilha
detach() desfaz o attach()
mean() calcula a mdia aritmtica
var() calcula a varincia amostral
sd() calcula o desvio padro amostral
quantile() calcula percentis
[] permite criar condies/restries ao se ver ou manipular um objeto ou varivel
& e | smbolos para e e ou, respectivamente
hist() histogramas
par() parmetros grficos gerais
plot() grficos de disperso
barplot() grficos de barra
table() tabelas de contingncia
boxplot() boxplots
lineplot.CI() grficos de mdia (pacote sciplot)
36

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
3. ALGUNS TESTES ESTATSTICOS
Beleza! Voc agora uma pessoa quase ntima do R (ui!) e daqui para frente s
precisa de prtica, prtica e mais um pouco de prtica. Quanto mais atividades aprender
a realizar no R, mais sua linguagem ficar familiar, e mais fcil ser us-lo. Neste
captulo vamos aprender a realizar algumas anlises estatsticas que so bastante teis
no dia a dia de um bilogo. Sero quatro testes: qui-quadrado, teste T, ANOVA e a
regresso linear simples. Aprend-los, alm de til do ponto de vista prtico, servir de
base para que voc possa dominar outros testes no programa.
Neste ponto bom relembrar uma coisa: este no um guia para se aprender
estatstica! O objetivo deste material aprender a dominar o R, e somente isso. Caso
voc consiga fazer um teste mas no saiba bem o que est fazendo, pare tudo e v
estudar, ok? Executar um teste estatstico que no conhecemos pode ser bem fcil na
prtica, mas as chances de chegarmos a concluses completamente equivocadas (leia-
se: as chances de fazer cagada!) ficam muito grandes

3.1. A escolha de um teste estatstico


A escolha de um teste definida, em parte, pela natureza das variveis estudadas
e a sua (presumida) relao. O quadro a seguir um resumo um pouco grosseiro de
como feita esta escolha:
Var. explicativa
Categrica Quantitativa
Var. Categrica Qui-quadrado Regresso logstica
resposta Quantitativa Teste T / ANOVA Regresso linear

Com exceo do teste de qui-quadrado, os demais trs testes que veremos so


ditos paramtricos, e dependem de alguns pressupostos para que seus resultados sejam
considerados confiveis. Para simplificar um pouco as coisas, falarei sobre eles apenas
ao final do captulo, aps termos visto todos os testes.

3.2. O teste de qui-quadrado


Uma possvel associao entre duas variveis categricas pode ser facilmente
visualizada se organizarmos os dados em uma tabela de contingncia, que mostra a
contagem do nmero de vezes que cada par de categorias apareceram juntos. No R,
podemos associar as duas variveis categricas com a funo table() (que vimos na
prtica anterior ao construirmos um grfico de barras) e, em seguida, testar a
37

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
significncia desta associao pelo teste de Qui-quadrado com a funo chisq.test(). A
funo mostra, como resultado, o valor de qui-quadrado, os graus de liberdade e o valor
de p, nesta ordem.

Em muitos casos (e este no uma exceo), interessante associar o resultado


de um teste a um novo objeto, pois isto permite explorar resultados que no seriam
mostrados com a simples execuo da funo. No caso do teste de qui-quadrado,
podemos desejar ver, por exemplo, os valores das frequncias esperadas por acaso. Se
associarmos o resultado do teste a um objeto e o inspecionarmos com a funo
summary(), notaremos que existem vrios componentes, e que um deles contm estes
valores: o componente expected. Observe, no exemplo a seguir, como podemos usar o
smbolo $ para ter acesso a estes valores (eu disse que ele seria til!).
Por fim, para compreendermos o resultado do teste, essencial investigarmos os
dados em si, o que normalmente feito de forma grfica. Veja o exemplo de grfico de
barras na apostila anterior.
38

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
3.3. O teste T de Student
O teste T possui trs variantes bsicas: a mais usada normalmente chamada de
teste t para amostras independentes, e permite a comparao de duas mdias; o teste t
para uma amostra compara uma mdia com um valor fixo; e o teste t pareado (ou teste t
para amostras dependentes) compara mdias de unidades amostrais dependentes aos
pares. Todos estas variaes do teste t podem ser executadas no R pela funo t.test(), e
o uso do teste t pareado e do teste t para uma amostra pode ser ativado com o uso dos
argumentos paired e mu, respectivamente, como pode ser visto nos exemplos a seguir.
Usualmente, o resultado de um teste t vem acompanhado de uma representao
grfica. Veja o exemplo de grfico de mdias com barras de erro na apostila anterior.
Independente da variante de teste T realizado, a apresentao do seu resultado no
R sempre comear com os valores de t, de graus de liberdade e de p, nesta ordem.
Veja:

O teste T comum, visto em qualquer livro basico de estatstica, presume


varincias homogneas. No R, isto deve ser informado com o argumento var.equal=T.
Caso isto no seja feito, o teste realizado ser para varincias heterogneas. Fique muito
atento para isso, pois o teste para varincias heterogneas consome mais graus de
liberdade, e s deveria ser usado quando for essencial.

Com var.equal=T, informamos que


presumimos varincias homogneas. Este o
teste T mais comum.
39

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
No teste T para uma amostra (bem pouco usado na biologia) comparamos uma
mdia com um valor de referncia qualquer:

O argumento mu permite o teste t para


uma amostra.

O teste T pareado feito no R a partir de duas colunas, uma vez que duas
medidas so feitas em uma mesma unidade amostral:

O argumento paired define o teste


como pareado.

3.3.1. Caudalidade do teste T


E um teste de hiptese no qual a sua predio tenha uma direo (ou seja, voc
tem uma expectativa prvia de qual mdia maior), importantssimo definir a
caudalidade do teste. Isto feito no teste T do R com o argumento alternative:

O argumento alternative definiu o teste como uni-caudal.


40

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
Caso voc esteja realizando um teste T sem definir a caudalidade a priori, pense
duas vezes. Definir isto interessante tanto de um ponto de vista cientfico (a hiptese
normalmente ser mais clara quando estabelecemos uma direo) quanto do ponto de
vista estatstico (aumenta o poder do teste).

3.4. A anlise de varincia (ANOVA)


A ANOVA uma grande famlia de testes, e neste guia veremos a sua verso
mais simples, normalmente chamada de one-way ANOVA. Assim como o teste t, este
um teste para comparao de mdias, com a diferena de que na ANOVA ns vamos
comparar trs ou mais classes da varivel categrica (ou nveis do fator, na terminologia
especfica desta anlise). A ANOVA faz parte de uma famlia ainda maior de anlises,
que chamamos de modelos lineares. O R lida com todos os modelos lineares de maneira
similar, e um detalhe importante que todas as anlises desta famlia devem ser salvas
em um objeto, para seu resultado ser apresentado aps o comando summary(). No caso
da ANOVA, a funo para realizar a anlise aov(). Veja o exemplo a seguir para
compreender seu uso:

Perceba que a hiptese nula da ANOVA de que as mdias no diferem. Ao


rejeit-la, ento, ns apenas sabemos que pelo menos duas das mdias so diferentes
entre si, mas no sabemos quais so. Uma das formas mais comuns de saber isso (mas
no a nica) so os testes a posteriori, como o teste de Tukey, chamado pela funo
TukeyHSD(), que atua diretamente no objeto com o resultado da ANOVA:
41

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
O objeto usado deve ser o prprio
modelo da ANOVA realizada.

Aqui h um valor de p para


cada par comparado.

Por fim, a interpretao final do resultado de uma ANOVA costuma ser


acompanhada por uma representao grfica. Assim como no teste t, veja na apostila
anterior o exemplo de grfico de mdias com barras de erro.

3.5. A regresso linear simples


A regresso linear simples testa a existncia de uma relao linear de causa e
efeito entre uma varivel explicativa e outra resposta, ambas quantitativas. Tambm faz
parte da famlia dos modelos lineares. No R, pode ser chamado pelo comando lm().
Veja o exemplo a seguir:

Os resultados so parecidos com os de uma ANOVA, mas conta com alguns


detalhes a mais. No exemplo acima, a linha (Intercept) refere-se ao intercepto da
equao linear (o b, na equao y = ax + b), e verifica a hiptese nula de que ele seria
igual a zero; de uma forma geral, ns raramente nos preocupamos com a esta parte do
resultado, pois o intercepto normalmente no faz parte da nossa pergunta. J a linha
42

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
abaixo, com o nome da varivel explicativa, sempre do nosso interesse: ela verifica a
hiptese nula de que o parmetro a da equao seja igual a zero; ou seja, ao rejeitarmos
a hiptese nula ns conclumos que de fato h uma relao estatisticamente significativa
entre as duas variveis, e que o efeito desta relao medido por este parmetro. Por
fim, a interpretao da correlao, que est representada no parmetro Adjusted R-
squared tambm importante, e mede o quanto da variao na varivel resposta foi de
fato explicada pela varivel explicativa. Confuso? Ento vejamos os resultados do
exemplo acima: o teste rejeita a hiptese nula de que a riqueza de espcies no varia em
funo da rea do fragmento de mata (o valor de p foi pequenininho, est apresentado
em potncia de dez: 6,2510-6). O resultado da regresso permite concluirmos que, em
mdia, cada incremento de uma unidade de rea aumenta a riqueza em 0,13885 (este o
valor de a da equao). Por fim, o valor de R2 ajustado nos diz que 39,46% da riqueza
de espcies explicada pelo tamanho da rea dos fragmentos.
Os resultados de uma regresso linear que rejeita a hiptese nula so comumente
apresentados com uma representao grfica que mostra os dados (em um grfico de
disperso) e a equao (na forma de uma reta). Para adicionar a reta da equao ao
grfico criado pelo comando plot(), basta, com o grfico aberto, executar o comando
abline(), fazendo referncia ao objeto que contm o resultado da regresso:

Perceba que o comando abline() s vai funcionar se a


janela do plot() estiver aberta!
43

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
3.6. Pressupostos dos testes estatsticos
Todos os testes estatsticos possuem pressupostos, que so coisas que devem ser
verdade para que o resultado do teste seja confivel. Alguns destes pressupostos esto
ligados ao delineamento experimental: por exemplo, a maioria dos testes pressupe que
as suas unidades amostrais sejam independentes. Mas tambm existem pressupostos
especficos, que podem ser verificados nos dados em si, e sobre eles que falaremos
brevemente a seguir. Meu objetivo aqui tratar deles apenas rapidamente para fins
prticos, mas lembre-se de que verificar os pressupostos rotineiramente
importantssimo nos testes estatsticos, ok? Um bom livro de estatstica sempre vai
mencionar os pressupostos, ento basta consultar um caso voc fique em dvida. E se o
livro no falar nada sobre o assunto? Bom, provavelmente ele no um bom livro de
estatstica...

3.6.1. Pressupostos do qui-quadrado


O teste de qui-quadrado no possui pressupostos testveis como os que
veremos para os demais testes, ento basta ficar atento para um pressuposto bem
simples: devemos observar se a tabela de contingncia possui no mximo 20% dos seus
valores menores do que cinco. Se este pressuposto for violado, o resultado do teste no
confivel.

3.6.2. Pressupostos do teste t


O teste t possui dois pressupostos bsicos sobre a varivel quantitativa: que as
suas varincias sejam homogneas e que os dados no difiram significativamente da
distribuio normal. Ambos podem ser testados rapidamente no R, pelos testes de
Levene e de Shapiro-Wilk, respectivamente. O teste de Levene para homogeneidade de
varincia pode ser feito com o comando leveneTest(), do pacote car, enquanto o teste de
Shapiro-Wilk para normalidade pode ser chamado pela funo shapiro.test(). Note que
para ambos os testes ns queremos a hiptese nula! O que acontece que o teste de
Levene tem como hiptese nula a homogeneidade das varincias, e o teste de Shapiro-
Wilk tem como hiptese nula a normalidade dos dados; ou seja, os pressupostos do teste
t sero aceitos se os testes mencionados no rejeitarem a H0. Pode parecer meio confuso
no incio, mas com o tempo a gente se acostuma. Como estes pressupostos so sobre os
dados em si, devemos ter o costume de test-los antes de iniciar o teste (o que um
pouco diferente nos modelos lineares, como veremos a seguir).
44

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
Como vimos acima, se o pressuposto da homogeneidade de varincias for
rejeitado, h uma sada prtica: o teste t para varincias heterogneas. Na prtica, isto
est automaticamente feito no comando t.test(), a no ser que o usurio acrescente o
argumento var.equal=T (como fizemos no exemplo acima). Ou seja, se nada for dito, o
R j fara o teste t para varincias heterogneas.
Agora vejamos os exemplos. Primeiro o teste de Levene:

E agora o de Shapiro-Wilk. Veja com ateno o desdobramento do exemplo, no


qual repeti o teste para cada classe da varivel categrica. Isto muito importante, ok?

Vimos que se rejeitarmos a homogeneidade de varincias temos um a soluo


prtica dentro do prprio teste T. J no caso da rejeio do pressuposto de
normalidade (que deve sempre ser testado, alis, para os dados agrupados nos dois
grupos a serem comparados, como foi feito no exemplo acima), uma sada recorrer a
um teste no paramtrico. No vamos explorar esta sada aqui, mas caso voc deseje
conhec-la, veja a documentao do comando wilcox.test() para saber mais sobre o teste
de Mann-Whitney.

3.6.3. Pressupostos da ANOVA e da regresso linear simples


45

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
U, por que juntar os dois?! Eu mencionei, talvez mais de uma vez (foi mesmo?
no sei, mas no vou rever todo o texto s por isso...), que ANOVA e regresso so
membros de uma famlia mais geral, os modelos lineares. Acontece que os modelos
lineares possuem pressupostos em comum, e por isso podemos verifica-los usando as
mesmas tcnicas. Bacana, n?
Um pressuposto em comum de todos os modelos lineares a normalidade dos
resduos. Isso mesmo: dos resduos, e no dos dados em si. uma confuso bem
comum testar a normalidade dos dados, mas isto desnecessrio e pouco parcimonioso.
Bom, ns j vimos como testar normalidade: basta usar o nosso amigo Shapiro-Wilk,
como vimos no teste T ali em cima. Mas como obter os resduos? Se voc seguiu a
minha recomendao de salvar o resultado do teste em um objeto, ento ser bem fcil:
objeto$residuals vai funcionar com qualquer modelo linear no R:

Neste exemplo, no rejeitamos a normalidade dos


resduos, ento est tudo ok.

Na ANOVA, assim como no teste T, temos o pressuposto de homogeneidade de


varincias. No tem complicao: se o pressuposto o mesmo, o teste o mesmo, ento
basta seguir com o teste de Levene como fizemos no teste T, ok?
J na regresso, temos um pressuposto de que existe a chamada
homocedasticidade dos dados (agora tente falar homocedasticidade bem rpido trs
vezes sem errar!). Conceitualmente, este um pressuposto bem parecido com a
homogeneidade de varincias, mas aqui no temos classes. Podemos verifica-lo
visualmente, comparando os resultados esperados pela regresso com os resduos da
anlise No vamos entrar em detalhes sobre isto, ento veja o exemplo da verificao
visual da homocedasticidade a seguir e busque mais informaes em um bom livro.
46

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
3.6. Funes utilizadas captulo 3
Vou resumir, a seguir, as funes que vimos nesta seo.

chisq.test() teste de Qui-quadrado


t.test() teste T (argumentos paired e mu podem ser usados para se obter o T pareado
ou o T para uma amostra, respectivamente)
aov() ANOVA (simples e outras variantes, s depende de como o modelo
construdo)
TukeyHSD() Teste a posteriori de Tukey para a ANOVA
lm() regresso linear simples (ou outros modelos lineares, s depende de como o
modelo construdo)
shapiro.test() Teste de normalidade
leveneTest() Teste de homogeneidade de varincias
abline() Adicionar linha (como a de um modelo) a um grfico
47

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
4. E AGORA, O QUE VAMOS FAZER?
Parabns! Se a minha apostila no foi uma total perda de tempo, voc
acaba de aprender o basico do nosso amigo R. Deste momento em diante, voc
comear a andar com as prprias pernas, ento uma boa hora para respirar fundo e
tentar brincar um pouco com o R por conta prpria, e tentar aprender algumas coisas
por a. E quando eu digo por a, quero dizer na internet (e um pouco no prprio R
tambm).
Neste captulo quero deixar de lado os procedimentos, e falar um pouco sobre
como podemos aprender a fazer uma anlise no R mesmo que no tenhamos algum nos
ensinando. Fazer isso importante por dois motivos. Primeiro, temos que lembrar que o
R , devido sua natureza de software livre e de linguagem de programao,
extremamente flexvel (ou seja, ele faz coisa pra c@#$%&!). Ento obviamente
possvel que um usurio possa aprender tudo o que ele faz sem abrir mo de fazer outras
coisas da sua vida, como comer, dormir, etc. Mas a que est a beleza da coisa: se voc
aprende a fazer um punhadinho de coisas no R (como aprendeu nos dois primeiros
captulos at aqui) e aprende a buscar informaes por conta prpria, est pronto para
fazer qualquer tipo de anlise nele. Segundo, o R tem um aspecto muito interessante,
que uma das suas maiores foras: uma grande comunidade de usurios e
desenvolvedores. Isto significa que tem um monte de gente usando o R, um monte de
gente com dvidas e mais um outro monte tirando dvidas. Se buscar informaes sobre
o R fundamental, um lado bom que h muita informao disponvel!
O nosso objetivo neste captulo final, ento, olhar rapidamente para algumas
fontes importantes de informao, mecanismos de busca e comunidades de usurios.

4.1. Onde buscar ajuda?


4.1.1. Documentao bsica e sistema de ajuda
Ao ser instalado, o R j vem com alguns documentos bsicos, que podem ser
rapidamente acessados no menu Ajuda do programa. L voc poder ver os
documentos em PDF, acessar a central de ajuda em html no seu navegador e at mesmo
chamar as funes de ajuda que vimos no primeiro captulo. Alm dos manuais que
acompanham o programa, mais documentos podem ser encontrados no site oficial: na
barra lateral esquerda, clique em Manuals para ter acesso tanto aos documentos
principais quanto aos demais materiais (guias, tutoriais, etc.).
48

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
Caso voc esteja usando muito as funes de um pacote, pode ser interessante
visitar a pgina do pacote no CRAN, seguindo as instrues l da seo 1.8, e
clicando no nome do pacote. Alguns pacotes possuem os Vignettes, que so manuais ou
tutoriais sobre as capacidades do pacote. Veja, por exemplo, os documentos na pgina
do pacote vegan na imagem a seguir:

Aqui!

Por fim, j falamos um pouco sobre as funes de ajuda do R, e no h muito o


que se acrescentar aqui. Todas as funes do R que esto em seus pacotes oficiais (ou
seja, no CRAN) possuem uma estrutura bsica de ajuda que um timo ponto de
partida para se aprender a us-las. Os exemplos, como mencionado antes, so sempre
uma boa coisa para se conferir. Se voc quiser ter um acesso rpido aos exemplos, use a
funo example(), e o R executar tudo automaticamente para voc.
49

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
4.1.2. Bibliografia
Livros e apostilas sobre o R jamais vo faltar! Na verdade existe tanta coisa, mas
tanta coisa, que pode ser difcil escolher o que usar... Mais importante do que deixar
sugestes, ento, lembrar que a escolha da bibliografia acaba sendo bem pessoal neste
caso. Ento, caso voc encontre um material de R e goste muito dele, siga adiante e use-
o! Ainda assim, para aqueles mais perdidos, deixo aqui apenas duas sugestes de livros
que considero bacanas para quem est aprendendo.

The R Book, Michael J. Crawley, 2012, Wiley:


Este , como o nome sugere, O livro do R. bem voltado para o uso de testes
estatsticos, e um timo livro de referncia para se aprender anlises.
Numerical Ecology with R, D. Bocard, F. Gillet & P. Legendre, 2011, Springer:
Este um excelente livro de base para se trabalhar com estatstica multivariada no R,
cobrindo boa parte dos mtodos usados na ecologia.

4.1.3. Google
Pois :o bom e velho google, amigo de todas as horas de dvida, um timo
companheiro para o usurio do R. Se voc quer saber como se faz alguma anlise,
busque no google e veja o que aparece. Caso o que voc busca seja algo mais ou menos
comum, as chances de voc encontrar um passo a passo bem mastigadinho de como
fazer e interpretar a anlise altssima! claro que, como em qualquer pesquisa na
internet, devemos ter um pouco de cautela com o que encontramos, j que existe muita
coisa de m qualidade publicada sobre qualquer assunto. Mas basta ter um pouco de
bom senso e olhar alguns sinais para fugir das coisas ruins online. Algumas sugestes:
- blogs e/ou sites muito movimentados e com muitos comentrios costumam ser uma
boa, pois os possveis erros so facilmente detectados e corrigidos se muitas pessoas
esto olhando.
- material escrito por autores que voc j conhece ou que foram indicados tambm
uma boa pedida. Algumas vezes possvel encontrar sites mantidos por autores de
pacotes oficiais do R, o que um bom indicativo do material ser de qualidade.

4.1.4. Listas de email


Existem muitas listas e grupos de email de usurios do R, normalmente
organizados por reas de interesse em comum. Caso voc ache interessante participar,
50

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
comece dando uma olhada nas listas oficiais, que esto no CRAN. No site do R, v na
barra lateral e clique em Mailing Lists. A lista R-sigecology bem interessante!
Tambm h uma lista nacional bem ampla, a R-br: http://r-br.2285057.n4.nabble.com/
Por fim, buscando na internet voc certamente encontrar vrias listas, grande e
pequenas. Escolha as que achar mais adequadas e seja feliz! Mas lembre-se de algumas
coisas importantes:
- antes de escrever pela primeira vez, procure saber se h um guia de postagens.
Provavelmente ele existe, e deve conter as regras e sugestes sobre as mensagens da
lista. Ignorar isso aumenta muito a chance de se levar um puxo de orelhas virtual...
- antes de pesquisar alguma coisa, busque no google e na lista, pois sempre existe a
possibilidade da sua dvida j ter sido respondida por algum. Caso voc ache que sua
dvida muito bsica, ento isto provavelmente verdade! Nestas listas normalmente
considerado uma falta de educao perguntar coisas cuja resposta pode ser encontrada
com uma busca bsica na internet.
- algumas listas so muito movimentadas, e participar delas significa receber um monte
de mensagens todos os dias. Pondere isso antes de se cadastrar, e veja se a lista tem uma
opo de receber o digest, que um tipo de bloco de mensagens que voc recebe de
uma vez s no lugar das mensagens individuais.
51

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
ANEXO 1: DADOS UTILIZADOS

Caso voc no tenha os arquivos com os dados utilizados nos exemplos desta
apostila, basta copiar e colar o texto da caixa correspondente no console do R e pronto!

Dados do arquivo pratica1.txt:

dados<-structure(list(UA = 1:50, Ambiente = structure(c(1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,

2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("primrio",

"secundrio"), class = "factor"), rea = c(101L, 115L, 143L,

92L, 51L, 89L, 128L, 149L, 127L, 108L, 83L, 140L, 163L, 41L,

107L, 79L, 104L, 60L, 82L, 148L, 97L, 49L, 164L, 110L, 51L, 40L,

92L, 163L, 128L, 130L, 122L, 96L, 59L, 73L, 90L, 48L, 166L, 121L,

167L, 48L, 78L, 105L, 90L, 105L, 166L, 84L, 57L, 81L, 122L, 112L

), Riqueza = c(35L, 31L, 39L, 25L, 22L, 35L, 43L, 48L, 35L, 38L,

32L, 33L, 40L, 16L, 31L, 23L, 32L, 35L, 22L, 41L, 24L, 18L, 39L,

32L, 19L, 20L, 31L, 26L, 20L, 33L, 36L, 32L, 28L, 23L, 28L, 16L,

44L, 27L, 37L, 24L, 19L, 28L, 27L, 28L, 27L, 20L, 34L, 20L, 31L,

14L), Abund_sp1 = c(3L, 3L, 1L, 6L, 1L, 0L, 3L, 5L, 0L, 2L, 0L,

2L, 2L, 3L, 5L, 3L, 1L, 4L, 3L, 0L, 2L, 3L, 1L, 3L, 3L, 1L, 3L,

1L, 2L, 2L, 2L, 2L, 8L, 5L, 1L, 0L, 3L, 0L, 3L, 2L, 0L, 2L, 0L,

0L, 1L, 3L, 3L, 4L, 1L, 0L)), .Names = c("UA", "Ambiente", "rea",

"Riqueza", "Abund_sp1"), class = "data.frame", row.names = c(NA,

-50L))

#Pronto, os dados esto salvos no objeto dados; pressione enter siga adiante!
52

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
Dados do arquivo fumo.txt; as letras esto pequenas, mas est tudo a!

dados<-structure(list(Fumo = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L,


2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,

2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,

2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,

2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,

2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,

3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,

3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("Moderado",

"No", "Pesado"), class = "factor"), Cncer = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,

2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,

2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,

2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,

2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,

2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,

1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,

2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,

2L, 2L), .Label = c("No", "Sim"), class = "factor")), .Names = c("Fumo", "Cncer"), class = "data.frame", row.names = c(NA, -1011L))

#Pronto, os dados esto salvos no objeto dados; pressione enter siga adiante!
53

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
Dados do arquivo peixes.txt (no exemplo de ANOVA):

dados<-structure(list(Predador = structure(c(3L, 3L, 3L, 3L, 3L, 3L,

3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,

2L, 2L, 2L), .Label = c("Liblula", "Nenhum", "Peixe"), class = "factor"),

Densidade = c(10.4993, 17.6714, 11.1032, 4.6647, 18.9767,

14.2042, 14.8269, 11.8394, 20.9545, 7.3108, 20.2219, 21.4057,

19.6589, 9.9067, 14.5693, 11.037, 11.1047, 4.9696, 7.7347,

16.9973, 7.6902, 10.1636, 1.9043, 1.767, 12.1435)), .Names = c("Predador",

"Densidade"), class = "data.frame", row.names = c(NA, -25L))

#Pronto, os dados esto salvos no objeto dados; pressione enter siga adiante!
54

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
ANEXO 2: GUIA RPIDO!
Neste anexo, apresento um guia rpido de procedimentos no R. Pense nele como
um resumo das principais funes vistas ao longo desta apostila. O objetivo permitir
que quem j leu a apostila possa rever rapidamente as funes durante o uso do
programa.

A2.1. Usando a ajuda.


- Abrir ajuda de uma funo conhecida: ?(funo)
- Procurar funo buscando por uma palavra: ??palavra
- Procurar funo buscando por uma expresso: help.search(expresso desejada)

A2.2. Lendo os dados.


- V no menu Arquivo, selecione a opo mudar dir e selecione a pasta onde est o
arquivo que deseja ler.
- Se desejar, confira os nomes dos arquivos na pasta: dir()
- Use o comando: objeto<-read.table(arquivo.txt, header=T)
- Confira os dados: summary(objeto)
- Associe os nomes das variveis: attach(objeto)
- Se necessrio, carregue os pacotes que ir usar: library(pacote)

A2.3. Grficos bsicos.


- Histograma: hist(varivel)
- Disperso: plot(varivel_x, varivel_y)
- Barras, primeiro use: tabela<-table(varivel_1, varivel_2);
- depois use: barplot(tabela, beside=T, legend=rownames(tabela))
- Boxplots: boxplot(varivel_resposta~varivel_explicativa)
- Mdias: lineplot.CI(varivel_explicativa, varivel_resposta, type=p)
- depende de pacote, ento antes de fazer, use: library(sciplot)
55

Bioestatstica - Prof. Marcos Vincius Carneiro Vital (ICBS UFAL) - Material disponvel no endereo http://marcosvital.wordpress.com/
A2.4. Testes estatsticos.
- Qui-quadrado: chisq.test(tabela)
- tabela deve ser gerada com: tabela<-table(varivel_1, varivel_2)
- Teste T para duas amostras: t.test(varivel_resposta~varivel_explicativa,
var.equal=T)
- Se as varincias forem heterogneas, omitir var.equal=T
- Teste T pareado: t.test(medida1, medida2, paired=T)
- Teste T para uma amostra: t.test(varivel, mu=valor_de_comparao)
- ANOVA: resultado<-aov(varivel_resposta~varivel_explicativa)
- e depois: summary(resultado)
- se desejar a posteriori: TukeyHSD(resultado)
- Regresso linear: resultado<-lm(varivel_resposta~varivel_explicativa)
- e depois: summary(resultado)
- para o grfico, primeiro: plot(varivel_explicativa, varivel_resposta
- depois: abline(resultado)

A2.5. Testes de pressupostos.


- Normalidade: shapiro.test(varivel)
- Nos modelo lineares: shapiro.test(resultado$residuals)
- Homogeneidade de varincias: leveneTest(varivel_resposta~varivel_explicativa)
- Homocedasticidade, veja o grfico: plot(resultado$fitted, resultado$residuals)

Вам также может понравиться