Mostrar código
bruto <- read.csv(here("dados", "anuros_altitude.csv"))Trabalho final — Introdução à Linguagem R
Seu nome aqui
15 de setembro de 2026
Organismos ectotérmicos dependem da temperatura ambiente para regular seus processos fisiológicos. Ao longo de um gradiente altitudinal, a temperatura do ar cai de forma previsível — o que levanta a pergunta de como os limites térmicos das espécies acompanham essa variação.
Aqui reanalisamos os dados de Bovo et al. (2023), que mediram limites térmicos críticos e perda de água em anuros de duas serras da Mata Atlântica. Nossa pergunta é:
A tolerância ao aquecimento — a diferença entre o limite térmico crítico superior do animal e a temperatura máxima do ambiente onde ele vive — varia com a altitude?
Os dados brutos contêm 225 indivíduos e 26 variáveis. A descrição completa de cada coluna, com unidades e origem, está em dados/metadados_anuros_altitude.md.
anuros <- bruto %>%
rename(id = ID, especie = Species, sexo = Sex,
ewl = EWL_Ugcm2s1, massa = Bodymass_g,
ctmin = CTmin, ctmax = CTmax,
serra = Mountain_Range, altitude = Altitude_m) %>%
select(id, especie, sexo, serra, altitude, massa, ewl, ctmin, ctmax,
bio5 = BIO_5) %>%
mutate(across(c(especie, serra, sexo), factor),
amplitude = ctmax - ctmin,
tol_aquec = ctmax - bio5)Recalculamos as duas variáveis derivadas a partir das colunas de origem, em vez de usar as colunas prontas do arquivo: assim a definição de cada uma fica explícita no documento.
| 35 | 550 | 820 | 1022 | 1500 | 1600 | |
|---|---|---|---|---|---|---|
| Serra da Mantiqueira | 0 | 18 | 0 | 0 | 0 | 55 |
| Serra do Mar | 39 | 0 | 36 | 54 | 23 | 0 |
A Tabela 1 mostra uma característica do desenho amostral que restringe as análises possíveis: cada altitude pertence a uma única serra. Altitude e serra não estão cruzadas, de modo que nenhum modelo separa os dois efeitos usando apenas a identidade dos sítios. Por isso tratamos altitude como variável contínua e interpretamos os contrastes dentro da faixa amostrada.
Ajustamos modelos lineares com tol_aquec como resposta. Todas as análises foram feitas no R (R Core Team 2025), com os pacotes dplyr, ggplot2 e broom.
| especie | n | CTmin | CTmax |
|---|---|---|---|
| Boana faber | 46 | 3.41 (0.95) | 38.44 (0.78) |
| Dendropsophus minutus | 59 | 6.15 (2.54) | 33.25 (1.70) |
| Leptodactylus latrans | 31 | 4.64 (1.49) | 38.79 (0.62) |
| Physalaemus cuvieri | 39 | 7.85 (1.88) | 35.07 (1.61) |
| Rhinella icterica | 50 | 2.71 (1.03) | 38.78 (0.68) |
| term | estimate | std.error | statistic | p.value | conf.low | conf.high |
|---|---|---|---|---|---|---|
| (Intercept) | 9.2300 | 0.3127 | 29.5217 | 0.0000 | 8.6132 | 9.8468 |
| altitude | 0.0031 | 0.0002 | 13.8692 | 0.0000 | 0.0027 | 0.0036 |
| especieDendropsophus minutus | -5.0844 | 0.3551 | -14.3187 | 0.0000 | -5.7850 | -4.3838 |
| especieLeptodactylus latrans | -0.1062 | 0.3925 | -0.2706 | 0.7870 | -0.8806 | 0.6682 |
| especiePhysalaemus cuvieri | -3.1906 | 0.4194 | -7.6067 | 0.0000 | -4.0181 | -2.3631 |
| especieRhinella icterica | 0.4927 | 0.3524 | 1.3981 | 0.1638 | -0.2026 | 1.1880 |
O modelo explica 75% da variação em tolerância ao aquecimento. O efeito da altitude é de 0.0031 °C por metro (EP = 0.0002, p = <2e-16), ou cerca de 3.1 °C a cada 1000 m.
R version 4.6.1 (2026-06-24)
Platform: x86_64-pc-linux-gnu
Running under: Ubuntu 24.04.5 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so; LAPACK version 3.12.0
locale:
[1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8
[4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8
[7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C
time zone: UTC
tzcode source: system (glibc)
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] knitr_1.52 broom_1.0.13 ggplot2_4.0.3 dplyr_1.2.1 here_1.0.2
loaded via a namespace (and not attached):
[1] Matrix_1.7-5 gtable_0.3.6 jsonlite_2.0.0 compiler_4.6.1
[5] tidyselect_1.2.1 tidyr_1.3.2 splines_4.6.1 scales_1.4.0
[9] yaml_2.3.12 fastmap_1.2.0 lattice_0.22-9 R6_2.6.1
[13] labeling_0.4.3 generics_0.1.4 backports_1.5.1 tibble_3.3.1
[17] rprojroot_2.1.1 pillar_1.11.1 RColorBrewer_1.1-3 rlang_1.3.0
[21] xfun_0.60 S7_0.2.2 cli_3.6.6 withr_3.0.3
[25] magrittr_2.0.5 mgcv_1.9-4 digest_0.6.39 grid_4.6.1
[29] lifecycle_1.0.5 nlme_3.1-169 vctrs_0.7.3 evaluate_1.0.5
[33] glue_1.8.1 farver_2.1.2 stats4_4.6.1 rmarkdown_2.32
[37] purrr_1.2.2 tools_4.6.1 pkgconfig_2.0.3 htmltools_0.5.9