NT265/NE441 - Análise de dados e apresentação de gráficos usando a linguagem R
24 de outubro de 2024
Ecólogo e Doutor em Ecologia
Pós-Doc em Ecologia Espacial (Mathias)
Ecologia Espacial
Modelagem Ecológica
Análise de Dados Ecológicos e Geoespaciais
Ecologia e Conservação de Anfíbios
Open source [R, QGIS, GRASS GIS, GNU/Linux, …]
15 capítulos: linguagem R, tidyverse, perguntas em ecologia, análises univariadas, multivariadas e geoespaciais
table
apply
, lapply
, sapply
, tapply
…if
, else
e else if
for
, while
e repeat
break
e next
source
Estamos num espaço seguro e amigável
Sintam-se à vontade para me interromper e tirar dúvidas
Forma de representar algoritmos, funções ou outros processos de forma simplificada e intuitiva
Escrito em linguagem natural e com elementos que se assemelham a uma linguagem de programação, mas não é realmente executável
Ferramenta para a comunicação de ideias de programação, permitindo que programadores de diferentes níveis de habilidade compreendam e colaborem de maneira eficiente
# codigo
# 0. pacotes
library(tidyverse)
library(palmerpenguins)
# 1. importar dados
penguins <- penguins_raw
penguins
# 2. limpar e ajustar dados
penguins_clean <- na.omit(penguins)
penguins_clean
# 3. analises estatisticas
cor.test(penguins_clean$bill_length_mm, penguins_clean$bill_depth_mm)
# 4. graficos
plot(penguins_clean$bill_length_mm, penguins_clean$bill_depth_mm, pch = 20)
# 5. exportar resultados
png("grafico_penguins.png")
plot(penguins_clean$bill_length_mm, penguins_clean$bill_depth_mm, pch = 20)
dev.off()
Dados de medidas de pinguins chamados palmerpenguins
Dados coletados e disponibilizados pela Dra. Kristen Gorman e pela Palmer Station, Antarctica LTER, membro da Long Term Ecological Research Network
Dois conjuntos de dados:
penguins_raw
(dados brutos)
penguins
(versão simplificada)
palmerpenguins
# A tibble: 10 × 8
species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g
<fct> <fct> <dbl> <dbl> <int> <int>
1 Adelie Torgersen 39.1 18.7 181 3750
2 Adelie Torgersen 39.5 17.4 186 3800
3 Adelie Torgersen 40.3 18 195 3250
4 Adelie Torgersen 36.7 19.3 193 3450
5 Adelie Torgersen 39.3 20.6 190 3650
6 Adelie Torgersen 38.9 17.8 181 3625
7 Adelie Torgersen 39.2 19.6 195 4675
8 Adelie Torgersen 41.1 17.6 182 3200
9 Adelie Torgersen 38.6 21.2 191 3800
10 Adelie Torgersen 34.6 21.1 198 4400
# ℹ 2 more variables: sex <fct>, year <int>
# A tibble: 10 × 8
species island bill_length_mm bill_depth_mm flipper_length_mm body_mass_g
<fct> <fct> <dbl> <dbl> <int> <int>
1 Adelie Torgersen 39.1 18.7 181 3750
2 Adelie Torgersen 39.5 17.4 186 3800
3 Adelie Torgersen 40.3 18 195 3250
4 Adelie Torgersen 36.7 19.3 193 3450
5 Adelie Torgersen 39.3 20.6 190 3650
6 Adelie Torgersen 38.9 17.8 181 3625
7 Adelie Torgersen 39.2 19.6 195 4675
8 Adelie Torgersen 41.1 17.6 182 3200
9 Adelie Torgersen 38.6 21.2 191 3800
10 Adelie Torgersen 34.6 21.1 198 4400
# ℹ 2 more variables: sex <fct>, year <int>
Dados brutos: conjunto dos valores numéricos coletados na pesquisa
Classes: intervalo de valores contínuos (0 |— 1)
Frequência absoluta (fi): número de vezes que uma observação aparece ou pertencente a um intervalo ou classe
Frequência total: soma de todas as frequências absolutas (fi)
Frequência relativa (fri): valor da razão de cada frequência absoluta (fi) com a frequência total (somatório de fi)
Frequência acumulada (Fi): obtida somando (acumulando) os valores da frequência absoluta (fi)
Frequência relativa acumulada (Fri): obtida somando (acumulando) os valores da frequência relativa (fri)
Classes | Freq. absoluta (fi) | Freq. relativa (fri) | Freq. acumulada (Fi) | Freq. relativa acumulada (Fri) |
---|---|---|---|---|
0|—1 | 4 | 0.13 | 4 | 0.13 |
1|—2 | 8 | 0.26 | 12 | 0.39 |
2|—3 | 12 | 0.39 | 24 | 0.77 |
3|—4 | 7 | 0.23 | 31 | 1.00 |
Total | 31 | 1.00 |
...
: Vetores ou variáveis categóricas a serem tabuladas
exclude
: Valores a serem excluídos (como NA)
useNA
: Se e como contar valores faltantes (“no”, “ifany”, “always”)
Exemplo
Frequência absoluta (fi)
Frequência absoluta (fi)
Frequência relativa (fri)
Frequência absoluta (fi)
Frequência relativa (fri)
Frequência absoluta (fi)
Frequência relativa (fri)
Frequência absoluta de duas colunas (fi)
Biscoe Dream Torgersen
Adelie 44 55 47
Chinstrap 0 68 0
Gentoo 119 0 0
Frequência relativa de duas colunas (fri)
cumsum
: função para soma cumulativacut
: função para dividir uma sequencia de valores em intervalosjanitor
: pacote com funções para limpar bases de dados e fazer tabelas de frequênciaMedidas de posição
Moda: valor mais frequente das observações
Mediana: valor que divide as observações ordenadas em duas partes iguais
Média aritmética: soma das observações dividida pelo número de observações
Outras médias: ponderada, geométrica e harmônica
Medidas de dispersão
Variância: medida de quantas observações diferem do valor central (média)
Desvio padrão: raiz quadrada da variância (mantêm a mesma unidade de medida)
Erro padrão: variação da média amostral em relação à média populacional (confiabilidade da média amostral)
X
: matriz, data frame ou array em que será aplicada a função
MARGIN
: valor indica a margem onde a função será aplicada (1 = linhas ou 2 = colunas)
FUN
: função que será aplicada
Exemplo:
Aplica uma função a cada elemento de uma lista ou vetor, retornando sempre uma lista
Exemplos
lapply
, retornando matriz, vetor ou lista (ele escolhe…) a c.d c.e
2 5 6
Média
[1] 997.200 1010.725 875.825 924.750 974.975 965.675 1232.200 860.175
[9] 1012.700 1163.425 984.850 925.675 1190.050 890.450 1115.375 907.525
[17] 959.100 1011.025 1047.825 1009.000
Desvio padrão
[1] 1836.619 1861.021 1584.739 1685.311 1784.962 1774.364 2296.541 1561.572
[9] 1859.765 2159.214 1811.644 1684.724 2208.028 1624.746 2057.828 1663.093
[17] 1762.071 1860.886 1936.213 1862.067
Média
Adelie Chinstrap Gentoo
38.82397 48.83382 47.56807
Desvio padrão
Adelie Chinstrap Gentoo
2.662597 3.339256 3.106116
rowSums
e colSums
: soma de linhas e colunasrowMeans
e colMeans
: média de linhas e colunasrowMedians
e colMedians
: mediana de linhas e colunasrowVars
e colVars
: variância de linhas e colunasrowMins
e colMins
: mínimo de linhas e colunasrowMaxs
e colMaxs
: máximo de linhas e colunasrowProds
e colProds
: produto de linhas e colunasrowCumsums
e colCumsums
: soma cumulativa de linhas e colunassweep()
: função para subtrair, adicionar, multiplicar ou dividir cada linha ou colunaif
, else
e else if
Operadores relacionais (TRUE|FALSE)
Operador | Descrição | Uso |
---|---|---|
< | Menor | a < b |
> | Maior | a > b |
== | Igual | a == b |
<= | Menor ou igual | a <= b |
>= | Maior ou igual | a > = b |
!= | Não igual (diferente) | a!=b |
Operadores lógicos (TRUE|FALSE)
Operador | Descrição | Uso |
---|---|---|
! | Lógico NÃO | !a |
& | Lógico E (elementar) | a & b |
| | Lógico OU (elementar | a | b |
&& | Lógico E (primeiro) | a && b |
|| | Lógico OU (primeiro) | a || b |
for
, while
e repeat
break
e next
para
uma sequência de valores (vetores ou listas) [iteração]para
uma sequência de valores (vetores ou listas) [iteração]enquanto
uma condição é verdadeirarepetidamente
até que uma condição de parada (break
) seja atendidai
assume o valor dos elementosi
assume a posição dos elementosUma função é um bloco de código que realiza uma tarefa específica
Possui entradas (argumentos) e retorna saídas (resultados)
Utilizada para evitar repetição de código, tornando-o mais organizado e reutilizável
return()
)...
permite passar um número indefinido de argumentos para a funçãoAgradecimentos:
Slides por Maurício Vancine, feitos com Quarto. Código disponível no GitHub.