Assentamento/Org_Dados_Completos.Rmd

318 lines
9.1 KiB
Plaintext

---
title: "Org_coleta_kobo"
author: "Adenor Vicente Wendling"
date: "03/05/2021"
output:
html_document:
toc: true
toc_float: true
theme: united
highlight: zenburn
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r echo=FALSE, message=FALSE}
require(dplyr)
require(tidyr)
```
# 1. Introdução
Este script tem como objetivo organizar os dados coletados (pontos de GPS) pelo Kobotool para serem usados no Qgis, na elaboração de mapas temáticos. Os dados originais provém do aplicativo kobotols <https://www.kobotoolbox.org/>, coletados para um trabalho de elaboração demapas temáticos da area dos assentamentos de Palmas, PR. Em cada propriedade visitada, foram coletados entre 1 a 5 pontos na área agrícola. Os dados dos pontos estão em uma linha, e sua utilização exige que estejam organizados de forma a que cada ponto (Lat, Long, Alt e número do ponto), esteja em uma coluna. Ou seja, de cada linha, deve ter de 1 a 5 novas colunas.
O script foi escrito em duas mãos. Inicialmente o Adenor fez o script, com suas possibilidades, e posteriormente o José escreveu a parte do pivot_longer. Ao final, um mapa com os pontos, para demonstra o resultado.
# 2. Organizar os dados coletados
## 2.1. Importar os dados
```{r}
#Pontos <- read.csv("training/wrangling/Coleta_Assentamento_SL_1.csv", sep=";") #para rodar com "run"
Pontos <- read.csv("data/Coleta_Assentamento_SL_1.csv", sep=",")
#colnames(Pontos)
```
## 2.2 Renomear e selecionar colunas de interesse
Inicialmente será trabalhado com os dados: Nome (esposo e esposa), Area do imóvel, e os pontos de moradia e da coleta dos dados.
Cada ponto de coleta de solos está em 5 colunas de interesse distintas: Ponto"x", Ponto"x"Lat, Ponto"x"Long, Ponto"x"Alt e ponto"x"GPS.
```{r echo=FALSE}
P_Renomear <- Pontos%>%
rename(esposo= "Esposo",
esposa = "Esposa",
area = "Qual.a.Área.total.da.propriedade.",
Apropal= "É.socio.da.APROPAL.",
IPFR= "Conhece.o.IFPR",
M_La= "X_Local.da.moradia.principal_latitude",
M_Lo ="X_Local.da.moradia.principal_longitude",
M_Al= "X_Local.da.moradia.principal_altitude",
P1_Lat = "X_Ponto.Coleta.area.1_latitude",
P1_Long = "X_Ponto.Coleta.area.1_longitude",
P1_Alt = "X_Ponto.Coleta.area.1_altitude",
P1_num= "Número.do.ponto.1.no.GPS",
P1_uso_Atual= "Uso.atual.da.area.1",
P1_uso_antes="Uso.anterior.1",
P1_Calagem ="Calagem...Quando.foi.a.última.calagem",
P2_Lat = "X_Ponto.Coleta.area.2_latitude",
P2_Long = "X_Ponto.Coleta.area.2_longitude",
P2_Alt = "X_Ponto.Coleta.area.2_altitude",
P2_num= "Número.do.ponto.2.no.GPS",
P2_uso_Atual= "Uso.atual.da.area.2",
P2_uso_antes= "Uso.anterior.area.2",
P2_Calagem ="Calagem.area.2..Quando.foi.a.última.calagem",
P3_Lat = "X_Ponto.Coleta.area.3_latitude",
P3_Long = "X_Ponto.Coleta.area.3_longitude",
P3_Alt = "X_Ponto.Coleta.area.3_altitude",
P3_num= "Número.do.ponto.3.no.GPS",
P3_uso_Atual= "Uso.atual.da.area.3",
P3_uso_antes="Uso.anterior.area.3",
P3_Calagem ="Calagem.area.3..Quando.foi.a.última.calagem",
P4_Unico = "Ponto.Coleta.area.4",
P4_Lat = "X_Ponto.Coleta.area.4_latitude",
P4_Long = "X_Ponto.Coleta.area.4_longitude",
P4_Alt = "X_Ponto.Coleta.area.4_altitude",
P4_num= "Número.do.ponto.4.no.GPS",
P4_uso_Atual= "Uo.atual.da.area.4",
P4_uso_antes="Uso.anterior.area.4",
P4_Calagem ="Calagem.area.4..Quando.foi.a.última.calagem",
P5_Lat = "X_Ponto.Coleta.area.5_latitude",
P5_Long = "X_Ponto.Coleta.area.5_longitude",
P5_Alt = "X_Ponto.Coleta.area.5_altitude",
P5_num= "Número.do.ponto.5.no.GPS",
P5_uso_Atual= "Uso.atual.da.area.5",
P5_uso_antes="Uso.anterior.area.5",
P5_Calagem="Calagem.area.5..Quando.foi.a.última.calagem",)%>%
select( esposo,
esposa,
area,
Apropal,
IPFR,
M_La,
M_Lo,
M_Al ,
P1_Lat,
P1_Long,
P1_Alt,
P1_num,
P1_uso_Atual,
P1_uso_antes,
P1_Calagem ,
P2_Lat,
P2_Long,
P2_Alt,
P2_num,
P2_uso_Atual,
P2_uso_antes,
P2_Calagem,
P3_Lat,
P3_Long,
P3_Alt,
P3_num,
P3_uso_Atual,
P3_uso_antes,
P3_Calagem,
P4_Lat,
P4_Long,
P4_Alt,
P4_num,
P4_uso_Atual,
P4_uso_antes,
P4_Calagem,
P5_Lat,
P5_Long,
P5_Alt,
P5_num,
P5_uso_Atual,
P5_uso_antes,
P5_Calagem,)%>%
unite(Ponto_Nome, c("esposo", "esposa"))
#colnames(P_Renomear)
#View(P_Renomear)
```
## Organizar tabela
Como já foi relatado na introduão, os dados dos pontos de 1 a 5 estão na mesma linha e em colunas distintas, por estabelecimento, e é necessário que estejam em linhas separadas, porém na mesma coluna.
Para isso será utilizado o comando **pivot_longer()** para **Alongar** a tabela.
Inicialmente a tabela original será dividida em , sendo uma com as colunas com final "Lat", outra com final "Long, outra última com final "Alt"e a última com fianl "num". Feito isso, todas serão alongadas, criando 5 tabelas, cada uma contendo uma das informações relevantes em uma única coluna. Finalmente, as cinco tabelas serão reunidas novamente.
### 2.4.1. divisão da tabela e 5 novas
```{r Repartir_Tables}
Numero <- P_Renomear%>%
select("Ponto_Nome",
"area",
"Apropal",
"IPFR",
"M_La",
"M_Lo",
"M_Al",
ends_with("num"),
ends_with("Atual"),
ends_with("antes"),
ends_with("calagem")
)
View(Numero)
Longitudes <- P_Renomear%>%
select("Ponto_Nome", ends_with("Long"))
#View(Longitudes)
Altitudes<-P_Renomear%>%
select("Ponto_Nome", ends_with("Alt"))
Latitudes<-P_Renomear%>%
select("Ponto_Nome", ends_with("Lat"))
Antes<-P_Renomear%>%
select("Ponto_Nome", ends_with("antes"))
Atual<-P_Renomear%>%
select("Ponto_Nome", ends_with("Atual"))
Calagem<-P_Renomear%>%
select("Ponto_Nome", ends_with("Calagem"))
```
Temos agora 8 tabelas contendo 11 linhas e várais colunas cada. As tabelas são: Unico, Latitudes, Longitudes, Altitudes e Numero.
## Pivot_longer
### Pivot longer com as especificações
Foram utilizadas as mesmas tabelas criadas no chunk "Repartir_Tables", mas com especificações na saída de cada pivot_longer, evitando criação de colunas com nomes iguais.
```{r}
Lat_Longer <- Latitudes%>%
pivot_longer(
cols = ends_with("Lat"),
names_to = "Set",
values_to = "Latit"
)%>%
filter(Latit!= "")
#View(Lat_Longer)
```
Nesta primeira tabela foram mantidos os dados de nome, moradia, ifpr, apropal, área. Nas pŕoximas tabelas esses serão eliminados com o comando select, pois, as colunas redundantes podem ser retiradas das próximas tabelas, já que parece que ao deixar padronizadas as linhas em 21 a ordem da coluna indicadora não se modifica e todas as tabelas ficam na mesma ordem
```{r}
Long_Longer <- Longitudes%>%
pivot_longer(
cols = ends_with("Long"),
names_to = "Long",
values_to = "Longit"
)%>%
filter(Longit!= "")%>%
select(Longit)
#View(Long_Longer)
```
```{r }
Alt_longer <- Altitudes%>%
pivot_longer(
cols = ends_with("Alt"),
names_to = "Alt",
values_to = "Altit"
)%>%
filter(Altit!= "")%>%
select( Altit)
```
```{r }
Antes_longer <- Antes%>%
pivot_longer(
cols = ends_with("antes"),
names_to = "ANT",
values_to = "antes"
)%>%
filter(antes!= "")%>%
select(antes)
#View(Antes_longer)
```
```{r }
Atual_longer <- Atual%>%
pivot_longer(
cols = ends_with("Atual"),
names_to = "ATU",
values_to = "atual"
)%>%
filter(atual!= "")%>%
select(atual)
#View(Atual_longer)
```
```{r }
Calagem_longer <- Calagem%>%
pivot_longer(
cols = ends_with("Calagem"),
names_to = "CAL",
values_to = "calagem"
)%>%
filter(calagem!= "")%>%
select(calagem)
#View(Calagem_longer)
```
```{r }
num_longer <- Numero%>%
pivot_longer(
cols = ends_with("num"),
names_to = "P_num",
values_to = "Num"
)%>%
filter(Num!= "")%>%
select(Ponto_Nome,area,Apropal,IPFR,M_La,M_Lo,M_Al,Num)
#head(num_longer)
```
Apresentamos apenas as tabela Lat_Longer.2, já que as outras na sequência apresentam a mesma lógica, contendo apenas uma coluna.
## 2.6.2. União das tabelas alongadas
```{r}
Pontos_Colun<-cbind(num_longer,
Lat_Longer,
Long_Longer,
Alt_longer,
Antes_longer,
Atual_longer,
Calagem_longer)
#head(Pontos_Colun)
#View(Pontos_Colun)
```
# 3. Salvar no Arquivo
O arquivo que queremos é um .csv. Por isso, usamos o write.csv.
```{r}
write.csv(Pontos_Colun, file = "data/P_kobo_completa.csv")
```