NT265/NE441 - Análise de dados e apresentação de gráficos usando a linguagem R
29 de outubro de 2025
Explicando os slides
Este é um link no slide

Oecologia Australis - Special Issue
Teaching Ecology: Challenges and Possibilities
THE CHALLENGES AND NUANCES OF TEACHING THE R PROGRAMMING LANGUAGE TO ECOLOGISTS
Maurício Humberto Vancine, Pavel Dodonov, Bruno Vilela, Luisa Diele-Viegas, Victor Casagrande Souza, Felipe Alvarez Silva Nunes, Ana Julia Oliveira Silva, Beatriz Milz, Cristina A. Kita, Marco A. R. Mello, Renata L. Muylaert



tableapply, lapply, sapply, tapply…if, else e else iffor, while e repeatbreak e nextsourceEstamos num espaço seguro e amigável
Sintam-se à vontade para me interromper e tirar dúvidas

Criar um projeto no RStudio
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()https://github.com/mauriciovancine/workshop-r-programming
Abram o script:
script_r.R
palmerpenguinspenguins_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ência
Medidas 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 |
[1] TRUE
[1] "x é maior que 5"

[1] TRUE
[1] "x e y são maiores que 5"

[1] TRUE
[1] "x ou y é maior que 5"

[1] FALSE
[1] "x é menor ou igual a 5"

[1] "x está entre 6 e 10"

for, while e repeatbreak e next
para uma sequência de valores (vetores ou listas) [iteração]
para uma sequência de valores (vetores ou listas) [iteração][1] "R"
[1] "python"
[1] "julia"
[1] "Fortran"

enquanto uma condição é verdadeira
repetidamente até que uma condição de parada (break) seja atendida[1] 1
[1] 2
[1] 3
[1] 4
[1] 5

i 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çãoCriar uma função para jogar um dado múltiplas vezes com número de lados definíveis
Solução
Slides por Maurício Vancine, feitos com Quarto. Código disponível no GitHub.