Testes de correlação

Author

Luana

Teste de correlação entre:

  1. Evapotranspiração - regulação hídrica

  2. Conservação do solo - regulação do solo

  3. Sequestro de carbono - regulação do clima (?)

  4. Cultivos - provisão de alimentos (arroz, milho, café, laranja e uva)

setwd("~/Mestrado PPG ECO/Dissertação")
library(readr)
library(dplyr)

Attaching package: 'dplyr'
The following objects are masked from 'package:stats':

    filter, lag
The following objects are masked from 'package:base':

    intersect, setdiff, setequal, union
library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ forcats   1.0.0     ✔ stringr   1.5.0
✔ ggplot2   3.4.2     ✔ tibble    3.2.1
✔ lubridate 1.9.2     ✔ tidyr     1.3.0
✔ purrr     1.0.1     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(tidyr)
library(vegan)
Warning: package 'vegan' was built under R version 4.3.1
Carregando pacotes exigidos: permute
Warning: package 'permute' was built under R version 4.3.1
Carregando pacotes exigidos: lattice
This is vegan 2.6-4
library(ggplot2)


dados<-readr::read_delim("todos.csv")
Rows: 399 Columns: 4
── Column specification ────────────────────────────────────────────────────────
Delimiter: ";"
chr (1): municipio
dbl (3): mediana_evapo, porc_area_mun_e_b_mb, porc_area_mun_veg

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
dados1<-dados %>% select(-1)

decostand(dados1, method = "stand")->dados2

cor<-cor(dados2)
cor
                     mediana_evapo porc_area_mun_e_b_mb porc_area_mun_veg
mediana_evapo            1.0000000           -0.1105252        -0.3488939
porc_area_mun_e_b_mb    -0.1105252            1.0000000         0.4539873
porc_area_mun_veg       -0.3488939            0.4539873         1.0000000
library(corrplot)
Warning: package 'corrplot' was built under R version 4.3.1
corrplot 0.92 loaded
corrplot(cor, method="color",  
         type="upper",
         addCoef.col = "black", insig = "blank", diag=FALSE 
)

Acrescentando os cultivos:

data<-readr::read_delim("todos3.csv")
Rows: 399 Columns: 9
── Column specification ────────────────────────────────────────────────────────
Delimiter: ";"
chr (1): municipio
dbl (8): Evapotranspiracao, Conservacao_do_solo, Sequestro_de_carbono, Arroz...

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
str(data)
spc_tbl_ [399 × 9] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
 $ municipio           : chr [1:399] "abatia" "adrianopolis" "agudos_do_sul" "almirante_tamandare" ...
 $ Evapotranspiracao   : num [1:399] 1125 1025 0 675 1075 ...
 $ Conservacao_do_solo : num [1:399] 6.2 4.18 26.9 33.22 3.17 ...
 $ Sequestro_de_carbono: num [1:399] 11.3 74.9 54.6 58.6 21.6 ...
 $ Arroz               : num [1:399] 496 959 248 0 496 ...
 $ Milho               : num [1:399] 4596 1701 5912 5907 5455 ...
 $ Café                : num [1:399] 2056 236 0 0 0 ...
 $ Laranja             : num [1:399] 15625 6128 0 0 8683 ...
 $ Uva                 : num [1:399] 0 0 7749 2066 789 ...
 - attr(*, "spec")=
  .. cols(
  ..   municipio = col_character(),
  ..   Evapotranspiracao = col_double(),
  ..   Conservacao_do_solo = col_double(),
  ..   Sequestro_de_carbono = col_double(),
  ..   Arroz = col_double(),
  ..   Milho = col_double(),
  ..   Café = col_double(),
  ..   Laranja = col_double(),
  ..   Uva = col_double()
  .. )
 - attr(*, "problems")=<externalptr> 
#data1<-data %>% select(-1)


data.log<-cbind(log(data[-1]+1))

data.std<-decostand(data.log, method = "stand")

#pearson
corre<-cor(data.std)
corre
                     Evapotranspiracao Conservacao_do_solo Sequestro_de_carbono
Evapotranspiracao           1.00000000       -0.0977057424          -0.10982521
Conservacao_do_solo        -0.09770574        1.0000000000           0.36457209
Sequestro_de_carbono       -0.10982521        0.3645720940           1.00000000
Arroz                      -0.06201258       -0.0331220793           0.45401954
Milho                       0.16393349       -0.1996168362          -0.02151915
Café                       -0.02927398       -0.2751728968          -0.52391669
Laranja                     0.16304887        0.0002298671          -0.06572616
Uva                         0.08355401       -0.0897727804           0.23419847
                           Arroz       Milho        Café       Laranja
Evapotranspiracao    -0.06201258  0.16393349 -0.02927398  0.1630488710
Conservacao_do_solo  -0.03312208 -0.19961684 -0.27517290  0.0002298671
Sequestro_de_carbono  0.45401954 -0.02151915 -0.52391669 -0.0657261575
Arroz                 1.00000000  0.09877036 -0.26743752  0.0146922427
Milho                 0.09877036  1.00000000 -0.15690217 -0.0218250778
Café                 -0.26743752 -0.15690217  1.00000000  0.2138977244
Laranja               0.01469224 -0.02182508  0.21389772  1.0000000000
Uva                   0.17701948  0.19274051 -0.19001013  0.0335901891
                             Uva
Evapotranspiracao     0.08355401
Conservacao_do_solo  -0.08977278
Sequestro_de_carbono  0.23419847
Arroz                 0.17701948
Milho                 0.19274051
Café                 -0.19001013
Laranja               0.03359019
Uva                   1.00000000
corrplot(corre, method="color",  
         type="upper",
         addCoef.col = "black", insig = "blank", diag=FALSE 
)

c_evap.csolo<-cor.test(data.std$Evapotranspiracao, data.std$Conservacao_do_solo, method = "pearson")
c_evap.csolo

    Pearson's product-moment correlation

data:  data.std$Evapotranspiracao and data.std$Conservacao_do_solo
t = -1.9561, df = 397, p-value = 0.05115
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.1940193135  0.0004734475
sample estimates:
        cor 
-0.09770574 
c_evap.scarb<-cor.test(data.std$Evapotranspiracao, data.std$Sequestro_de_carbono)
c_evap.scarb

    Pearson's product-moment correlation

data:  data.std$Evapotranspiracao and data.std$Sequestro_de_carbono
t = -2.2016, df = 397, p-value = 0.02827
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.20578112 -0.01177755
sample estimates:
       cor 
-0.1098252 
c_evap.arr<-cor.test(data.std$Evapotranspiracao, data.std$Arroz)
c_evap.arr

    Pearson's product-moment correlation

data:  data.std$Evapotranspiracao and data.std$Arroz
t = -1.238, df = 397, p-value = 0.2165
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.15921790  0.03638357
sample estimates:
        cor 
-0.06201258 
c_evap.mi<-cor.test(data.std$Evapotranspiracao, data.std$Milho)
c_evap.mi

    Pearson's product-moment correlation

data:  data.std$Evapotranspiracao and data.std$Milho
t = 3.3111, df = 397, p-value = 0.001014
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.06683448 0.25795656
sample estimates:
      cor 
0.1639335 
c_evap.caf<-cor.test(data.std$Evapotranspiracao, data.std$Café)
c_evap.caf

    Pearson's product-moment correlation

data:  data.std$Evapotranspiracao and data.std$Café
t = -0.58353, df = 397, p-value = 0.5599
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.12708340  0.06909926
sample estimates:
        cor 
-0.02927398 
c_evap.lar<-cor.test(data.std$Evapotranspiracao, data.std$Laranja)
c_evap.lar

    Pearson's product-moment correlation

data:  data.std$Evapotranspiracao and data.std$Laranja
t = 3.2928, df = 397, p-value = 0.001081
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 0.06592957 0.25710792
sample estimates:
      cor 
0.1630489 
c_evap.uva<-cor.test(data.std$Evapotranspiracao, data.std$Uva)
c_evap.uva

    Pearson's product-moment correlation

data:  data.std$Evapotranspiracao and data.std$Uva
t = 1.6706, df = 397, p-value = 0.09558
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
 -0.01474156  0.18025009
sample estimates:
       cor 
0.08355401 
#spearman
corre.sp<-cor(data.std, method = "spearman")
corre.sp
                     Evapotranspiracao Conservacao_do_solo Sequestro_de_carbono
Evapotranspiracao           1.00000000        -0.036467601           -0.5285728
Conservacao_do_solo        -0.03646760         1.000000000            0.3413836
Sequestro_de_carbono       -0.52857277         0.341383612            1.0000000
Arroz                      -0.30053658         0.011388347            0.4029918
Milho                      -0.24415570         0.008390828            0.2522927
Café                        0.23945671        -0.287811900           -0.5135610
Laranja                     0.18051863         0.035969484           -0.1453817
Uva                        -0.09014716        -0.099558908            0.2052594
                           Arroz        Milho       Café     Laranja
Evapotranspiracao    -0.30053658 -0.244155697  0.2394567  0.18051863
Conservacao_do_solo   0.01138835  0.008390828 -0.2878119  0.03596948
Sequestro_de_carbono  0.40299175  0.252292702 -0.5135610 -0.14538172
Arroz                 1.00000000  0.140206544 -0.2314075 -0.04173374
Milho                 0.14020654  1.000000000 -0.3609157 -0.14640448
Café                 -0.23140748 -0.360915660  1.0000000  0.24339536
Laranja              -0.04173374 -0.146404476  0.2433954  1.00000000
Uva                   0.14534353  0.171528786 -0.1159217  0.01890094
                             Uva
Evapotranspiracao    -0.09014716
Conservacao_do_solo  -0.09955891
Sequestro_de_carbono  0.20525937
Arroz                 0.14534353
Milho                 0.17152879
Café                 -0.11592170
Laranja               0.01890094
Uva                   1.00000000
corrplot(corre.sp, method="color",  
         type="upper",
         addCoef.col = "black", insig = "blank", diag=FALSE 
)

Teste de correlação entre 11 variáveis:

  • Conservação do solo: proporçao/porcentagem da área do município com erosão muito baixa ou baixa. (P. ex. se o município tem 80% da area com e_b_mb tem conservação do solo alta)

  • Estoque de carbono: porcentagem da área do município coberta por vegetação nativa

  • Demanda hídrica: consumo de água - volume medido (m³/ano)

  • Biodiversidade: ICMS ecológico (R$ por mun)

  • Agricultura: arroz, café, feijão, mandioca, soja, trigo e milho

dados.se<-readr::read_delim("todos4_outros indicadores.csv")
Rows: 399 Columns: 12
── Column specification ────────────────────────────────────────────────────────
Delimiter: ";"
chr  (1): municipio
dbl (11): conservacao_do_solo, estoque_de_carbono, arroz, milho, café, deman...

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
dadoslog<-cbind(log(dados.se[-1]+1))
dadoslog.std<-decostand(dadoslog, method = "stand")

cor.logstd<-cor(dadoslog.std)
cor.logstd
                    conservacao_do_solo estoque_de_carbono       arroz
conservacao_do_solo         1.000000000         0.36457209 -0.03312208
estoque_de_carbono          0.364572094         1.00000000  0.45401954
arroz                      -0.033122079         0.45401954  1.00000000
milho                      -0.199616836        -0.02151915  0.09877036
café                       -0.275172897        -0.52391669 -0.26743752
demand_hídrica              0.142205221         0.09034884  0.02354418
soja                       -0.265000795        -0.18834204  0.05130982
feijao                     -0.063485668         0.43308153  0.36729885
mandioca                   -0.003827558        -0.33297317 -0.10708621
trigo                      -0.387188442         0.19006945  0.25386742
biodiversidade              0.291631245         0.41036241  0.20275002
                           milho        café demand_hídrica        soja
conservacao_do_solo -0.199616836 -0.27517290    0.142205221 -0.26500080
estoque_de_carbono  -0.021519146 -0.52391669    0.090348841 -0.18834204
arroz                0.098770364 -0.26743752    0.023544180  0.05130982
milho                1.000000000 -0.15690217   -0.008436778  0.56803865
café                -0.156902168  1.00000000   -0.018312144 -0.03044370
demand_hídrica      -0.008436778 -0.01831214    1.000000000 -0.05707963
soja                 0.568038646 -0.03044370   -0.057079632  1.00000000
feijao               0.187151217 -0.16331643    0.135255517  0.11957265
mandioca             0.025127925  0.09891605   -0.068107975  0.01552442
trigo                0.408026973 -0.15327176    0.049899257  0.40360922
biodiversidade       0.003110701 -0.14128836    0.305719065 -0.09594268
                         feijao     mandioca       trigo biodiversidade
conservacao_do_solo -0.06348567 -0.003827558 -0.38718844    0.291631245
estoque_de_carbono   0.43308153 -0.332973168  0.19006945    0.410362411
arroz                0.36729885 -0.107086207  0.25386742    0.202750024
milho                0.18715122  0.025127925  0.40802697    0.003110701
café                -0.16331643  0.098916045 -0.15327176   -0.141288356
demand_hídrica       0.13525552 -0.068107975  0.04989926    0.305719065
soja                 0.11957265  0.015524419  0.40360922   -0.095942682
feijao               1.00000000 -0.145180225  0.34027141    0.193548787
mandioca            -0.14518023  1.000000000 -0.19281976   -0.188693351
trigo                0.34027141 -0.192819762  1.00000000    0.092473526
biodiversidade       0.19354879 -0.188693351  0.09247353    1.000000000
corrplot(cor.logstd, method="color",  
         type="upper",
         addCoef.col = "black", insig = "blank", diag=FALSE )

dados.se1<-dados.se %>% select(-1)
dados.std<-decostand(dados.se1, method = "stand")

cor.std<-cor(dados.std)

corrplot(cor.std, method="color",  
         type="upper",
         addCoef.col = "black", insig = "blank", diag=FALSE )

Agora trigo, soja e milho agrupados em “grãos”

dados.graos<-readr::read_delim("todos5_outros indicadores.csv")
Rows: 399 Columns: 9
── Column specification ────────────────────────────────────────────────────────
Delimiter: ";"
chr (1): municipio
dbl (8): conservacao_do_solo, estoque_de_carbono, demand_hídrica, café, feij...

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
dadoslog.graos<-cbind(log(dados.graos[-1]+1))
graoslog.std<-decostand(dadoslog.graos, method = "stand")

cor.graos<-cor(graoslog.std)
cor.logstd
                    conservacao_do_solo estoque_de_carbono       arroz
conservacao_do_solo         1.000000000         0.36457209 -0.03312208
estoque_de_carbono          0.364572094         1.00000000  0.45401954
arroz                      -0.033122079         0.45401954  1.00000000
milho                      -0.199616836        -0.02151915  0.09877036
café                       -0.275172897        -0.52391669 -0.26743752
demand_hídrica              0.142205221         0.09034884  0.02354418
soja                       -0.265000795        -0.18834204  0.05130982
feijao                     -0.063485668         0.43308153  0.36729885
mandioca                   -0.003827558        -0.33297317 -0.10708621
trigo                      -0.387188442         0.19006945  0.25386742
biodiversidade              0.291631245         0.41036241  0.20275002
                           milho        café demand_hídrica        soja
conservacao_do_solo -0.199616836 -0.27517290    0.142205221 -0.26500080
estoque_de_carbono  -0.021519146 -0.52391669    0.090348841 -0.18834204
arroz                0.098770364 -0.26743752    0.023544180  0.05130982
milho                1.000000000 -0.15690217   -0.008436778  0.56803865
café                -0.156902168  1.00000000   -0.018312144 -0.03044370
demand_hídrica      -0.008436778 -0.01831214    1.000000000 -0.05707963
soja                 0.568038646 -0.03044370   -0.057079632  1.00000000
feijao               0.187151217 -0.16331643    0.135255517  0.11957265
mandioca             0.025127925  0.09891605   -0.068107975  0.01552442
trigo                0.408026973 -0.15327176    0.049899257  0.40360922
biodiversidade       0.003110701 -0.14128836    0.305719065 -0.09594268
                         feijao     mandioca       trigo biodiversidade
conservacao_do_solo -0.06348567 -0.003827558 -0.38718844    0.291631245
estoque_de_carbono   0.43308153 -0.332973168  0.19006945    0.410362411
arroz                0.36729885 -0.107086207  0.25386742    0.202750024
milho                0.18715122  0.025127925  0.40802697    0.003110701
café                -0.16331643  0.098916045 -0.15327176   -0.141288356
demand_hídrica       0.13525552 -0.068107975  0.04989926    0.305719065
soja                 0.11957265  0.015524419  0.40360922   -0.095942682
feijao               1.00000000 -0.145180225  0.34027141    0.193548787
mandioca            -0.14518023  1.000000000 -0.19281976   -0.188693351
trigo                0.34027141 -0.192819762  1.00000000    0.092473526
biodiversidade       0.19354879 -0.188693351  0.09247353    1.000000000
corrplot(cor.graos, method="color",  
         type="upper",
         addCoef.col = "black", insig = "blank", diag=FALSE 
)