Checagem de dados do Banco
Entrada de Dados no Banco
Os dados foram entrados no banco a partir do seguinte arquivo gerenciado pelo Marcel:
A partir do seguinte script do R, foram produzidos os arquivos abaixo:
- Planilha com eliminação dos dados com erros: peicalejul2012.csv.zip
Dados de entrada no Banco
Foram produzidos vários arquivos de entrada, devido a problemas em importações anteriores e pela demora em processar arquivos grandes. Os passos de importação foram:
- entrada dos dados estáticos (placa, x, y) de ambos os censos: peicplantas.csv.zip
- dados de monitoramento (dap, altura,etc) do censo 2004 e 2005: peic04.csv.zip
- dados de monitoramento do censo 2009 em partes:
Problemas nos dados de entrada
Os arquivos abaixo contém dados com problemas diagnosticados em Julho de 2012 com a entrada de dados no banco, produzidos pelo mesmo script.
- árvores em duas parcelas distintas: arv2par.csv
- Problemas checados nas planilhas de campo. — Gabriel 2012/08/27 16:22
- fustes de mesma árvore com posições diferentes, provavelmente um deles foi arrumado e os outros não. PRECISA VERIFICAR QUAL DOS DADOS DE MAPEAMENTO É O CORRETO, não houve mapeamento diferenciado para fuste!:peicdupl.csv
- fustes maiores que 1 e que não tem dap em 2004 (separei esses dados pois dava erro quando juntava os daps no mesmo campo separado por “;”):f2ndap04.csv
- Esta lista é composta basicamente de indivíduos com status_05=“R” (recrutado) ou “AS” (plaqueado mas sem dados anteriores), portanto que não têm dap em 2004 mesmo. Selecionado apenas status_05=A. — Gabriel 2012/08/29 14:36
- fuste maiores que 1 e que não tem dap em 2009: f2ndap09.csv
- Esta lista é composta basicamente de indivíduos com status_09=“NE” (não encontrado), “E” (excluído) ou “D”(morto), portanto que não têm dap em 2009 mesmo. Selecionado apenas status_09=“A”. — Gabriel 2012/08/29 14:36
- árvores que tem fustes número 3 e não tem o fuste 2:peic09erf2.csv
- sem dados de dap, mas status ALIVE: peic09semdapalive.csv
Checagem
- Censo 1 exportado atenção: o arquivo anterior tinha numeros duplicados, problema corrigido.
- Ha um problema para abrir as planilhas de entrada no Excel. Abri no LibreOffice, salvei como .xls e salvei novamente em .csv no Excel, agora está abrindo. As duas planilhas originais estão no início desta página.
- Planilha do Marcel: peic_pla.orig_2012-07-19paraexcel.csv
- Planilha do Ale sem erros: peicalejul2012paraexcel.csv
Pseudocódigo
- A planilha de saída retorna apenas indivíduos com status A, portanto selecionar apenas estes na planilha de entrada
- Selecionar na planilha de entrada as mesmas colunas existentes na planilha de saída (são menos colunas).
- Juntar os fustes em uma linha na planilha de entrada.
- Comparar os dois data frames com a função match() no R.
Código de checagem
- A seleção dos indivíduos no banco de saída é feita com base na presença de dbh e não com relação ao status. Diferenças entre as planilhas de entrada e de saída ocorreram por isso.
########### Censo de 2004 ###########
## Planilha de entrada
entrada<-read.table("peicalejul2012.csv", header=T, sep="\t")
## juntar os fustes
fust2<-unique(entrada$arv[entrada$fuste>1])
length(fust2) ## 2332
table(entrada$fuste==2)
table(fust2 %in% entrada$arv[entrada$fuste==2])
peic04f1<-entrada[entrada$fuste==1,]
dim(peic04f1)
str(peic04f1)
peic04f1$nfust<-1
f2ndapvf<-(is.na(entrada$dbh_04) & entrada$fuste>1 )
f2ndap<-entrada[f2ndapvf,]
str(f2ndap)
entrada<-entrada[!f2ndapvf,]
for (i in fust2)
{ fdap= entrada[entrada$arv==i, "dbh_04"]
nfust=length(fdap)
peic04f1[peic04f1$arv==i,"dbh_04"]<-paste(fdap, collapse=";")
peic04f1[peic04f1$arv==i,"nfust"]<-nfust}
peic04f1[peic04f1$nfust>1,"dbh_04"]
str(peic04f1)
names(peic04f1)
sum(peic04f1$fuste>1)
### Juntando genero+epiteto
peic04f1$sp<-paste(peic04f1$genero, peic04f1$epiteto)
## selecionando os individuos vivos
entrada.viva<-peic04f1[peic04f1$status_05 == "A" | peic04f1$status_05 == "E",]
##seleção das colunas
entrada.a<-entrada.viva[, c("arv", "dx", "dy", "gx", "gy", "Familia",
"genero", "epiteto", "sp", "dbh_04", "dataCol_2004")]
names(entrada.a)[1]<-"tag"
names(entrada.a)[6]<-"fam"
names(entrada.a)[7]<-"gen"
names(entrada.a)[8]<-"epitsp"
### Planilha de saida
censo.1<-read.table("censo1.csv", header=T, sep=";")
names(censo.1)[10]<-"dbh_2004"
names(censo.1)[11]<-"dataCol_2004"
### checando os dois bancos de dados (entrada e saida)
table(duplicated(censo.1$tag))
table(duplicated(entrada.a$tag))
teste.1<-match(censo.1$tag,entrada.a$tag)
censo.1[is.na(teste.1),]
- Problemas checados. As planilhas de entrada e saída batem, e os problemas encontrados se deram pela filtragem dos dados de saída:
> censo.2[is.na(teste.9),"tag"]#mostrar os tags com problemas [1] 862.0 1021.0 1006.0 1179.0 1203.1 1205.1 1663.0 1680.0 1932.0 2120.0 [11] 2496.0 53823.0 5621.1 470.9 1273.0 1563.0 1907.0 2146.0 168.1 2740.0 [21] 5720.0 6537.1 5883.0 5913.0 6949.0 58540.0 7002.0 2713.0 2724.1 6006.0 [31] 6195.1 6336.0 5331.9 6574.1 7002.9 8297.0 59490.0 9071.0 7305.0 8189.1 [41] 20071.0 20474.0 9491.1 9493.1 9479.1 51056.0 8824.0 9008.0 7834.0 64548.9 [51] 64548.0 20342.0 9437.0 22441.0 22235.0 22251.0 23167.1 20779.0 21355.1 21199.1 [61] 21357.1 21229.0 5481.0 69479.1 23222.0 23286.0 51326.0 21525.1 21476.0 21490.0 [71] 62674.1 5537.0 23233.0 23271.0 23152.0 23487.0 23573.0 21533.0 50388.0 21633.0 [81] 50476.0 113885.0 5500.1 24338.0 23935.0 23472.1 70042.1 23920.0 114002.0 24605.0 [91] 24506.1 24516.1 113131.0 112087.0 112050.1 112096.0 113560.0 14302.0 112400.0 112449.1 [101] 74103.1 113194.1 3418.1 3155.0 3086.0 3567.0 3235.0 ## checando os problemas da comparação censo.2[censo.2$tag==862.0,] ## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==862.0,] censo.2[censo.2$tag==1021.0,] ## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==1021,] peic09f1[peic09f1$arv==1006,] ## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==1179,] ## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==1203.1,] ## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==1205.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==1663.0,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==1680,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==1932,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==2120,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==2496,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==53823,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==5621.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==470.9,]## excluida pois era indiv diferentes com o mesmo tag (espera confirmação de campo). Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==1273,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==1563,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==1907,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==2146,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==168.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==2740,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==5720,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==6537.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==5883,]## status consta como D mas possui dbh. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==5913,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==6949,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==58540,]## status consta como D mas possui dbh. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==7002,]## status consta como D mas possui dbh. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==2713,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==2724.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==6006.0,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==6195.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==6336.0,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==5331.9,]## excluida pois era indiv diferentes com o mesmo tag (espera confirmação de campo). Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==6574.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==7002.9,]## excluida pois era indiv diferentes com o mesmo tag (espera confirmação de campo). Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==8297,]## consta como D mas tem DBH peic09f1[peic09f1$arv==59490,]## consta como D mas tem DBH peic09f1[peic09f1$arv==9071,]## fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==7305,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==8189.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==20071,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==20474,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==9491.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==9493.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==9479.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==51056,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==8824,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==9008,]## consta como D mas tem DBH peic09f1[peic09f1$arv==7834,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==64548.9,]## excluida pois era indiv diferentes com o mesmo tag (espera confirmação de campo). Seleção está ocorrendo pelo dbh e não pelo status censo.2[censo.2$tag==64548,] peic09f1[peic09f1$arv==64548,]##epiteto está como NULL na planilha de saída e como Indet na de entrada peic09f1[peic09f1$arv==20342,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==9437,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==22441,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==22235,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==22251,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==23167.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==20779,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==21355.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==21199.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==21357.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==21229,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==5481,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==69479.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==23222,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==23286,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==51326,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==21525.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status censo.2[censo.2$tag==21476,] peic09f1[peic09f1$arv==21476,]## a unica diferença parece ser um zero: data1= 2009-06-24 / dataCol_2009=2009-6-24 censo.2[censo.2$tag==21490,] peic09f1[peic09f1$arv==21490,]##consta como NE mas tem DBH peic09f1[peic09f1$arv==62674.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==5537,]##consta como D mas tem DBH peic09f1[peic09f1$arv==23233,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==23271,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==23152,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==23487,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==23573,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==21533,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==50388,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==21633,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==50476,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==113885,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==5500.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==24338,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==23935,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==23472.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==70042.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==23920,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==114002,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==24605,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==24506.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==24516.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==113131,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==112087,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==112050.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==112096,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==113560,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==14302,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida censo.2[censo.2$tag==112400,] peic09f1[peic09f1$arv==112400,]##tem status E e DBH peic09f1[peic09f1$arv==112449.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==74103.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==113194.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==3418.1,]## excluida pois era o mesmo indiv mapeado duas vezes. Seleção está ocorrendo pelo dbh e não pelo status peic09f1[peic09f1$arv==3155,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida peic09f1[peic09f1$arv==3086,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida censo.2[censo.2$tag==3567,] peic09f1[peic09f1$arv==3567,]##é NE e tem dbh peic09f1[peic09f1$arv==3235,]##fustes multiplos ficam com o NA,XX no banco de entrada, por isso dá diferente com o banco de saida