planeco:roteiro:05-descr_base
Diferenças
Esta página mostra as diferenças entre as duas revisões da página.
Ambos os lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anterior | ||
planeco:roteiro:05-descr_base [2018/02/26 19:33] – melina.leite | planeco:roteiro:05-descr_base [2024/01/09 18:38] (Atual) – edição externa 127.0.0.1 | ||
---|---|---|---|
Linha 40: | Linha 40: | ||
* Os dados têm valores extremos (// | * Os dados têm valores extremos (// | ||
- | Ao final deste tutorial esperamos que você consiga responder algumas dessas questões. | + | Ao final deste tutorial esperamos que você consiga responder algumas dessas questões. |
- | + | ||
- | ===== Copiando os arquivos de dados e instalando pacotes ===== | + | |
- | As análises serão realizadas em ambiente R e para isso teremos que instalar alguns pacotes, mas não será necessário ter conhecimento prévio sobre o R, pois forneceremos todos os comandos necessários para a realização da atividade. | ||
- | |||
- | 1) Crie um diretório (pasta), copie os arquivos de dados abaixo para esse diretório e faça a descompactação no mesmo diretório: | ||
- | |||
- | |||
- | * {{ : | ||
- | * {{ : | ||
- | |||
- | /* | ||
- | * bivar | ||
- | * transf | ||
- | */ | ||
- | |||
- | ===== ANALISANDO DADOS UNIVARIADOS ===== | ||
- | |||
- | 1) importe o conjunto de dados para o R | ||
- | < | ||
- | univar1< | ||
- | </ | ||
- | |||
- | 2) Use a função //head// para visualizar as 5 primeiras linhas do conjunto de dados | ||
- | < | ||
- | head(univar1) | ||
- | </ | ||
- | |||
- | 3) Inspecione o resumo dos dados | ||
- | < | ||
- | summary(univar1) | ||
- | </ | ||
- | === Conhecendo os dados: === | + | ===== Conhecendo os dados: |
Note que para variáveis numéricas (contínuas ou discretas) são apresentados os valores Mínimo, Máximo, Média, Mediana, Primeiro quartil, Terceiro quartil, e, no caso de haver dados faltantes, será apresentado o número de dados faltantes (linhas não preenchidas com valores), representados como " | Note que para variáveis numéricas (contínuas ou discretas) são apresentados os valores Mínimo, Máximo, Média, Mediana, Primeiro quartil, Terceiro quartil, e, no caso de haver dados faltantes, será apresentado o número de dados faltantes (linhas não preenchidas com valores), representados como " | ||
Linha 81: | Linha 50: | ||
</ | </ | ||
- | 4) Se quiser, visualize o conjunto de dados como uma planilha convencional | ||
- | < | ||
- | edit(univar1) | ||
- | </ | ||
- | ===ANÁLISES GRÁFICAS=== | + | |
+ | ===== ANÁLISES GRÁFICAS | ||
<WRAP center round important 80%> | <WRAP center round important 80%> | ||
Linha 93: | Linha 59: | ||
</ | </ | ||
- | 1) Vamos olhar como os dados das quatro variáveis numéricas estão distribuídos | + | 1) __Vamos |
+ | |||
+ | |||
**1.a) Histograma de frequência: | **1.a) Histograma de frequência: | ||
- | < | + | |
- | par(mfrow | + | ===== histograma ===== |
- | hist(univar1$COMPRIMENTO_BICO) | + | |
- | hist(univar1$BIOMASSA_AVE) | + | |
- | hist(univar1$BIOMASSA_INSETOS) | + | |
- | hist(univar1$TAMANHO_SEMENTES) | + | |
- | par(mfrow=c(1,1)) ## voltando ao padrão de apresentar apenas 1 gráfico por página | + | |
- | </ | + | |
<WRAP center round box 80%> | <WRAP center round box 80%> | ||
- | **O que está representado no eixo X e no eixo Y de cada um desses gráficos? | ||
- | Quais são os valores que definem as classes usadas no eixo X desse histograma? São os mesmos valores para todos os gráficos? Poderiam ser usados diferentes valores para essas mesmas variáveis? Qual a melhor forma de definir as classes de um histograma? | ||
- | ** | ||
- | </ | ||
- | E se mudássemos para 20 classes no eixo X, como ficariam os gráficos? | + | **__Entenda o seu Histograma__** |
- | < | + | |
- | par(mfrow = c(2,2)) | + | |
- | hist(univar1$COMPRIMENTO_BICO, | + | |
- | hist(univar1$BIOMASSA_AVE, | + | |
- | hist(univar1$BIOMASSA_INSETOS, | + | |
- | hist(univar1$TAMANHO_SEMENTES, | + | |
- | par(mfrow=c(1, | + | |
- | </ | + | |
+ | * O que está representado no eixo X e no eixo Y de cada um desses gráficos? | ||
+ | * Quais são os valores que definem as classes usadas no eixo X desse histograma? | ||
+ | * São os mesmos valores para todos os gráficos? | ||
+ | * Poderiam ser usados diferentes valores para essas mesmas variáveis? | ||
+ | * Qual a melhor forma de definir as classes de um histograma? | ||
- | E se mudássemos para 10 classes no eixo X, como ficariam | + | </ |
- | < | + | |
- | par(mfrow = c(2,2)) | + | Vamos mudar então o número de classes no eixo X e ver como ficam os gráficos. Refaça os gráficos para 20 classes e para 10 classes: |
- | hist(univar1$COMPRIMENTO_BICO, | + | |
- | hist(univar1$BIOMASSA_AVE, | + | |
- | hist(univar1$BIOMASSA_INSETOS, | + | |
- | hist(univar1$TAMANHO_SEMENTES, | + | |
- | par(mfrow=c(1, | + | |
- | </ | + | |
/* | /* | ||
Existem também os gráficos stem-and-leaf (ramos e folhas), que são uma outra forma de representar a distribuição dos dados brutos | Existem também os gráficos stem-and-leaf (ramos e folhas), que são uma outra forma de representar a distribuição dos dados brutos | ||
- | Vantagens: **Dentro** de uma determinada classe (por exemplo, dentre os valores que estào | + | Vantagens: **Dentro** de uma determinada classe (por exemplo, dentre os valores que estão |
Desvantagens: | Desvantagens: | ||
MOSTRAR ALGUMA FIGURA COM DOIS STEM-AND-LEAF, | MOSTRAR ALGUMA FIGURA COM DOIS STEM-AND-LEAF, | ||
- | + | ===== densidade ====== | |
**1.b) Gráfico de densidade** | **1.b) Gráfico de densidade** | ||
Ao invés de usarmos classes, podemos representar a distribuição por meio de uma linha, que é obtida usando a densidade estimada (por uma função conhecida como //kernel//) de valores para " | Ao invés de usarmos classes, podemos representar a distribuição por meio de uma linha, que é obtida usando a densidade estimada (por uma função conhecida como //kernel//) de valores para " | ||
Vamos ver como ficam as distribuições das nossas quatro variáveis numéricas: | Vamos ver como ficam as distribuições das nossas quatro variáveis numéricas: | ||
- | < | ||
- | par(mfrow = c(2, | ||
- | plot(density(univar1$COMPRIMENTO_BICO)) | ||
- | plot(density(univar1$BIOMASSA_AVE)) | ||
- | plot(density(univar1$BIOMASSA_INSETOS)) | ||
- | plot(density(univar1$TAMANHO_SEMENTES)) | ||
- | par(mfrow=c(1, | ||
- | </ | ||
- | |||
- | Podemos juntar esses dois gráficos em um só. Para isso, use o código abaixo: | ||
- | |||
- | < | ||
- | par(mfrow = c(2, | ||
- | hist(univar1$COMPRIMENTO_BICO, | ||
- | lines(density(univar1$COMPRIMENTO_BICO)) | ||
- | |||
- | hist(univar1$BIOMASSA_AVE, | ||
- | lines(density(univar1$BIOMASSA_AVE)) | ||
- | |||
- | hist(univar1$BIOMASSA_INSETOS, | ||
- | lines(density(univar1$BIOMASSA_INSETOS)) | ||
- | |||
- | hist(univar1$TAMANHO_SEMENTES, | ||
- | lines(density(univar1$TAMANHO_SEMENTES)) | ||
- | par(mfrow=c(1, | ||
- | </ | ||
- | |||
- | |||
- | Podemos também mostrar, na parte inferior do gráfico de densidade, o número de observações em cada faixa do gráfico. Para isso vamos usar a função // | ||
- | < | ||
- | par(mfrow = c(2, | ||
- | plot(density(univar1$COMPRIMENTO_BICO)) | ||
- | rug(univar1$COMPRIMENTO_BICO, | ||
- | |||
- | plot(density(univar1$BIOMASSA_AVE)) | ||
- | rug(univar1$BIOMASSA_AVE, | ||
- | |||
- | plot(density(univar1$BIOMASSA_INSETOS)) | ||
- | rug(univar1$BIOMASSA_INSETOS, | ||
- | |||
- | plot(density(univar1$TAMANHO_SEMENTES)) | ||
- | rug(univar1$TAMANHO_SEMENTES, | ||
- | |||
- | par(mfrow=c(1, | ||
- | </ | ||
- | |||
- | Todas essas informações nos auxiliam para identificarmos a quais distribuições teóricas nossos dados se ajustam. | ||
+ | ===== boxplot ===== | ||
**1.c) Box-plot ou Box-whiskers plot ou Five-numbers-summary** | **1.c) Box-plot ou Box-whiskers plot ou Five-numbers-summary** | ||
Linha 203: | Linha 106: | ||
- Ordene a variável COMPRIMENTO_BICO do menor para o maior valor: | - Ordene a variável COMPRIMENTO_BICO do menor para o maior valor: | ||
- | < | + | |
- | (sort(univar1$COMPRIMENTO_BICO)) | + | |
- | </ | + | ===== boxplot2 ===== |
<WRAP center round box 80%> | <WRAP center round box 80%> | ||
- | * - Anote quantos dados existem (i.e. qual é o //n// da amostra)? | + | * - Anote quantos dados existem (i.e. qual é o //n// da amostra?). |
* - Anote os valores mínimo e o máximo | * - Anote os valores mínimo e o máximo | ||
- | * - Anote o valor que separa os dados ordenados em duas metades (i.e. o valor que representa 50% dos dados). | + | * - Anote o valor que separa os dados ordenados em duas metades (i.e. o valor que representa 50% dos dados) |
* - Anote o valor que separa os primeiros 25% valores dos restantes 75% | * - Anote o valor que separa os primeiros 25% valores dos restantes 75% | ||
* - Anote o valor que separa os primeiros 75% valores dos restantes 25% | * - Anote o valor que separa os primeiros 75% valores dos restantes 25% | ||
Linha 225: | Linha 128: | ||
Mas temos uma função que faz isso por nós: | Mas temos uma função que faz isso por nós: | ||
- | < | + | |
- | boxplot(univar1$COMPRIMENTO_BICO, | + | ===== outliers ===== |
- | </ | + | |
Confira se os valores utilizados pela função //boxplot// são iguais aos que você calculou | Confira se os valores utilizados pela função //boxplot// são iguais aos que você calculou | ||
Linha 248: | Linha 150: | ||
</ | </ | ||
- | Vamos fazer um boxplot modificado com os nossos dados de COMPRIMENTO_BICO | ||
- | < | ||
- | boxplot(univar1$COMPRIMENTO_BICO) | ||
- | </ | ||
+ | ===== boxplot3 ===== | ||
<WRAP center round box 80%> | <WRAP center round box 80%> | ||
Linha 272: | Linha 171: | ||
No nosso conjunto de dados, podemos avaliar se a biomassa de insetos apresenta diferentes distribuições em locais com diferentes níveis de distúrbio: | No nosso conjunto de dados, podemos avaliar se a biomassa de insetos apresenta diferentes distribuições em locais com diferentes níveis de distúrbio: | ||
- | < | ||
- | boxplot(univar1$BIOMASSA_INSETOS ~ univar1$NIVEL_DISTURBIO) | ||
- | </ | ||
+ | ===== boxplot4 ===== | ||
<WRAP center round box 80%> | <WRAP center round box 80%> | ||
**Avalie a posição das medianas, a distribuição dos valores entre os quartis, os valores máximos e mínimos, a simetria da distribuição, | **Avalie a posição das medianas, a distribuição dos valores entre os quartis, os valores máximos e mínimos, a simetria da distribuição, | ||
Linha 283: | Linha 180: | ||
Existe uma forma bastante simples de calcular **" | Existe uma forma bastante simples de calcular **" | ||
- | < | ||
- | boxplot(univar1$BIOMASSA_INSETOS ~ univar1$NIVEL_DISTURBIO, | ||
- | </ | ||
- | <WRAP center round box 80%> | ||
- | **E agora, você está mais seguro(a) para afirmar se a biomassa de insetos difere ou não entre os dois níveis de distúrbio? | + | =====CHECANDO O AJUSTE DOS DADOS A UMA DISTRIBUIÇÃO===== |
- | + | ||
- | </ | + | |
- | + | ||
- | + | ||
- | ===CHECANDO O AJUSTE DOS DADOS A UMA DISTRIBUIÇÃO=== | + | |
Agora vamos avaliar visualmente se as variáveis se distribuem de acordo com uma distribuição conhecida. Por simplicidade, | Agora vamos avaliar visualmente se as variáveis se distribuem de acordo com uma distribuição conhecida. Por simplicidade, | ||
- | |||
<WRAP center round important 90%> | <WRAP center round important 90%> | ||
Linha 303: | Linha 190: | ||
Nesse momento, em que estamos analisando a normalidade de uma variável isoladamente, | Nesse momento, em que estamos analisando a normalidade de uma variável isoladamente, | ||
</ | </ | ||
- | |||
Linha 324: | Linha 210: | ||
ATENÇÃO: Outra forma de representar os dados esperados para a distribuição normal é usar a distribuição normal padronizada, | ATENÇÃO: Outra forma de representar os dados esperados para a distribuição normal é usar a distribuição normal padronizada, | ||
*/ | */ | ||
- | |||
- | Vamos então aplicar as funções abaixo aos nossos dados: | ||
- | |||
- | < | ||
- | par(mfrow = c(2, | ||
- | |||
- | qqnorm(univar1$COMPRIMENTO_BICO) | ||
- | qqline(univar1$COMPRIMENTO_BICO) | ||
- | |||
- | qqnorm(univar1$BIOMASSA_AVE) | ||
- | qqline(univar1$BIOMASSA_AVE) | ||
- | |||
- | qqnorm(univar1$BIOMASSA_INSETOS) | ||
- | qqline(univar1$BIOMASSA_INSETOS) | ||
- | |||
- | qqnorm(univar1$TAMANHO_SEMENTES) | ||
- | qqline(univar1$TAMANHO_SEMENTES) | ||
- | |||
- | par(mfrow=c(1, | ||
- | </ | ||
- | |||
+ | ===== qqplot2 ===== | ||
<WRAP center round box 80%> | <WRAP center round box 80%> | ||
Linha 361: | Linha 227: | ||
- | ===AVALIANDO AUTOCORRELAÇÃO=== | + | =====AVALIANDO AUTOCORRELAÇÃO===== |
- | + | ||
- | Para essa parte do tutorial, importe o conjunto de dados " | + | |
- | < | + | |
- | autocorr< | + | |
- | head(autocorr) | + | |
- | summary(autocorr) | + | |
- | </ | + | |
Linha 389: | Linha 248: | ||
Vejamos como ficam esses gráficos para os dados do conjunto **autocorr** que temos disponível para essa análise. Nesse arquivo temos os dados de dois transectos (x1 e x2) com 100 pontos cada. | Vejamos como ficam esses gráficos para os dados do conjunto **autocorr** que temos disponível para essa análise. Nesse arquivo temos os dados de dois transectos (x1 e x2) com 100 pontos cada. | ||
- | < | ||
- | lag.plot(autocorr$x1, | ||
- | lag.plot(autocorr$x2, | + | |
- | </ | + | ===== autocorr2 ===== |
<WRAP center round box 80%> | <WRAP center round box 80%> | ||
Linha 413: | Linha 270: | ||
- | ====ANALISANDO DADOS BIVARIADOS==== | + | =====ANALISANDO DADOS BIVARIADOS===== |
Muitas vezes não estamos interessados em analisar a distribuição de uma variável //per se//, mas sim em analisar se existe alguma relação entre duas variáveis numéricas ordenadas. | Muitas vezes não estamos interessados em analisar a distribuição de uma variável //per se//, mas sim em analisar se existe alguma relação entre duas variáveis numéricas ordenadas. | ||
Linha 429: | Linha 286: | ||
* {{ : | * {{ : | ||
- | -Importe o arquivo para o R | + | - Importe o arquivo para o R, |
+ | - Faça um gráfico de dispersão (ou //Gráfico XY//) e descreva sua primeira impressão sobre a relação entre as variáveis. | ||
- | < | ||
- | bivar< | ||
- | head(bivar) | ||
- | summary (bivar) | ||
- | </ | ||
- | Faça um gráfico de dispersão (ou //Gráfico XY//) e descreva sua primeira impressão sobre a relação entre as variáveis. | + | ===== bivariado2 ===== |
- | + | ||
- | < | + | |
- | plot(bivar$y.l ~ bivar$x.l) | + | |
- | </ | + | |
<WRAP center round box 80%> | <WRAP center round box 80%> | ||
Linha 450: | Linha 299: | ||
Para tentar captar a tendência da relação, você poderia ir traçando pequenas linhas que buscassem a melhor relação entre os dados da variável y.l e da variável x.l ao longo de pequenos trechos da variável x.l, como se estivesse desenhando "à mão" | Para tentar captar a tendência da relação, você poderia ir traçando pequenas linhas que buscassem a melhor relação entre os dados da variável y.l e da variável x.l ao longo de pequenos trechos da variável x.l, como se estivesse desenhando "à mão" | ||
Existe uma função que faz isso. Ela se chama //lowess// e pode ser aplicada da seguinte forma: | Existe uma função que faz isso. Ela se chama //lowess// e pode ser aplicada da seguinte forma: | ||
- | < | ||
- | plot(bivar$y.l ~ bivar$x.l) | ||
- | lines(lowess(bivar$y.l ~ bivar$x.l)) | ||
- | </ | ||
+ | |||
+ | ===== bivariado3 ===== | ||
<WRAP center round box 80%> | <WRAP center round box 80%> | ||
**E agora, suas respostas às 4 questões colocadas no início dessa seção mudariam?** | **E agora, suas respostas às 4 questões colocadas no início dessa seção mudariam?** | ||
Linha 460: | Linha 307: | ||
- | Agora vamos fazer o gráfico de dispersão para outras duas variáveis y.n (resposta) e x.n (preditora): | + | Agora vamos fazer o gráfico de dispersão para outras duas variáveis y.n (resposta) e x.n (preditora). |
- | < | + | |
- | plot(bivar$y.n ~ bivar$x.n) | + | |
- | lines(lowess(bivar$y.n ~ bivar$x.n)) | + | ===== bivariado4 ===== |
- | </ | + | |
<WRAP center round box 80%> | <WRAP center round box 80%> | ||
Linha 471: | Linha 317: | ||
- | Existe um gráfico | + | Existe um gráfico que nos mostra várias informações de uma relação entre duas variáveis e pode ajudar bastante no entendimento da relação. |
- | < | ||
- | scatterplot (bivar$y.l ~ bivar$x.l) | ||
- | </ | ||
- | < | + | =====Transformando os dados:===== |
- | scatterplot (bivar$y.n ~ bivar$x.n) | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | + | ||
- | ====Transformando os dados:==== | + | |
Algumas vezes, a relação que observamos entre duas variáveis não é linear, mas gostaríamos de analisar essa relação dentro do escopo de uma Análise de Regressão Linear, em função das facilidades de trabalhar com esse tipo de análise. Para isso, precisamos recorrer aos recursos de **transformação dos dados**. | Algumas vezes, a relação que observamos entre duas variáveis não é linear, mas gostaríamos de analisar essa relação dentro do escopo de uma Análise de Regressão Linear, em função das facilidades de trabalhar com esse tipo de análise. Para isso, precisamos recorrer aos recursos de **transformação dos dados**. | ||
Linha 494: | Linha 331: | ||
==Logaritmo natural (ln)== | ==Logaritmo natural (ln)== | ||
Vamos analisar a relação entre as variáveis COMPRIMENTO_BICO e BIOMASSA_AVE e verificar se a relação parece linear. Para isso vamos utilizar o gráfico síntese produzido pelo pacote //car//: | Vamos analisar a relação entre as variáveis COMPRIMENTO_BICO e BIOMASSA_AVE e verificar se a relação parece linear. Para isso vamos utilizar o gráfico síntese produzido pelo pacote //car//: | ||
- | < | ||
- | scatterplot(univar1$COMPRIMENTO_BICO ~ univar1$BIOMASSA_AVE) | ||
- | </ | ||
- | Como podemos observar pelos boxplots laterais, nesse caso, aparentemente são os dados da variável Y que parecem estar afetando a linearidade da relação. Então, vamos transformar os dados de Y pelo logaritmo natural e ver se o ajuste melhora. | ||
- | < | + | |
- | scatterplot (log(univar1$COMPRIMENTO_BICO) ~ univar1$BIOMASSA_AVE) | + | ===== transforma2 ===== |
- | </ | + | |
<WRAP center round box 80%> | <WRAP center round box 80%> |
planeco/roteiro/05-descr_base.1519673613.txt.gz · Última modificação em: 2024/01/09 18:38 (edição externa)