Usando os dados antigos ainda para consolidar resultados
Juntando todas as bases. São milhoes de propriedades privadas (PP). Mas como salvei as tabelas e dados finais no RData, não precisa correr essa parte do script
# filelist18 <- list.files(pattern = "*18.*.txt")
# datalist18 <- lapply(filelist18, function(x)read.table(x, header=T))
# PL_caat_2018 <- do.call("rbind", datalist18)
# PL_caat_2018$yr<-as.factor(rep(2018, each= n))
# filelist08 <- list.files(pattern = "*08.*.txt")
# datalist08 <- lapply(filelist08, function(x)read.table(x, header=T))
# PL_caat_2008 <- do.call("rbind", datalist18)
# PL_caat_2008$yr<-as.factor(rep(2008, each= n))
#
# data<-rbind(PL_caat_2008, PL_caat_2018)
Agora vamos para algumas perguntas específicas:
Qual a % média de Caatinga por PP, segundo plSize e UF?
É curioso que a média percentual de Caatinga é constantemente menos em PP, o que as coloca em situação vulnerável em termos de serviços ecossistêmicos. Agora, a média é ainda abaixo do esperado em TODOS os estados paras as GP que são obrigadas ter 20% no mínimo.
## Perguntas específicas ----
# Qual a % média de Caatinga por PP, segundo plSize e UF?----
data %>%
filter(yr == "2018") %>% #Nesse caso devemos ficar com o ano de 2018
group_by(nm_uf, plSize2) %>%
summarise_at(vars(perc_caat_pp), funs(mean, se=sd(.)/sqrt(n()))) ->a # se correr até aqui e antes do %>%, dá pra ver a tabela
## Warning: funs() is soft deprecated as of dplyr 0.8.0
## Please use a list of either functions or lambdas:
##
## # Simple named list:
## list(mean = mean, median = median)
##
## # Auto named with `tibble::lst()`:
## tibble::lst(mean, median)
##
## # Using lambdas
## list(~ mean(., trim = .2), ~ median(., na.rm = TRUE))
## This warning is displayed once per session.
kable(a,align = "lccrr")
| AL |
L |
7.199365 |
0.4646424 |
| AL |
S |
5.257887 |
0.0422565 |
| PE |
L |
10.192365 |
0.2193408 |
| PE |
S |
9.223568 |
0.0295474 |
| BA |
L |
7.284168 |
0.0916448 |
| BA |
S |
3.451860 |
0.0191474 |
| MG |
L |
12.657675 |
0.2886314 |
| MG |
S |
6.403194 |
0.0403988 |
| SE |
L |
7.391737 |
0.4019894 |
| SE |
S |
1.397895 |
0.0214230 |
| CE |
L |
11.112495 |
0.1696429 |
| CE |
S |
6.057767 |
0.0318083 |
| RN |
L |
18.992051 |
0.3145556 |
| RN |
S |
4.498422 |
0.0310856 |
| PB |
L |
13.037007 |
0.2817429 |
| PB |
S |
6.757899 |
0.0341430 |
| PI |
L |
12.803769 |
0.2523019 |
| PI |
S |
11.714991 |
0.0453854 |
a %>%
ggplot(aes(nm_uf, mean, group=plSize2, fill=plSize2, color=plSize2))+
geom_col(position = "dodge")+
geom_errorbar(aes(ymin=mean-se, ymax=mean+se),position=position_dodge(width=0.9), colour="black", width=.2)+
labs(x="States with Caatinga", y = "Mean % of Caatinga per private property")+
theme(axis.text.x=element_blank(), axis.title.x=element_blank())-> graf1
graf1

Qual a quantidade de Caatinga por PP, segundo plSize e UF?
data %>%
filter(yr == "2018") %>% #Nesse caso devemos ficar com o ano de 2018
group_by(nm_uf, plSize2) %>%
summarise_at(vars(vegHa), funs(sum)) %>% # se correr até aqui e antes do %>%, dá pra ver a tabela
ggplot(aes(nm_uf, vegHa, group=plSize2, fill=plSize2, color=plSize2))+
geom_col(position = "dodge")+
labs(x="States with Caatinga", y = "Amount of Caatinga vegetation (ha)") -> graf2
graf2

#Juntando os dois gráfico para ter uma idea
plot_grid(graf1,graf2, nrow = 2, align = TRUE) # Aqui podemos ter uma idea de como é a distribuição das florestas por estados

Qual a distribuição do número de PP segundo % de Caatinga por plSize e UF?
data %>%
filter(yr == "2018") %>%
group_by(nm_uf, plSize2,vsd_cat) %>%
summarise(count=n()) %>%
ggplot(aes(nm_uf, log(count), group=vsd_cat, fill=vsd_cat, color=vsd_cat))+
geom_col(position = "dodge")+
facet_wrap(.~plSize2)

Aqui em tabela
data %>%
filter(yr == "2018") %>%
group_by(nm_uf,plSize2,vsd_cat) %>%
summarise(count=n()) %>%
spread(vsd_cat,count) %>%
kable()
| AL |
L |
1352 |
100 |
52 |
40 |
20 |
| AL |
S |
130147 |
5566 |
3481 |
2232 |
1718 |
| PE |
L |
11260 |
313 |
379 |
572 |
706 |
| PE |
S |
416705 |
26832 |
25689 |
20965 |
8215 |
| BA |
L |
53461 |
1215 |
1244 |
1211 |
2589 |
| BA |
S |
491802 |
11878 |
8176 |
5681 |
5339 |
| MG |
L |
5453 |
582 |
456 |
316 |
231 |
| MG |
S |
138835 |
10244 |
5036 |
2289 |
1458 |
| SE |
L |
1390 |
116 |
72 |
36 |
6 |
| SE |
S |
108075 |
1636 |
692 |
303 |
104 |
| CE |
L |
23288 |
286 |
490 |
952 |
2174 |
| CE |
S |
357505 |
4654 |
7825 |
12611 |
10303 |
| RN |
L |
6854 |
462 |
684 |
916 |
724 |
| RN |
S |
233275 |
6400 |
6083 |
4754 |
2720 |
| PB |
L |
7375 |
402 |
370 |
582 |
505 |
| PB |
S |
302008 |
9661 |
9648 |
9523 |
8218 |
| PI |
L |
13198 |
34 |
140 |
389 |
1711 |
| PI |
S |
285555 |
8464 |
14891 |
18611 |
18747 |
Quanta Caatinga falta por UF separado por PlSize2
Aqui estamos usando o superavit de pequenas para fazer
Nem todos os estados tem deficit ou todas as categorias de PP (L and S) têm déficit
data %>%
filter(yr == "2018") %>%
group_by(nm_uf,vsd_cat, plSize2) %>%
summarise_at(vars(net_vsd), funs(sum)) %>%
spread(vsd_cat, net_vsd) %>%
as.data.frame() %>%
mutate(VSD_GP = rowSums(.[4:7])+ rowSums(.[3])) %>%
kable()
| AL |
L |
-160894.6 |
5605.88 |
11290.22 |
11239.81 |
6207.90 |
-126550.81 |
| AL |
S |
-256455.1 |
80521.22 |
62557.58 |
19531.24 |
13905.63 |
-79939.41 |
| PE |
L |
-1134038.2 |
39801.26 |
119792.57 |
331346.22 |
448992.35 |
-194105.77 |
| PE |
S |
-1287636.1 |
320680.09 |
852204.96 |
1668005.84 |
961300.56 |
2514555.31 |
| BA |
L |
-10276505.3 |
464076.71 |
1192263.71 |
1661385.84 |
4465274.94 |
-2493504.13 |
| BA |
S |
-3140755.5 |
1577262.61 |
2809306.07 |
2964252.99 |
2517382.91 |
6727449.12 |
| MG |
L |
-920176.7 |
47007.34 |
158717.01 |
167571.15 |
97328.57 |
-449552.59 |
| MG |
S |
-551318.7 |
76604.35 |
155968.12 |
145568.82 |
86062.74 |
-87114.70 |
| SE |
L |
-131916.6 |
16091.74 |
15779.56 |
12552.20 |
1403.06 |
-86090.02 |
| SE |
S |
-270913.3 |
61126.63 |
43975.56 |
31630.46 |
7385.42 |
-126795.21 |
| CE |
L |
-2813236.5 |
61568.71 |
247526.07 |
808823.73 |
2185169.62 |
489851.59 |
| CE |
S |
-1682600.0 |
140568.53 |
663070.88 |
2238024.88 |
2892194.06 |
4251258.31 |
| RN |
L |
-651687.2 |
48816.45 |
229262.93 |
499438.47 |
462192.70 |
588023.31 |
| RN |
S |
-595343.6 |
192430.40 |
430851.80 |
562406.95 |
381898.14 |
972243.66 |
| PB |
L |
-754692.9 |
35128.72 |
90605.57 |
249429.68 |
263918.00 |
-115610.92 |
| PB |
S |
-823782.7 |
224643.29 |
514071.59 |
884938.53 |
715329.82 |
1515200.52 |
| PI |
L |
-2806458.2 |
4333.27 |
55620.73 |
428356.63 |
2237317.23 |
-80830.37 |
| PI |
S |
-1718168.0 |
67777.42 |
360392.37 |
1245988.96 |
3429117.38 |
3385108.10 |
Num plot se vê melhor
data %>%
filter(yr == "2018") %>%
group_by(nm_uf,vsd_cat, plSize2) %>%
summarise_at(vars(net_vsd), funs(sum)) %>%
spread(vsd_cat, net_vsd) %>%
as.data.frame() %>%
mutate(VSD_GP = rowSums(.[4:7])+ rowSums(.[3])) %>% # Nem todos os estados tem deficit ou todas as categorias de PP (L and S) têm déficit
ggplot(aes(nm_uf,VSD_GP, group=plSize2, fill=plSize2))+
geom_col(position = "dodge")+coord_flip()

Quanta Caatinga falta na categoria <20% por UF separada por PlSize2
data %>%
filter(yr == "2018") %>%
group_by(nm_uf,vsd_cat, plSize2) %>%
summarise_at(vars(net_vsd), funs(sum)) %>%
spread(vsd_cat, net_vsd) %>%
as.data.frame() %>%
ggplot(aes(nm_uf,less_20, group=plSize2, fill=plSize2))+
geom_col(position = "dodge")+coord_flip()

São quase 20 Mi de ha de déficit de Grandes PP. Se o código também fosse aplicado as Pequenas PP, somariam-se mais 10Mi de ha. Mesmo subtraindo o superavit de outras Grande PP, ainda temos um déficit de 2,5Mi de ha. Usando a mesma fórmula, as pequenas PP ficam em superávit de quase 20Mi.