Biocultural Retoration
Preparação dos dados
Aqui precisamos deixar os dados organizados de forma que possamos acessá-los sem incompatibilidade. Da forma que estavam, havia erros de codificação do arquivo .csv que impedia sua leitura em outros computadores. Para evitar isso é muito mimportante que quando trabalhemos com R, usarmos um sistema de nomeação dos arquivos que seja simples, sem acentos ou caracteres especiais. Além disso precisamos estar seguros que os arquivos estão em codficiação UTF-8.
No link para a pasta compartilhada https://drive.google.com/drive/folders/1L0gzJWAzz4Q4qsWdhvEifgwzQMlqC5GU?usp=share_link encontramos todos os arquivos.
Na pasta há arquivos com nomes diferentes que causam confusão. Letras maiúsculas e sufixos (s, t, f…). Depois de certo tempo minha percepção foi de que o arquivos “abun_relativa_s_2.csv” era o correto. Se não for, fudeu! hahahahah. Ainda, encontrei um valor fatasma perdido sem coluna na tabela de atributos (que renomeei com minúsculas, apenas). Eu simplesmente ignorei e apaguei esse valor, mas é importante checar o que aconteceu com ele (linha 10).
Outra coisa importante é que é importante usar as abundâncias absolutas e não relativas. Hudson, você tem esse dado?
Cenário 2 - Só nativas
##CWM
comm <- read.table("~/Insync/felipe.plmelo@ufpe.br/Google Drive - Shared with me/Dados_Artigo Biocultural/Cenário 2/abun_relativa_s_2.csv", sep = ";",row.names = 1, header = T)
att <- read.csv("~/Insync/felipe.plmelo@ufpe.br/Google Drive - Shared with me/Dados_Artigo Biocultural/Cenário 2/atributos.csv", sep = ",", row.names = 1, header = T) # atenção, tinha um valor solto na tabela, favor checar versão atributos_old.csv
data.frame(colnames(comm), rownames(att)) # para checar se estão realemnten em ordem. colnames.comm.
1 Amburana.cearensis..Cumaru.
2 Anacardium.occidentale.Cajueiro.
3 Anadenanthera.colubrina.Angico.
4 Aspidosperma.pyrifolium.Pereiro.
5 Bauhinia.cheilantha.Mororo.
6 Caesalpinia.bracteosa..Tul..L.P.Queiroz
7 Combretum.leprosum.Mofumbo.
8 Commiphora.leptophloeos.Imburana.
9 Cordia.oncocalyx.Pau.Branco.
10 Croton.sonderianus..Marmeleiro.
11 Handroanthus.impetiginosus.PauDArco.
12 Jatropha.mollissima.Pinh..
13 Libidibia.ferrea.Juca.
14 Licania.rigida.Oiticia.
15 Mimosa.caesalpiniifolia.Sabia.
16 Mimosa.tenuiflora.Jurema.Preta.
17 Myracrodruon.urundeuva.Aroeira.
18 Piptadenia.moniliformis.Catanduba.
19 Piptadenia.stipulacea.Jurema.Branca.
20 Spondias.tuberosa.Imbu.
21 Ziziphus.joazeiro.Juazeiro.
rownames.att.
1 Amburana cearensis (Cumaru)
2 Anacardium occidentale(Cajueiro)
3 Anadenanthera colubrina(Angico)
4 Aspidosperma pyrifolium(Pereiro)
5 Bauhinia cheilantha(Mororo)
6 Caesalpinia bracteosa (Tul.)L.P.Queiroz
7 Combretum leprosum(Mofumbo)
8 Commiphora leptophloeos(Imburana)
9 Cordia oncocalyx(Pau-Branco)
10 Croton sonderianus (Marmeleiro)
11 Handroanthus impetiginosus(PauDArco)
12 Jatropha mollissima(Pinh?)
13 Libidibia ferrea(Juca)
14 Licania rigida(Oiticia)
15 Mimosa caesalpiniifolia(Sabia)
16 Mimosa tenuiflora(Jurema Preta)
17 Myracrodruon urundeuva(Aroeira)
18 Piptadenia moniliformis(Catanduba)
19 Piptadenia stipulacea(Jurema-Branca)
20 Spondias tuberosa(Imbu)
21 Ziziphus joazeiro(Juazeiro)
colnames(comm) <- rownames (att) # cuidado com esse procedimento. como a tabela tem poucas linha, dá pra checar, mas se trivesse muitas seria impossível e muito arriscadoCalculando os CWM
library(FD)Carregando pacotes exigidos: ade4
Carregando pacotes exigidos: ape
Carregando pacotes exigidos: geometry
Carregando pacotes exigidos: vegan
Carregando pacotes exigidos: permute
Carregando pacotes exigidos: lattice
This is vegan 2.6-2
div.func <- dbFD(x = att, a = comm, w.abun = T, stand.x = T, stand.FRic = T, m = 4)FEVe: Could not be calculated for communities with <3 functionally singular species.
FDis: Equals 0 in communities with only one functionally singular species.
FRic: To respect s > t, FRic could not be calculated for communities with <3 functionally singular species.
FRic: Dimensionality reduction was required. The last 2 PCoA axes (out of 4 in total) were removed.
FRic: Quality of the reduced-space representation = 0.8028578
FDiv: Could not be calculated for communities with <3 functionally singular species.
div.func # bom dar uma olhada na tabelona$nbsp
Flona.1 Flona.2 Flona.3 Flona.4 Flona.5 Flona.6 Flona.7 Flona.8
9 9 9 10 11 8 9 9
Flona.9 Flona.10 E.1 E.2 E.3 E.4 E.5 E.6
9 8 2 10 7 8 6 12
E.7 E.8 E.9 E.10 E.11 E.12 E.13 E.14
15 6 12 12 11 1 3 3
E.15 E.16 E.17 E.18 E.19 E.20 E.21 E.22
3 6 9 6 6 11 9 12
E.23 E.24 E.25 E.26 E.27 E.28 E.29 E.30
9 10 7 2 5 2 3 6
E.31 E.32 E.33 E.34
7 5 9 9
$sing.sp
Flona.1 Flona.2 Flona.3 Flona.4 Flona.5 Flona.6 Flona.7 Flona.8
9 9 9 10 11 8 9 9
Flona.9 Flona.10 E.1 E.2 E.3 E.4 E.5 E.6
9 8 2 10 7 8 6 12
E.7 E.8 E.9 E.10 E.11 E.12 E.13 E.14
15 6 12 12 11 1 3 3
E.15 E.16 E.17 E.18 E.19 E.20 E.21 E.22
3 6 9 6 6 11 9 12
E.23 E.24 E.25 E.26 E.27 E.28 E.29 E.30
9 10 7 2 5 2 3 6
E.31 E.32 E.33 E.34
7 5 9 9
$FRic
Flona.1 Flona.2 Flona.3 Flona.4 Flona.5 Flona.6 Flona.7
0.59192070 0.59372359 0.59192070 0.60577014 0.60577014 0.58664408 0.13214218
Flona.8 Flona.9 Flona.10 E.1 E.2 E.3 E.4
0.19012163 0.59372359 0.19012163 NA 0.32924764 0.13498035 0.66022739
E.5 E.6 E.7 E.8 E.9 E.10 E.11
0.24039805 0.84373938 0.90949650 0.09233084 0.72771792 0.34811582 0.15236097
E.12 E.13 E.14 E.15 E.16 E.17 E.18
NA 0.03337828 0.05520994 0.01155861 0.03971199 0.13350761 0.09408911
E.19 E.20 E.21 E.22 E.23 E.24 E.25
0.04248763 0.33635554 0.13506404 0.36518927 0.35326574 0.67615710 0.08409825
E.26 E.27 E.28 E.29 E.30 E.31 E.32
NA 0.04655920 NA 0.08732125 0.06371634 0.54172736 0.02886894
E.33 E.34
0.86033332 0.90015544
$qual.FRic
[1] 0.8028578
$FEve
Flona.1 Flona.2 Flona.3 Flona.4 Flona.5 Flona.6 Flona.7 Flona.8
0.6821436 0.6758466 0.6322511 0.5577429 0.8400771 0.5026943 0.7187130 0.5769880
Flona.9 Flona.10 E.1 E.2 E.3 E.4 E.5 E.6
0.6581449 0.6292609 NA 0.6891650 0.7197362 0.5341759 0.5081185 0.4867705
E.7 E.8 E.9 E.10 E.11 E.12 E.13 E.14
0.3722404 0.8017199 0.7597423 0.7758399 0.7862939 NA 0.7949039 0.9506945
E.15 E.16 E.17 E.18 E.19 E.20 E.21 E.22
0.7685112 0.7758540 0.7451548 0.8843261 0.8714102 0.6832956 0.7287910 0.7942066
E.23 E.24 E.25 E.26 E.27 E.28 E.29 E.30
0.5603672 0.6209197 0.7274167 NA 0.5806101 NA 0.1082393 0.5652792
E.31 E.32 E.33 E.34
0.5869677 0.9101389 0.5316419 0.4813535
$FDiv
Flona.1 Flona.2 Flona.3 Flona.4 Flona.5 Flona.6 Flona.7 Flona.8
0.6757832 0.6858919 0.6867550 0.6361823 0.7127698 0.6517184 0.6835146 0.6796908
Flona.9 Flona.10 E.1 E.2 E.3 E.4 E.5 E.6
0.7143556 0.8212224 NA 0.6008605 0.6739997 0.6760769 0.8910884 0.6253545
E.7 E.8 E.9 E.10 E.11 E.12 E.13 E.14
0.7483365 0.2895154 0.7804596 0.6565228 0.6084780 NA 0.7589894 0.3237967
E.15 E.16 E.17 E.18 E.19 E.20 E.21 E.22
0.8060278 0.7932347 0.6183916 0.7173387 0.7138854 0.6980524 0.6111992 0.7690615
E.23 E.24 E.25 E.26 E.27 E.28 E.29 E.30
0.6776550 0.7214594 0.6206771 NA 0.6668187 NA 0.6488566 0.6762982
E.31 E.32 E.33 E.34
0.6840932 0.4949455 0.7554369 0.7683130
$FDis
Flona.1 Flona.2 Flona.3 Flona.4 Flona.5 Flona.6 Flona.7 Flona.8
1.9223967 1.8199423 1.6955700 1.6663100 2.1959418 1.6447775 1.1701103 1.1908593
Flona.9 Flona.10 E.1 E.2 E.3 E.4 E.5 E.6
2.4547063 1.6058672 1.4010971 1.2296183 1.1130597 1.6891521 1.2700046 1.3315144
E.7 E.8 E.9 E.10 E.11 E.12 E.13 E.14
1.2826481 0.7235761 2.5912879 1.2721534 0.9236497 0.0000000 1.5657995 0.7891687
E.15 E.16 E.17 E.18 E.19 E.20 E.21 E.22
0.5253778 0.8829764 1.0026404 1.2114902 0.7234792 1.1921960 0.8225644 1.5541627
E.23 E.24 E.25 E.26 E.27 E.28 E.29 E.30
1.2297423 1.8339321 0.9219894 1.0686592 0.7776647 3.3447240 0.9131079 0.8560187
E.31 E.32 E.33 E.34
2.1757536 0.5850851 1.8297865 1.8925500
$RaoQ
Flona.1 Flona.2 Flona.3 Flona.4 Flona.5 Flona.6 Flona.7
5.1911526 4.6201342 3.7629262 3.6188466 6.0656131 4.7515408 1.8666835
Flona.8 Flona.9 Flona.10 E.1 E.2 E.3 E.4
1.8902944 7.6690889 2.7145774 1.9630732 1.9287504 1.5323363 4.6315241
E.5 E.6 E.7 E.8 E.9 E.10 E.11
2.1349761 2.8401712 2.5761337 0.8905185 8.3216717 2.1121396 1.1567741
E.12 E.13 E.14 E.15 E.16 E.17 E.18
0.0000000 2.8672115 1.2487221 0.2871548 0.8291264 1.2726180 1.8026557
E.19 E.20 E.21 E.22 E.23 E.24 E.25
0.5530484 2.0681078 1.0710571 2.9368764 1.9335666 5.4691732 1.0740357
E.26 E.27 E.28 E.29 E.30 E.31 E.32
1.1658249 0.9426408 11.1871788 2.5353169 1.0767222 6.6237831 0.3640737
E.33 E.34
5.2152572 4.7238591
$CWM
area_foliar sla alt wd
Flona.1 69.63000 133.8512 19.214667 1.4962667
Flona.2 57.10611 135.5289 15.358062 1.2529464
Flona.3 68.71486 132.4341 16.142577 1.0628634
Flona.4 64.89331 133.4111 15.250374 1.0471044
Flona.5 67.76290 144.0700 21.567363 1.5049027
Flona.6 57.40682 129.1318 14.110952 1.5081737
Flona.7 62.20241 118.4289 11.578513 0.7956946
Flona.8 61.94579 120.8182 11.216074 0.7811498
Flona.9 68.92457 136.1797 24.824712 2.2749848
Flona.10 72.03873 137.3359 15.764370 0.7649928
E.1 30.56500 208.1550 10.100000 0.7050000
E.2 50.55633 145.5917 9.700000 0.7246667
E.3 56.07469 134.9234 10.350000 0.7881250
E.4 37.01947 173.1265 15.173684 1.3105263
E.5 34.19556 242.8547 14.340278 0.6813889
E.6 42.70765 169.0097 11.032353 0.9011765
E.7 38.55587 174.5983 11.482609 0.8315217
E.8 41.74409 155.7211 9.931818 0.5672727
E.9 44.47875 195.4297 24.800000 2.2635000
E.10 43.08776 160.0369 9.610345 0.6832759
E.11 42.22500 131.3386 7.600000 0.6921429
E.12 50.56000 165.0000 10.000000 0.5000000
E.13 59.35667 140.7967 16.666667 0.7633333
E.14 58.32071 167.0875 10.410714 0.5228571
E.15 42.12863 147.5286 8.009804 0.6060784
E.16 37.18222 126.2211 7.600000 0.7544444
E.17 30.55850 141.0264 8.285000 0.6762500
E.18 31.64571 178.3186 10.028571 0.6571429
E.19 34.42647 134.7874 7.911765 0.6482353
E.20 37.22400 150.1320 9.990000 0.6392000
E.21 27.89133 147.1197 6.350000 0.6273333
E.22 47.95328 168.4021 12.726230 0.7113115
E.23 43.31111 195.6348 11.322222 0.6392593
E.24 39.61119 170.1719 16.926190 1.4988095
E.25 55.74176 145.1306 8.732353 0.6797059
E.26 42.19000 221.2843 12.228571 0.5642857
E.27 32.27222 154.8667 6.666667 0.6688889
E.28 50.75000 169.4900 40.000000 4.3300000
E.29 45.70625 135.6500 14.687500 1.1312500
E.30 29.64333 142.0678 8.844444 0.7944444
E.31 57.89400 132.6165 20.367500 1.8500000
E.32 38.45164 138.1545 7.444776 0.6316418
E.33 48.65810 153.2057 17.666667 1.3971429
E.34 39.87328 179.2233 12.088060 0.9085075
Dá pra ver que é possível obter todas medidas de uma só vez, mas cuidado! Alguns índices não funcionam se as espécies não ocorrem em pelo menos 3 comunidades. Isso porque os índices são geométricos e precisam de pelo menos três pontos para formar um polígono. Importante tambṕem entender o que signidica a “Quality of the reduced-space representation” do FRIC. Basicamente se a qualidade é baixa (muito menor que 1), não dá pra confiar no índice. A nossa ainda é boa (0.8).
CWM_s <- div.func$CWMCalculando índices de Diversidade Funcional
Nesse caso, vamos calcular os índices fazendo os tratamentos necessários para as bases de dados, especialmente para as de “Traits”.
Fdis.gow<-fdisp(d = gowdis(att), a = as.matrix(comm))$FDis # Aqui não vejo necessidade da transformação de gower porque todas as medidas são contínuas. Geralmente usamos Gower para matrizes de dados contínuos e categoricos.
Fdis.no.gow<-div.func$FDis
plot(Fdis.gow, Fdis.no.gow) # Veja que as duas medidas são praticamente iguaisEntão podemos ficar com as medidas do primeiro teste.
Comparando os CWMs
Como parte da exploração dos dados, eu gosto de fazer a comparação entre tratamentos. Na verdade, essa memdida é parte das nossas hippoteses de trabalho e está na Tabela 2.
library(tidyverse)── Attaching packages ─────────────────────────────────────── tidyverse 1.3.2 ──
✔ ggplot2 3.4.1 ✔ purrr 1.0.1
✔ tibble 3.2.1 ✔ dplyr 1.1.1
✔ tidyr 1.3.0 ✔ stringr 1.5.0
✔ readr 2.1.2 ✔ forcats 0.5.2
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
✖ dplyr::where() masks ape::where()
CWM_s %>%
rownames_to_column(var="categoria") %>%
mutate(treatment=ifelse(grepl("Flona", categoria), "pa", "agri")) %>%
pivot_longer(col=area_foliar:wd, names_to = "traits", values_to = "CWM") %>%
ggplot(aes(treatment, CWM, color=treatment, fill=treatment))+geom_violin(alpha=0.5)+geom_point()+
facet_wrap(.~traits, scales = "free")->CWM_graf
CWM_grafAgora precisamos de testes para entender qual dessas comparações são realmente diferentes.
library(broom)
CWM_s %>%
rownames_to_column(var="categoria") %>%
mutate(treatment=ifelse(grepl("Flona", categoria), "pa", "agri")) %>%
pivot_longer(col=area_foliar:wd, names_to = "traits", values_to = "CWM") %>%
nest(data = -traits) %>%
mutate(model=map(data,~lm(CWM~treatment, data=.)), tidied = map(model, tidy)) %>% unnest(tidied)# A tibble: 8 × 8
traits data model term estimate std.error statistic p.value
<chr> <list> <list> <chr> <dbl> <dbl> <dbl> <dbl>
1 area_foliar <tibble> <lm> (Intercept) 42.4 1.40 30.2 3.90e-30
2 area_foliar <tibble> <lm> treatmentpa 22.6 2.94 7.69 1.52e- 9
3 sla <tibble> <lm> (Intercept) 162. 4.14 39.1 1.21e-34
4 sla <tibble> <lm> treatmentpa -29.5 8.68 -3.40 1.50e- 3
5 alt <tibble> <lm> (Intercept) 12.3 1.03 12.0 3.61e-15
6 alt <tibble> <lm> treatmentpa 4.18 2.15 1.94 5.91e- 2
7 wd <tibble> <lm> (Intercept) 0.951 0.115 8.31 2.08e-10
8 wd <tibble> <lm> treatmentpa 0.297 0.240 1.24 2.22e- 1
Todas as comparações são significativas!!
Agora vamos comparar os índices de diversidade funcional
Nessa etapa é importante pensar sobre o que cada índice informa e o que pode ser interpretado como resultado relevante
div_measures<-tibble(div.func$FRic, div.func$FEve,div.func$FDiv, div.func$FDis, div.func$RaoQ)
div_measures$sites<-rownames(CWM_s)
div_measures %>%
mutate(treatment=ifelse(grepl("Flona", sites), "pa", "agri")) %>%
rename( FRic=`div.func$FRic`, FEve=`div.func$FEve`,FDiv=`div.func$FDiv`, FDis=`div.func$FDis`, RaoQ=`div.func$RaoQ`) %>%
pivot_longer(col=FRic:RaoQ, names_to = "fun_div", values_to = "index") %>%
ggplot(aes(treatment, index, color=treatment, fill=treatment))+geom_violin(alpha=0.5)+geom_point()+
facet_wrap(.~fun_div, scales = "free")Warning: Removed 12 rows containing non-finite values (`stat_ydensity()`).
Warning: Removed 12 rows containing missing values (`geom_point()`).
div_measures %>%
mutate(treatment=ifelse(grepl("Flona", sites), "pa", "agri")) %>%
rename( FRic=`div.func$FRic`, FEve=`div.func$FEve`,FDiv=`div.func$FDiv`, FDis=`div.func$FDis`, RaoQ=`div.func$RaoQ`) %>%
pivot_longer(col=FRic:RaoQ, names_to = "fun_div", values_to = "index") %>%
nest(data = -fun_div) %>%
mutate(model=map(data,~lm(index~treatment, data=.)), tidied = map(model, tidy)) %>% unnest(tidied)# A tibble: 10 × 8
fun_div data model term estimate std.error statistic p.value
<chr> <list> <list> <chr> <dbl> <dbl> <dbl> <dbl>
1 FRic <tibble [44 × 3]> <lm> (Inte… 0.311 0.0519 5.99 5.86e- 7
2 FRic <tibble [44 × 3]> <lm> treat… 0.157 0.104 1.52 1.38e- 1
3 FEve <tibble [44 × 3]> <lm> (Inte… 0.670 0.0296 22.7 1.12e-23
4 FEve <tibble [44 × 3]> <lm> treat… -0.0227 0.0591 -0.385 7.03e- 1
5 FDiv <tibble [44 × 3]> <lm> (Inte… 0.669 0.0205 32.6 2.28e-29
6 FDiv <tibble [44 × 3]> <lm> treat… 0.0256 0.0411 0.623 5.37e- 1
7 FDis <tibble [44 × 3]> <lm> (Inte… 1.25 0.100 12.5 1.09e-15
8 FDis <tibble [44 × 3]> <lm> treat… 0.486 0.211 2.31 2.61e- 2
9 RaoQ <tibble [44 × 3]> <lm> (Inte… 2.57 0.398 6.46 8.62e- 8
10 RaoQ <tibble [44 × 3]> <lm> treat… 1.65 0.834 1.97 5.50e- 2
Agora, somente FDis (nem considerei o RaoQ que é igual ao FDis) teve alguma diferença entre tratamentos. Isso significa que temos menor diversidade funcional entre as respostas dos agricultores quando comparada a Flora da Flona de Açu. Isso é esperado visto que os agricultires tendem a escolher espécies com certas caracterísicas, como visto nos CWM. Ainda, as abundâncias escolhidas por eles devem ser bastante enviesadas para algumas espécies conhecidas, fazendo com que o índice de disprsão funcional (que é a diversidade), respondesse, mas outros não.
Cenário 1 - Todas as espécies
##CWM
comm <- read.table("~/Insync/felipe.plmelo@ufpe.br/Google Drive - Shared with me/Dados_Artigo Biocultural/Cenário 1/abun_relativa_s.csv", sep = ",",row.names = 1, header = T)
att <- read.csv("~/Insync/felipe.plmelo@ufpe.br/Google Drive - Shared with me/Dados_Artigo Biocultural/Cenário 1/atributos1.csv", sep = ",", row.names = 1, header = T) # atenção, tinha um valor solto na tabela, favor checar versão atributos_old.csv
data.frame(colnames(comm), rownames(att)) # para checar se estão realemnten em ordem. colnames.comm.
1 Amburana.cearensis..Cumaru.
2 Anacardium.occidentale.Cajueiro.
3 Anadenanthera.colubrina.Angico.
4 Annona.muricata.Graviola.
5 Annona.squamosa.Pinha.
6 Aspidosperma.pyrifolium.Pereiro.
7 Bauhinia.cheilantha.Mororo.
8 Chloroleucon.dumosum..Benth...G.P.Lewis
9 Caesalpinia.bracteosa..Tul..L.P.Queiroz
10 Citrus.limon.Lim..
11 Cocos.nucifera.Coqueiro.
12 Cnidoscolus.quercifolius.Pohl
13 Cochlospermum.vitifolium..Willd...Spreng.
14 Combretum.leprosum.Mofumbo.
15 Commiphora.leptophloeos.Imburana.
16 Cordia.oncocalyx.Pau.Branco.
17 Croton.sonderianus..Marmeleiro.
18 Cynophalla.flexuosa..L...J.Presl..L...J.Presl
19 Eucalyptus.globulus.Eucalipto.
20 Euterpe.oleracea.A.ai.
21 Erythroxylum.pyan.Costa.Lima
22 Handroanthus.impetiginosus.PauDArco.
23 Jatropha.mollissima.Pinh..
24 Leucaena.leucocephala.Leucena.
25 Libidibia.ferrea.Juca.
26 Licania.rigida.Oiticia.
27 Malpighia.emarginata.Acerola.
28 Mangifera.indica.Manga.
29 Mimosa.caesalpiniifolia.Sabia.
30 Mimosa.tenuiflora.Jurema.Preta.
31 Moringa.oleifera.Moringa.
32 Myracrodruon.urundeuva.Aroeira.
33 Piptadenia.moniliformis.Catanduba.
34 Piptadenia.stipulacea.Jurema.Branca.
35 Pisonia.tomentosa.Casar
36 Prosopis.juliflora.Algaroba.
37 Pseudobombax.marginatum..A.St..Hil...Juss....Cambess...A.Robyns
38 Psidium.guajava.Goiaba.
39 Sapium.glandulosum..L...Morong
40 Sebastiania.brasiliensis.Baill.
41 Spondias.purpurea.Seriguela.
42 Spondias.tuberosa.Imbu.
43 Theobroma.cacao.Cacau.
44 Theobroma.grandiflorum.Cupua.u.
45 Trischidium.molle..Benth...H.E.Ireland
46 Ximenia.americana.L.
47 Ziziphus.joazeiro.Juazeiro.
rownames.att.
1 Amburana cearensis (Cumaru)
2 Anacardium occidentale(Cajueiro)
3 Anadenanthera colubrina(Angico)
4 Annona muricata(Graviola)
5 Annona squamosa(Pinha)
6 Aspidosperma pyrifolium(Pereiro)
7 Bauhinia cheilantha(Mororo)
8 Chloroleucon dumosum (Benth.) G.P.Lewis
9 Caesalpinia bracteosa (Tul.)L.P.Queiroz
10 Citrus limon(Lim?)
11 Cocos nucifera(Coqueiro)
12 Cnidoscolus quercifolius Pohl
13 Cochlospermum vitifolium (Willd.) Spreng.
14 Combretum leprosum(Mofumbo)
15 Commiphora leptophloeos(Imburana)
16 Cordia oncocalyx(Pau-Branco)
17 Croton sonderianus (Marmeleiro)
18 Cynophalla flexuosa (L.) J.Presl (L.) J.Presl
19 Eucalyptus globulus(Eucalipto)
20 Euterpe oleracea(A�ai)
21 Erythroxylum pyan Costa-Lima
22 Handroanthus impetiginosus(PauDArco)
23 Jatropha mollissima(Pinh?)
24 Leucaena leucocephala(Leucena)
25 Libidibia ferrea(Juca)
26 Licania rigida(Oiticia)
27 Malpighia emarginata(Acerola)
28 Mangifera indica(Manga)
29 Mimosa caesalpiniifolia(Sabia)
30 Mimosa tenuiflora(Jurema Preta)
31 Moringa oleifera(Moringa)
32 Myracrodruon urundeuva(Aroeira)
33 Piptadenia moniliformis(Catanduba)
34 Piptadenia stipulacea(Jurema-Branca)
35 Pisonia tomentosa Casar
36 Prosopis juliflora(Algaroba)
37 Pseudobombax marginatum (A.St.-Hil.. Juss. & Cambess.) A.Robyns
38 Psidium guajava(Goiaba)
39 Sapium glandulosum (L.) Morong
40 Sebastiania brasiliensis Baill.
41 Spondias purpurea(Seriguela)
42 Spondias tuberosa(Imbu)
43 Theobroma cacao(Cacau)
44 Theobroma grandiflorum(Cupua�u)
45 Trischidium molle (Benth.) H.E.Ireland
46 Ximenia americana L.
47 Ziziphus joazeiro(Juazeiro)
colnames(comm) <- rownames (att) # cuidado com esse procedimento. como a tabela tem poucas linha, dá pra checar, mas se trivesse muitas seria impossível e muito arriscadoCalculando os CWM
library(FD)
div.func <- dbFD(x = att, a = comm, w.abun = T, stand.x = T, stand.FRic = T, m = 4)FEVe: Could not be calculated for communities with <3 functionally singular species.
FRic: To respect s > t, FRic could not be calculated for communities with <3 functionally singular species.
FRic: Dimensionality reduction was required. The last 2 PCoA axes (out of 4 in total) were removed.
FRic: Quality of the reduced-space representation = 0.7650239
FDiv: Could not be calculated for communities with <3 functionally singular species.
div.func # bom dar uma olhada na tabelona$nbsp
Flona.1 Flona.2 Flona.3 Flona.4 Flona.5 Flona.6 Flona.7 Flona.8
13 11 13 16 18 11 13 14
Flona.9 Flona.10 E.1 E.2 E.3 E.4 E.5 E.6
12 12 4 13 10 10 10 17
E.7 E.8 E.9 E.10 E.11 E.12 E.13 E.14
21 8 15 17 14 2 9 9
E.15 E.16 E.17 E.18 E.19 E.20 E.21 E.22
8 6 8 9 11 11 13 11
E.23 E.24 E.25 E.26 E.27 E.28 E.29 E.30
17 12 14 10 3 9 3 5
E.31 E.32 E.33 E.34 E.35
10 9 9 13 11
$sing.sp
Flona.1 Flona.2 Flona.3 Flona.4 Flona.5 Flona.6 Flona.7 Flona.8
13 11 13 16 18 11 13 14
Flona.9 Flona.10 E.1 E.2 E.3 E.4 E.5 E.6
12 12 4 13 10 10 10 17
E.7 E.8 E.9 E.10 E.11 E.12 E.13 E.14
21 8 15 17 14 2 9 9
E.15 E.16 E.17 E.18 E.19 E.20 E.21 E.22
8 6 8 9 11 11 13 11
E.23 E.24 E.25 E.26 E.27 E.28 E.29 E.30
17 12 14 10 3 9 3 5
E.31 E.32 E.33 E.34 E.35
10 9 9 13 11
$FRic
Flona.1 Flona.2 Flona.3 Flona.4 Flona.5 Flona.6
0.440019877 0.384944065 0.407532365 0.581935864 0.581935864 0.387945068
Flona.7 Flona.8 Flona.9 Flona.10 E.1 E.2
0.145423700 0.131979985 0.381515153 0.071375831 0.010431839 0.196597409
E.3 E.4 E.5 E.6 E.7 E.8
0.076815367 0.333963144 0.160327175 0.430525070 0.913229992 0.056753585
E.9 E.10 E.11 E.12 E.13 E.14
0.442790771 0.112950315 0.072541092 NA 0.098883313 0.164279564
E.15 E.16 E.17 E.18 E.19 E.20
0.027270224 0.011215061 0.053000731 0.037648628 0.113081555 0.059335208
E.21 E.22 E.23 E.24 E.25 E.26
0.078471651 0.047635994 0.203258562 0.107829964 0.900137697 0.054588407
E.27 E.28 E.29 E.30 E.31 E.32
0.007106240 0.147490114 0.002999303 0.116404845 0.056854889 0.349322756
E.33 E.34 E.35
0.047694596 0.401540077 0.462100191
$qual.FRic
[1] 0.7650239
$FEve
Flona.1 Flona.2 Flona.3 Flona.4 Flona.5 Flona.6
0.709138176 0.560988272 0.353838380 0.012355691 0.573735583 0.447104664
Flona.7 Flona.8 Flona.9 Flona.10 E.1 E.2
0.422220329 0.001282435 0.581486513 0.307866894 0.606255957 0.478631608
E.3 E.4 E.5 E.6 E.7 E.8
0.831572313 0.414567261 0.634696276 0.425158312 0.383337257 0.709966749
E.9 E.10 E.11 E.12 E.13 E.14
0.675704185 0.671514486 0.716435395 NA 0.748731827 0.643209564
E.15 E.16 E.17 E.18 E.19 E.20
0.576666419 0.367550940 0.745119417 0.525395833 0.761442246 0.724662152
E.21 E.22 E.23 E.24 E.25 E.26
0.691665054 0.667488158 0.738963808 0.780935795 0.516077640 0.733565248
E.27 E.28 E.29 E.30 E.31 E.32
0.444299351 0.520588863 0.054379565 0.063451139 0.673093876 0.395036648
E.33 E.34 E.35
0.579384736 0.472769713 0.401692632
$FDiv
Flona.1 Flona.2 Flona.3 Flona.4 Flona.5 Flona.6 Flona.7 Flona.8
0.6190428 0.2580660 0.8920475 0.5352829 0.6563335 0.5935026 0.5783681 0.5254014
Flona.9 Flona.10 E.1 E.2 E.3 E.4 E.5 E.6
0.3350691 0.8882648 0.8556085 0.7063725 0.7185840 0.6950918 0.4977664 0.6862331
E.7 E.8 E.9 E.10 E.11 E.12 E.13 E.14
0.7544867 0.4994696 0.7115110 0.6817940 0.7167490 NA 0.6770571 0.7523970
E.15 E.16 E.17 E.18 E.19 E.20 E.21 E.22
0.5312996 0.5594729 0.5367879 0.3370274 0.6608866 0.6225798 0.7266486 0.7105371
E.23 E.24 E.25 E.26 E.27 E.28 E.29 E.30
0.7060347 0.6962170 0.7805281 0.7664217 0.6700138 0.7938650 0.7250952 0.5965808
E.31 E.32 E.33 E.34 E.35
0.6681713 0.7080612 0.6197179 0.6666695 0.8066841
$FDis
Flona.1 Flona.2 Flona.3 Flona.4 Flona.5 Flona.6 Flona.7
1.96506579 0.01834691 0.27734672 1.48982369 0.64071597 1.04158330 1.02783865
Flona.8 Flona.9 Flona.10 E.1 E.2 E.3 E.4
0.47621907 0.03366574 0.42011558 1.36622130 0.87247312 0.86706554 1.80114934
E.5 E.6 E.7 E.8 E.9 E.10 E.11
1.50667769 1.08902962 1.25697947 0.62251403 2.46896356 0.92763192 0.77304361
E.12 E.13 E.14 E.15 E.16 E.17 E.18
0.40532369 1.44800654 1.35537014 0.65363796 0.51779179 1.73641840 0.01339533
E.19 E.20 E.21 E.22 E.23 E.24 E.25
1.25744413 0.76513825 0.88232466 0.72849246 1.31117994 0.99182000 1.91002951
E.26 E.27 E.28 E.29 E.30 E.31 E.32
0.74136491 0.86751649 1.37841876 3.48767024 0.50538971 0.71562251 2.03703863
E.33 E.34 E.35
0.60212871 1.46657279 1.64235627
$RaoQ
Flona.1 Flona.2 Flona.3 Flona.4 Flona.5 Flona.6
7.16973027 0.03818507 0.12595625 3.78552596 0.57215680 1.41696380
Flona.7 Flona.8 Flona.9 Flona.10 E.1 E.2
1.27764968 0.28513713 0.09838535 0.21934387 2.19102022 1.23089466
E.3 E.4 E.5 E.6 E.7 E.8
0.88624155 6.75712911 2.87421812 2.49080517 2.89587405 0.51775773
E.9 E.10 E.11 E.12 E.13 E.14
10.35861493 1.16702937 0.82011931 0.16428730 2.61975572 2.60818984
E.15 E.16 E.17 E.18 E.19 E.20
0.62971245 0.34425038 3.74386730 0.01041816 2.17792154 0.77200602
E.21 E.22 E.23 E.24 E.25 E.26
1.15047948 0.72015734 2.22097776 1.25557006 7.62627318 0.66040577
E.27 E.28 E.29 E.30 E.31 E.32
0.87806610 3.00649171 16.22216262 1.65726193 0.75975445 8.30788157
E.33 E.34 E.35
0.46054877 5.12912654 4.72941425
$CWM
area_foliar sla alt wd
Flona.1 65.24012 131.27901 18.069136 1.4396296
Flona.2 112.26498 162.94904 29.930151 0.8217802
Flona.3 33.16377 112.17116 4.134824 0.6644159
Flona.4 60.99577 138.09665 14.159146 1.0100669
Flona.5 49.11265 108.60922 6.314657 0.7845077
Flona.6 46.36353 154.76563 9.062698 0.7243750
Flona.7 72.43542 120.10637 12.657107 0.8146250
Flona.8 27.07981 129.85080 5.000491 0.6905867
Flona.9 112.09387 162.95225 29.924102 0.8276055
Flona.10 27.07200 95.01122 5.646789 0.6695682
E.1 66.64000 164.34750 9.700000 0.5800000
E.2 52.04288 134.03247 14.580822 0.6227397
E.3 57.74774 137.16925 11.573585 0.6683019
E.4 37.96000 167.35016 15.458730 1.2376190
E.5 57.32106 242.75149 13.294681 0.6459574
E.6 51.84259 158.79130 11.196296 0.7518519
E.7 58.46716 164.99537 11.167164 0.7137313
E.8 42.84786 146.45411 11.696429 0.5625000
E.9 52.73462 178.67523 19.953846 1.5713846
E.10 48.66388 157.92506 9.281176 0.6276471
E.11 45.74529 133.79176 8.347059 0.6535294
E.12 52.53000 157.79500 6.850000 0.6400000
E.13 113.19000 155.68667 13.255556 0.5355556
E.14 91.06111 147.54667 12.877778 0.6266667
E.15 54.79857 147.73714 10.387143 0.5291429
E.16 48.17029 149.71600 8.058571 0.5670000
E.17 155.90430 182.64797 9.169620 0.4175949
E.18 16.65137 179.07530 7.506236 0.3029891
E.19 53.75857 182.59500 10.464286 0.5971429
E.20 49.43625 135.55714 9.371429 0.5930357
E.21 37.14000 146.67069 9.991379 0.6362069
E.22 32.56439 137.91298 10.657895 0.6391228
E.23 61.82333 180.61333 11.083333 0.6482222
E.24 50.21171 179.23512 11.541463 0.5814634
E.25 52.28164 182.04443 14.108197 1.2104918
E.26 62.80840 157.74120 8.780000 0.6034000
E.27 37.16500 198.87900 11.560000 0.6290000
E.28 77.36235 138.66765 10.617647 0.6570588
E.29 45.39000 138.18500 21.000000 2.4700000
E.30 44.42680 119.67200 12.284000 0.7180000
E.31 38.27412 147.75294 9.458824 0.7082353
E.32 50.14222 134.96407 17.679630 1.5629630
E.33 43.92620 142.94850 8.838000 0.6068000
E.34 53.31057 138.39343 16.057143 1.0505714
E.35 48.07831 183.03217 11.012048 0.8163855
CWM_s <- div.func$CWMComparando os CWMs
Como parte da exploração dos dados, eu gosto de fazer a comparação entre tratamentos. Na verdade, essa memdida é parte das nossas hippoteses de trabalho e está na Tabela 2.
library(tidyverse)
CWM_s %>%
rownames_to_column(var="categoria") %>%
mutate(treatment=ifelse(grepl("Flona", categoria), "pa", "agri")) %>%
pivot_longer(col=area_foliar:wd, names_to = "traits", values_to = "CWM") %>%
ggplot(aes(treatment, CWM, color=treatment, fill=treatment))+geom_violin(alpha=0.5)+geom_point()+
facet_wrap(.~traits, scales = "free")->CWM_graf
CWM_grafAgora precisamos de testes para entender qual dessas comparações são realmente diferentes.
library(broom)
CWM_s %>%
rownames_to_column(var="categoria") %>%
mutate(treatment=ifelse(grepl("Flona", categoria), "pa", "agri")) %>%
pivot_longer(col=area_foliar:wd, names_to = "traits", values_to = "CWM") %>%
nest(data = -traits) %>%
mutate(model=map(data,~lm(CWM~treatment, data=.)), tidied = map(model, tidy)) %>% unnest(tidied)# A tibble: 8 × 8
traits data model term estimate std.error statistic p.value
<chr> <list> <list> <chr> <dbl> <dbl> <dbl> <dbl>
1 area_foliar <tibble> <lm> (Intercept) 55.5 4.35 12.8 3.18e-16
2 area_foliar <tibble> <lm> treatmentpa 5.08 9.22 0.551 5.84e- 1
3 sla <tibble> <lm> (Intercept) 159. 4.05 39.1 2.96e-35
4 sla <tibble> <lm> treatmentpa -27.0 8.60 -3.14 3.02e- 3
5 alt <tibble> <lm> (Intercept) 11.7 0.900 13.0 1.77e-16
6 alt <tibble> <lm> treatmentpa 1.81 1.91 0.948 3.49e- 1
7 wd <tibble> <lm> (Intercept) 0.771 0.0636 12.1 1.81e-15
8 wd <tibble> <lm> treatmentpa 0.0738 0.135 0.547 5.87e- 1
Todas as comparações são significativas!!
Agora vamos comparar os índices de diversidade funcional
Nessa etapa é importante pensar sobre o que cada índice informa e o que pode ser interpretado como resultado relevante
div_measures<-tibble(div.func$FRic, div.func$FEve,div.func$FDiv, div.func$FDis, div.func$RaoQ)
div_measures$sites<-rownames(CWM_s)
div_measures %>%
mutate(treatment=ifelse(grepl("Flona", sites), "pa", "agri")) %>%
rename( FRic=`div.func$FRic`, FEve=`div.func$FEve`,FDiv=`div.func$FDiv`, FDis=`div.func$FDis`, RaoQ=`div.func$RaoQ`) %>%
pivot_longer(col=FRic:RaoQ, names_to = "fun_div", values_to = "index") %>%
ggplot(aes(treatment, index, color=treatment, fill=treatment))+geom_violin(alpha=0.5)+geom_point()+
facet_wrap(.~fun_div, scales = "free")Warning: Removed 3 rows containing non-finite values (`stat_ydensity()`).
Warning: Removed 3 rows containing missing values (`geom_point()`).
div_measures %>%
mutate(treatment=ifelse(grepl("Flona", sites), "pa", "agri")) %>%
rename( FRic=`div.func$FRic`, FEve=`div.func$FEve`,FDiv=`div.func$FDiv`, FDis=`div.func$FDis`, RaoQ=`div.func$RaoQ`) %>%
pivot_longer(col=FRic:RaoQ, names_to = "fun_div", values_to = "index") %>%
nest(data = -fun_div) %>%
mutate(model=map(data,~lm(index~treatment, data=.)), tidied = map(model, tidy)) %>% unnest(tidied) # A tibble: 10 × 8
fun_div data model term estimate std.error statistic p.value
<chr> <list> <list> <chr> <dbl> <dbl> <dbl> <dbl>
1 FRic <tibble [45 × 3]> <lm> (Inte… 0.187 0.0373 5.01 1.04e- 5
2 FRic <tibble [45 × 3]> <lm> treat… 0.165 0.0783 2.10 4.17e- 2
3 FEve <tibble [45 × 3]> <lm> (Inte… 0.570 0.0340 16.8 3.25e-20
4 FEve <tibble [45 × 3]> <lm> treat… -0.173 0.0713 -2.42 1.98e- 2
5 FDiv <tibble [45 × 3]> <lm> (Inte… 0.672 0.0225 29.9 6.11e-30
6 FDiv <tibble [45 × 3]> <lm> treat… -0.0837 0.0471 -1.78 8.30e- 2
7 FDis <tibble [45 × 3]> <lm> (Inte… 1.17 0.111 10.6 1.51e-13
8 FDis <tibble [45 × 3]> <lm> treat… -0.432 0.235 -1.84 7.28e- 2
9 RaoQ <tibble [45 × 3]> <lm> (Inte… 2.86 0.542 5.28 4.05e- 6
10 RaoQ <tibble [45 × 3]> <lm> treat… -1.36 1.15 -1.18 2.43e- 1
Nesse caso, com todas as espécies, temos diferenças no FRIc e FEve. Ou seja, temos maior riqueza funcional (núemero de estratégias fincionais) na Flona, mas menor regularidade (FEve) nesse ambiente. O resto não temos diferença, inclusive para a diversidade funcional.