con = dbConnect(SQLite(), dbname="~/Invest/Transmission 2/siacon.db")
dbListTables(con)
## [1] "agro_cierre_estatal" "agro_cierre_municipal"
## [3] "cat_ciclo" "cat_clasificacion"
## [5] "cat_cultivo" "cat_especie"
## [7] "cat_especiepesquero" "cat_estado"
## [9] "cat_generico" "cat_gruponatural"
## [11] "cat_litoral" "cat_modalidad"
## [13] "cat_municipio" "cat_producto"
## [15] "cat_tipo_produccion" "cat_tipoagricultura"
## [17] "cat_unidadmedida" "cat_variedad"
## [19] "cultivo_generico" "peco_cierre_estatal"
## [21] "peco_cierre_municipal" "pes_catalogo"
## [23] "pes_elemento" "peso_cierre_estatal"
dbGetQuery(con, "SELECT * FROM peco_cierre_municipal AS peco
LEFT JOIN cat_especie ON peco.idespecie = cat_especie.idespecie
LEFT JOIN cat_clasificacion ON peco.idclasificacion = cat_clasificacion.idclasificacion
LEFT JOIN cat_producto ON peco.idproducto = cat_producto.idproducto
WHERE nomespecie IN ('Bovino','Porcino','Ovino','Caprino')") %>%
select(-contains("idclasificacion"), -contains("idespecie"), -contains("idproducto")) -> table.ganado
head(table.ganado)
## anio idestado idddr idcader idmunicipio pesopie pesocanal preciopie
## 1 2014 1 1 1 1 447.911 237.539 26.89
## 2 2014 1 1 1 1 0.000 0.000 0.00
## 3 2014 1 1 1 1 38.520 20.116 27.72
## 4 2014 1 1 1 1 44.378 23.263 29.56
## 5 2014 1 1 1 1 110.324 80.106 28.28
## 6 2014 1 1 1 5 430.961 229.524 26.36
## preciocanal valorpie valorcanal volumenpie volumencanal inventario
## 1 53.23 288272.62 302640.71 10719.842 5685.010 0
## 2 5.77 0.00 522568.35 0.000 90614.099 0
## 3 51.30 3122.16 3017.47 112.632 58.820 0
## 4 56.56 10739.83 10772.14 363.323 190.455 0
## 5 41.08 23739.64 25033.64 839.344 609.450 0
## 6 53.01 203656.00 218104.30 7725.839 4114.680 0
## numerocabezas nomespecie ordenreporte nomclasificacion orden
## 1 0 Bovino 10 Carne 20
## 2 0 Bovino 10 Leche 10
## 3 2924 Caprino 40 Carne 20
## 4 8187 Ovino 30 Carne 20
## 5 7608 Porcino 20 Carne 20
## 6 0 Bovino 10 Carne 20
## idunidadmedida nomproducto
## 1 200201 Carne
## 2 200204 Leche
## 3 200201 Carne
## 4 200201 Carne
## 5 200201 Carne
## 6 200201 Carne
table.ganado %>%
group_by(nomespecie, nomclasificacion, nomproducto) %>%
summarise(count = n())
## # A tibble: 7 x 4
## # Groups: nomespecie, nomclasificacion [7]
## nomespecie nomclasificacion nomproducto count
## <chr> <chr> <chr> <int>
## 1 Bovino Carne Carne 25889
## 2 Bovino Leche Leche 22940
## 3 Caprino Carne Carne 18945
## 4 Caprino Leche Leche 7104
## 5 Ovino Carne Carne 23799
## 6 Ovino Otros productos Lana 7095
## 7 Porcino Carne Carne 25232
dbGetQuery(con, "SELECT * FROM agro_cierre_municipal AS agro
LEFT JOIN cat_variedad ON agro.idvariedad = cat_variedad.idvariedad
LEFT JOIN cat_cultivo AS cat ON agro.idcultivo = cat.idcultivo
WHERE cat.idcultivo IN (SELECT idcultivo FROM cat_variedad
WHERE idgrupo = (SELECT idgrupo FROM cat_gruponatural
WHERE nomgrupo LIKE '%legumbre%'))") %>%
select(-contains("idcultivo"), -contains("idvariedad"), -contains("idunidadmedida..")) %>%
select(-variedad, -cultivo, -idgrupo) -> table.cultivos
head(table.cultivos)
## anio idestado idddr idcader idmunicipio idciclo idmodalidad
## 1 2016 1 1 1 1 2 2
## 2 2016 1 1 1 5 2 1
## 3 2016 1 1 1 5 2 2
## 4 2016 1 1 1 10 2 1
## 5 2016 1 1 1 10 2 2
## 6 2016 1 1 1 11 2 1
## idunidadmedida idtipoagricultura idtipoproduccion sembrada cosechada
## 1 200201 3004 10010102 874 874
## 2 200201 3004 10010102 14 14
## 3 200201 3004 10010102 137 137
## 4 200201 3004 10010102 10 10
## 5 200201 3004 10010102 2457 2457
## 6 200201 3004 10010102 2 2
## siniestrada volumenproduccion valorproduccion rendimiento
## 1 0 344.40 1712739.1 0.394
## 2 0 31.40 157000.0 2.243
## 3 0 61.27 283100.5 0.447
## 4 0 22.00 121000.0 2.200
## 5 0 864.53 4557084.6 0.352
## 6 0 4.80 24000.0 2.400
## preciomediorural nomvariedad nomcultivo
## 1 4973.11 Frijol flor de mayo Frijol
## 2 5000.00 Frijol flor de mayo Frijol
## 3 4620.54 Frijol flor de mayo Frijol
## 4 5500.00 Frijol flor de mayo Frijol
## 5 5271.17 Frijol flor de mayo Frijol
## 6 5000.00 Frijol flor de mayo Frijol
table.cultivos %>%
group_by(nomcultivo) %>%
summarise(count = n())
## # A tibble: 6 x 2
## nomcultivo count
## <chr> <int>
## 1 Arvejón 835
## 2 Frijol 52866
## 3 Garbanzo grano 3471
## 4 Garbanzo porquero 414
## 5 Haba grano 2689
## 6 Lenteja 269
table.cultivos %>%
group_by(anio, idestado, nomcultivo) %>%
summarise(sembrada_mean = mean(sembrada), count_sem = n()) %>%
ggplot() +
geom_boxplot(aes(x=nomcultivo, y=sembrada_mean)) +
coord_flip()

dbDisconnect(con)