Hasta el momento, hemos visto:

Ahora, uno de los desafíos a los que nos vamos a enfrentar es la integración desde distintos orígenes de datos.

1. Usando Merge

Este proceso combina data frames con diferente información, siempre que tengan un campo común (key), y este no se repita en ninguna otra columna.

Traigamos tres data frames:

library(rio)

#link base
base='https://github.com/PoliticayGobiernoPUCP/estadistica_anapol2/raw/master/DATA/'

#creando links particulares
corruptionLK=paste0(base,'corruption.csv')
gdpLK=paste0(base,'gdp.csv')
demoLK=paste0(base,'demo.csv')

# trayendo data:
corru=import(corruptionLK,stringsAsFactors = F)
gdp=import(gdpLK,stringsAsFactors = F)
democ=import(demoLK,stringsAsFactors = F,encoding="UTF-8")

Estos tres data frames deben tener un campo (columa) en común que sirva de “key”:

names(corru)
## [1] "Rank"      "Country"   "2016Score" "2015Score" "2014Score" "2013Score"
## [7] "2012Score" "Region"
names(gdp)
## [1] "Rank"     "Country"  "pbi"      "estimado"
names(democ)
##  [1] "Rank"                           "Country"                       
##  [3] "Score"                          "Elec­toralprocessandplura­lism"
##  [5] "Functio­ningofgovern­ment"      "Poli­ticalpartici­pation"      
##  [7] "Poli­ticalculture"              "Civilliber­ties"               
##  [9] "Regimetype"                     "Region"

El merge producirá una tabla, integrando las columnas que correspondan a cada key. Vea que la columna rank está presente en las tres pero no es la key; como el ranking se puede calcular si se necesitase, eliminemoslos de cada data frame:

# eliminando
corru$Rank=NULL
gdp$Rank=NULL
democ$Rank=NULL

La columna Score de la tabla democ podriamos cambiar para no olvidar qué representa:

names(democ)[names(democ)=='Score']='ScoreDemo'

Hay una column Region en dos tablas:

table(corru$Region)
## 
##                                                     Americas 
##                                                           11 
##                                                         Asia 
##                                                            1 
##                                                 Asia Pacific 
##                                                            7 
##                                                    Caribbean 
##                                                            8 
##                                              Central America 
##                                                            3 
##                                                 Central Asia 
##                                                            7 
##                                                    East Asia 
##                                                            3 
##                                                       Europe 
##                                                           39 
##                                      Europe and Central Asia 
##                                                            1 
##                                     Europe and Northern Asia 
##                                                            1 
##                                      Europe and Western Asia 
##                                                            3 
##                                     Maritime South East Asia 
##                                                            3 
##                                      Maritime Southeast Asia 
##                                                            4 
##                                                  Middle East 
##                                                           13 
##                                 Middle East and North Africa 
##                                                            1 
##                                                 North Africa 
##                                                            6 
##                                                North America 
##                                                            1 
##                                                South America 
##                                                            9 
##                                                   South Asia 
##                                                            5 
##                                  South Asia and Central Asia 
##                                                            1 
##                                              South East Asia 
##                                                            5 
##                                           Sub Saharan Africa 
##                                                           44 
## To get in-depth information visit:Transparency International 
##                                                            1
table(democ$Region)
## 
##        Africa          Asia        Europe North America       Oceania 
##            50            42            45            14             4 
## South America 
##            12

Quedémonos con la de democracia:

# eliminando
corru$Region=NULL

Con estas bases de datos, vamos a explorar los escenarios de merge que podemos aplicar. Ten en cuenta que el método principal de la función merge es para data frames. Sin embargo, merge es una función genérica que también se puede usar con otros objetos (como vectores o matrices), pero serán transformados a la clase data.frame.

Inner join

Un inner join (en realidad un natural join), es la unión de conjuntos de datos más habitual que se puede realizar. Consiste en fusionar dos data frames en uno que contenga los elementos comunes de ambos. Para fusionar o unir los dos conjuntos de datos de muestra, solo tienes que pasarlos a la función merge, sin la necesidad de cambiar otros argumentos, debido a que, de manera predeterminada, la función combina los conjuntos de datos por los nombres de las columnas comunes.

corrgdp=merge(corru,gdp)
corrgdp=merge(corru,gdp,by.x='Country', by.y='Country')# otra forma equivalente
str(corrgdp)
## 'data.frame':    164 obs. of  8 variables:
##  $ Country  : chr  "Afghanistan" "Albania" "Algeria" "Angola" ...
##  $ 2016Score: chr  "15" "39" "34" "18" ...
##  $ 2015Score: chr  "11" "36" "36" "15" ...
##  $ 2014Score: chr  "12" "33" "36" "19" ...
##  $ 2013Score: chr  "8" "31" "36" "23" ...
##  $ 2012Score: chr  "8" "33" "34" "22" ...
##  $ pbi      : int  2000 12500 15200 6800 20900 9500 50400 50000 17500 49000 ...
##  $ estimado : int  2017 2017 2017 2017 2017 2017 2017 2017 2017 2017 ...

El resultado es un data frame que contiene las observaciones que están presentes en ambos data frames, las que no, no están presentes en la salida resultante.

Outer join

El outer join, o unión completa, combina todas las columnas de ambos conjuntos de datos en uno para todos los elemento. Para crear el full outer join de dos data frames en R tienes que establecer el argumento all como TRUE.

corrgdp2=merge(corru,gdp,all=TRUE)
str(corrgdp2)
## 'data.frame':    241 obs. of  8 variables:
##  $ Country  : chr  "Afghanistan" "Albania" "Algeria" "American Samoa" ...
##  $ 2016Score: chr  "15" "39" "34" NA ...
##  $ 2015Score: chr  "11" "36" "36" NA ...
##  $ 2014Score: chr  "12" "33" "36" NA ...
##  $ 2013Score: chr  "8" "31" "36" NA ...
##  $ 2012Score: chr  "8" "33" "34" NA ...
##  $ pbi      : int  2000 12500 15200 11200 49900 6800 12200 26400 20900 9500 ...
##  $ estimado : int  2017 2017 2017 2016 2015 2017 2008 2017 2017 2017 ...

Ahora tenemos un data frame con todos los casos. Como no todas las filas en el primer data frame coinciden con todas las filas en el segundo, en la salida aparecen valores NA en esos casos.

Left join

El left join en R consiste en unir todas las filas del primer data frame con los valores correspondientes del segundo.Para crear la unión, tienes que establecer all.x = TRUE.

corrgdp3=merge(corru,gdp,all.x = TRUE)
str(corrgdp3)
## 'data.frame':    177 obs. of  8 variables:
##  $ Country  : chr  "Afghanistan" "Albania" "Algeria" "Angola" ...
##  $ 2016Score: chr  "15" "39" "34" "18" ...
##  $ 2015Score: chr  "11" "36" "36" "15" ...
##  $ 2014Score: chr  "12" "33" "36" "19" ...
##  $ 2013Score: chr  "8" "31" "36" "23" ...
##  $ 2012Score: chr  "8" "33" "34" "22" ...
##  $ pbi      : int  2000 12500 15200 6800 20900 9500 50400 50000 17500 NA ...
##  $ estimado : int  2017 2017 2017 2017 2017 2017 2017 2017 2017 NA ...

Ahora tenemos un data frame con todos los casos de la primera base de datos (177 casos). Si esta contiene observaciones que no están en la segunda base de datos, tendra NA como valores en las variables que correspondan.

Right join

El right join en R es lo opuesto al left outer join. En este caso, la combinación consiste en unir todas las filas del segundo data frame con las correspondientes en el primero.En consecuencia, necesitarás establecer el argumento all.y como TRUE para unir los data frames de esta manera.

corrgdp4=merge(corru,gdp,all.y = TRUE)
str(corrgdp4)
## 'data.frame':    228 obs. of  8 variables:
##  $ Country  : chr  "Afghanistan" "Albania" "Algeria" "American Samoa" ...
##  $ 2016Score: chr  "15" "39" "34" NA ...
##  $ 2015Score: chr  "11" "36" "36" NA ...
##  $ 2014Score: chr  "12" "33" "36" NA ...
##  $ 2013Score: chr  "8" "31" "36" NA ...
##  $ 2012Score: chr  "8" "33" "34" NA ...
##  $ pbi      : int  2000 12500 15200 11200 49900 6800 12200 26400 20900 9500 ...
##  $ estimado : int  2017 2017 2017 2016 2015 2017 2008 2017 2017 2017 ...

Ahora tenemos un data frame con todos los casos de la segunda base de datos (228 casos). Si esta contiene observaciones que no están en la segunda base de datos, tendra NA como valores en las variables que correspondan.

Cross join

El cross join o unión cruzada, realiza el producto cartesiano de los conjuntos de datos. Puedes crear un cross join en R estableciendo como NULL el argumento by de la función merge.

corrgdp5=merge(corru,gdp,by=NULL)
str(corrgdp5)
## 'data.frame':    40356 obs. of  9 variables:
##  $ Country.x: chr  "Denmark" "New Zealand" "Finland" "Sweden" ...
##  $ 2016Score: chr  "90" "90" "89" "88" ...
##  $ 2015Score: chr  "91" "88" "90" "89" ...
##  $ 2014Score: chr  "92" "91" "89" "87" ...
##  $ 2013Score: chr  "91" "91" "89" "89" ...
##  $ 2012Score: chr  "90" "90" "90" "88" ...
##  $ Country.y: chr  "Liechtenstein" "Liechtenstein" "Liechtenstein" "Liechtenstein" ...
##  $ pbi      : int  139100 139100 139100 139100 139100 139100 139100 139100 139100 139100 ...
##  $ estimado : int  2009 2009 2009 2009 2009 2009 2009 2009 2009 2009 ...

Unir más de dos data frames en R

Puede unir los tres data frames fusionando primero dos y uniendo la salida con el tercer conjunto de datos. Ten en cuenta que puedes especificar los argumentos que prefieras para cada combinación y que puedes concatenar tantos merge como necesites.

corrgdpdemoc=merge(democ, merge(corru, gdp))

2. Usando Dplyr

Estas operaciones también las podemos hacer con Dplyr, la cual hemos utilizado anteriormente.

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
data_resultado1=left_join(corru,gdp,by="Country") #left_join Prioriza las filas de la primera base de datos
head(data_resultado1)
##       Country 2016Score 2015Score 2014Score 2013Score 2012Score   pbi estimado
## 1     Denmark        90        91        92        91        90 50100     2017
## 2 New Zealand        90        88        91        91        90 39000     2017
## 3     Finland        89        90        89        89        90 44500     2017
## 4      Sweden        88        89        87        89        88 51200     2017
## 5 Switzerland        86        86        86        85        86 62100     2017
## 6      Norway        85        87        86        86        85 72100     2017
data_resultado2=right_join(corru,gdp,by="Country") #right_join Prioriza las filas de la segunda base de datos.
head(data_resultado2)
##         Country 2016Score 2015Score 2014Score 2013Score 2012Score    pbi
## 1 Liechtenstein      <NA>      <NA>      <NA>      <NA>      <NA> 139100
## 2         Qatar        61        71        69        68        68 124100
## 3        Monaco      <NA>      <NA>      <NA>      <NA>      <NA> 115700
## 4         Macau      <NA>      <NA>      <NA>      <NA>      <NA> 110000
## 5    Luxembourg        81        81        82        80        80 105100
## 6       Bermuda      <NA>      <NA>      <NA>      <NA>      <NA>  99400
##   estimado
## 1     2009
## 2     2017
## 3     2015
## 4     2017
## 5     2017
## 6     2016
data_resultado3=inner_join(corru,gdp,by="Country") #inner_join Prioriza las filas que COINCIDEN en ambas fillas base de
head(data_resultado3)
##       Country 2016Score 2015Score 2014Score 2013Score 2012Score   pbi estimado
## 1     Denmark        90        91        92        91        90 50100     2017
## 2 New Zealand        90        88        91        91        90 39000     2017
## 3     Finland        89        90        89        89        90 44500     2017
## 4      Sweden        88        89        87        89        88 51200     2017
## 5 Switzerland        86        86        86        85        86 62100     2017
## 6      Norway        85        87        86        86        85 72100     2017
data_resultado4=full_join(corru,gdp,by="Country") #full_join PPrioriza las filas que están en ambas fillas base de datos
head(data_resultado4)
##       Country 2016Score 2015Score 2014Score 2013Score 2012Score   pbi estimado
## 1     Denmark        90        91        92        91        90 50100     2017
## 2 New Zealand        90        88        91        91        90 39000     2017
## 3     Finland        89        90        89        89        90 44500     2017
## 4      Sweden        88        89        87        89        88 51200     2017
## 5 Switzerland        86        86        86        85        86 62100     2017
## 6      Norway        85        87        86        86        85 72100     2017
data_resultado5=full_join(corru,gdp,by="Country") %>%
  select(-estimado) %>% rename(PIB = pbi) # igual que el anterior, pero utilizo las herramientas de dplyr para a la vez omitir una variable ("estimado") y renombrar la variable PBI
head(data_resultado5)
##       Country 2016Score 2015Score 2014Score 2013Score 2012Score   PIB
## 1     Denmark        90        91        92        91        90 50100
## 2 New Zealand        90        88        91        91        90 39000
## 3     Finland        89        90        89        89        90 44500
## 4      Sweden        88        89        87        89        88 51200
## 5 Switzerland        86        86        86        85        86 62100
## 6      Norway        85        87        86        86        85 72100

3. Appending

Appending es unir diversas tablas en una sola,pero todas tienen los mismos nombres de columna.

df1=read.csv('https://github.com/PoliticayGobiernoPUCP/estadistica_anapol2/raw/master/DATA/interview_1_2_p1.csv')
df2=read.csv('https://github.com/PoliticayGobiernoPUCP/estadistica_anapol2/raw/master/DATA/interview_1_2_p2.csv')
df3=read.csv('https://github.com/PoliticayGobiernoPUCP/estadistica_anapol2/raw/master/DATA/interview_1_2_p3.csv')
df4=read.csv('https://github.com/PoliticayGobiernoPUCP/estadistica_anapol2/raw/master/DATA/interview_1_2_p4.csv')
names(df1) ; names(df2) ; names(df3); names(df4)
## [1] "interview" "q1"        "q2"
## [1] "interview" "q1"        "q2"
## [1] "interview" "q1"        "q2"
## [1] "interview" "q1"        "q2"

Para tener un unico data frame, necesitamos anexarlas con rbind:

df1234=rbind(df1,df2,df3,df4)

4. Aggregating

Cuando agregas, sintetizas los valores de tu unidad de analisis en otro que contiene a un conjuntos de estas. Traigamos los datos del Censo Actual, que indica la disponibilidad de agua a nivel de distrito en el Perú:

Lk="https://github.com/PoliticayGobiernoPUCP/estadistica_anapol2/raw/master/DATA/AGUA.xlsx"
agua=import(Lk)

Veamos ls tipos de datos:

str(agua)
## 'data.frame':    1874 obs. of  6 variables:
##  $ Código      : num  10101 10102 10103 10104 10105 ...
##  $ Departamento: chr  "Amazonas" "Amazonas" "Amazonas" "Amazonas" ...
##  $ Provincia   : chr  "Chachapoyas" "Chachapoyas" "Chachapoyas" "Chachapoyas" ...
##  $ Distrito    : chr  "Chachapoyas" "Asunción" "Balsas" "Cheto" ...
##  $ todaSemana  : num  6307 84 194 186 155 ...
##  $ NoTodaSemana: num  398 15 39 0 8 27 8 80 35 80 ...

Se ve que cada fila es un distrito:

head(agua)
##   Código Departamento   Provincia    Distrito todaSemana NoTodaSemana
## 1  10101     Amazonas Chachapoyas Chachapoyas       6307          398
## 2  10102     Amazonas Chachapoyas    Asunción         84           15
## 3  10103     Amazonas Chachapoyas      Balsas        194           39
## 4  10104     Amazonas Chachapoyas       Cheto        186            0
## 5  10105     Amazonas Chachapoyas   Chiliquin        155            8
## 6  10106     Amazonas Chachapoyas Chuquibamba        368           27

La data muestra la cantidad de viviendas por distrito que tienen agua toda la semana o no. Como una provincia tiene varias provincias podriamos crear un data frame a nivel de departamento.

aggregate(cbind(todaSemana, NoTodaSemana) # dependientes
          ~ Departamento, # nivel
          data = agua,    # data
          sum)            # operacion
##     Departamento todaSemana NoTodaSemana
## 1       Amazonas      60437        18934
## 2         Áncash     218655        27995
## 3       Apurímac      95096        12818
## 4       Arequipa     295356        43526
## 5       Ayacucho     131789        20417
## 6      Cajamarca     249027        47076
## 7         Callao     217279        14778
## 8          Cusco     237459        35128
## 9   Huancavelica      71453        10749
## 10       Huánuco     106549        19824
## 11           Ica     131790        61679
## 12         Junín     225002        37168
## 13   La Libertad     302200        73558
## 14    Lambayeque     230536        21097
## 15          Lima    2011906       180251
## 16        Loreto      87272        16394
## 17 Madre de Dios      27094         2845
## 18      Moquegua      44620         5156
## 19         Pasco      29827        14735
## 20         Piura     248993       112112
## 21          Puno     179108        31263
## 22    San Martín     146903        22696
## 23         Tacna      81354         7107
## 24        Tumbes      31307        19715
## 25       Ucayali      67849         6400

Si lo quisieramos a nivel de provincia:

aggregate(cbind(todaSemana, NoTodaSemana) ~ Provincia,
          data = agua, mean) #saca promedio
##                     Provincia todaSemana NoTodaSemana
## 1                     Abancay  3113.2222    287.00000
## 2                    Acobamba   913.5000    239.25000
## 3                     Acomayo   799.0000     67.42857
## 4                        Aija   278.4000     22.20000
## 5               Alto Amazonas  1830.0000    552.66667
## 6                        Ambo  1071.7500    305.00000
## 7                 Andahuaylas  1653.3500    218.65000
## 8                    Angaraes   809.5000    131.08333
## 9                        Anta  1226.2222    290.00000
## 10                  Antabamba   410.7143     28.71429
## 11           Antonio Raymondi   481.6667    100.16667
## 12                   Arequipa  8192.7931   1065.44828
## 13                     Ascope  2625.8750    743.75000
## 14                   Asunción   954.5000     90.50000
## 15                    Atalaya  1123.0000    212.50000
## 16                    Ayabaca  1436.7000    216.80000
## 17                   Aymaraes   387.4118     44.47059
## 18                   Azángaro   928.1333    125.20000
## 19                      Bagua  1845.5000    590.16667
## 20                   Barranca  6011.0000    996.60000
## 21                 Bellavista   829.0000    583.83333
## 22                    Bolívar   418.8333     54.83333
## 23                  Bolognesi   329.2667     38.86667
## 24                    Bongara   478.9167     44.50000
## 25                  Cajabamba  3595.5000    589.50000
## 26                  Cajamarca  5673.5000    813.83333
## 27                  Cajatambo   286.4000     25.20000
## 28                      Calca  1651.3750    183.62500
## 29                     Callao 31039.8571   2111.14286
## 30                     Camaná  1272.2500    526.00000
## 31                      Canas   724.5000     63.62500
## 32                    Canchis  2787.2500    204.37500
## 33                  Candarave   173.0000     18.66667
## 34                   Cangallo  1365.1667    117.33333
## 35                      Canta   362.0000     82.42857
## 36                     Cañete  2444.0625    595.87500
## 37                   Carabaya   921.3000    235.40000
## 38                   Caravelí   322.3846    271.00000
## 39                    Carhuaz   941.4545     97.36364
## 40  Carlos Fermín Fitzcarrald  1176.3333    335.66667
## 41                      Casma  2216.2500    545.50000
## 42                   Castilla   555.7857     66.57143
## 43             Castrovirreyna   229.0769     19.00000
## 44                   Caylloma   897.4000     90.40000
## 45                   Celendín  1221.3333    191.75000
## 46                Chachapoyas   545.7143     47.14286
## 47                Chanchamayo  4365.5000    418.33333
## 48                     Chepén  5419.6667    482.00000
## 49                   Chiclayo  8349.8000    550.45000
## 50                    Chincha  2505.4545   1941.18182
## 51                 Chincheros   983.1818    142.45455
## 52                      Chota  1177.5263    428.26316
## 53                   Chucuito  2203.7143    429.85714
## 54               Chumbivilcas  1399.3750    456.25000
## 55                    Chupaca  1074.6667    223.11111
## 56                  Churcampa   603.0909     91.63636
## 57                 Concepción   761.0667     94.13333
## 58                 Condesuyos   316.5000     41.62500
## 59               Condorcanqui   893.3333    165.66667
## 60      Contralmirante Villar   191.0000   1301.00000
## 61                  Contumazá   618.3750    192.87500
## 62           Coronel Portillo  7910.2857    499.28571
## 63                    Corongo   214.8571     16.85714
## 64                 Cotabambas  1459.3333    482.66667
## 65                      Cusco 10966.8750   1726.00000
## 66                    Cutervo  1377.8667    329.26667
## 67     Daniel Alcides Carrión   632.5000    183.25000
## 68          Datem del Marañón   206.6667     30.00000
## 69                Dos de Mayo   660.4444     96.22222
## 70                  El Collao  1470.6000    192.40000
## 71                  El Dorado  1179.6000    275.80000
## 72                    Espinar  1301.6250    214.87500
## 73                  Ferreñafe  2760.8333    273.16667
## 74      General Sánchez Cerro   188.5455     36.27273
## 75                 Gran Chimú   612.5000    372.50000
## 76                       Grau   355.5714     31.57143
## 77                Huacaybamba   687.2500    142.25000
## 78                  Hualgayoc  4748.0000   1315.66667
## 79                   Huallaga   988.6667     23.16667
## 80                  Huamalíes   829.4545    133.18182
## 81                   Huamanga  3458.5625    538.93750
## 82              Huanca Sancos   529.5000    103.25000
## 83                Huancabamba  2191.6250    305.50000
## 84                   Huancané  1256.6250    271.75000
## 85               Huancavelica  1294.4211    139.47368
## 86                   Huancayo  3809.9286    770.96429
## 87                     Huanta  1560.9167    227.08333
## 88                    Huánuco  3514.6923    645.30769
## 89                     Huaral  2724.5000    424.91667
## 90                     Huaraz  2931.8333    338.91667
## 91                      Huari   733.4375    166.50000
## 92                    Huarmey  1190.4000    213.60000
## 93                 Huarochirí   339.9062     53.78125
## 94                     Huaura  3785.4167    498.25000
## 95                    Huaylas  1089.0000     80.00000
## 96                   Huaytará   205.0000     36.93750
## 97                        Ica  4655.2143   1862.28571
## 98                        Ilo  6322.3333   1020.00000
## 99                      Islay  2020.6667    276.50000
## 100                      Jaén  2911.6667    380.91667
## 101                     Jauja   526.0588     84.64706
## 102             Jorge Basadre   721.0000    174.00000
## 103                    Julcán   859.0000    502.50000
## 104                     Junín  1405.2500     91.75000
## 105             La Convención  1952.0000    159.14286
## 106                    La Mar  1375.4545    246.36364
## 107                  La Unión   273.7273     15.00000
## 108                     Lamas  1255.8182    183.54545
## 109                Lambayeque  3914.5833    704.08333
## 110                     Lampa   571.2000     66.50000
## 111                Lauricocha   363.1429     82.57143
## 112             Leoncio Prado  1720.3000    303.10000
## 113                      Lima 42826.6279   3522.09302
## 114                    Loreto   599.0000    128.40000
## 115                   Lucanas   585.2381     60.80952
## 116                      Luya   422.7826     72.04348
## 117                      Manu   469.0000    305.25000
## 118                   Marañón   767.0000    133.00000
## 119          Mariscal Cáceres  2213.8000    208.00000
## 120        Mariscal Luzuriaga   358.1250     71.62500
## 121            Mariscal Nieto  3929.8333    282.83333
## 122   Mariscal Ramón Castilla   377.2500    253.50000
## 123                    Maynas  5931.1818    776.27273
## 124                    Melgar  1368.8889    155.11111
## 125                      Moho  1636.5000    236.00000
## 126                  Morropón  2818.4000    621.40000
## 127                 Moyobamba  4181.3333    373.50000
## 128                     Nasca  2253.0000    350.20000
## 129                     Ocros   144.0000     25.80000
## 130                    Otuzco  1471.7000    212.30000
## 131                  Oxapampa  1401.3750    166.62500
## 132                      Oyón   651.3333     48.50000
## 133                 Pacasmayo  3660.0000   1306.40000
## 134                  Pachitea  1464.0000    254.00000
## 135                Padre Abad  1591.8000    411.00000
## 136                     Paita  2657.5714    962.42857
## 137                  Pallasca   430.8182     60.63636
## 138                     Palpa   420.6000    305.60000
## 139              Parinacochas   638.1250    187.75000
## 140                    Paruro   674.3333    112.33333
## 141                     Pasco  1042.7692    918.15385
## 142                     Pataz   876.4615    228.46154
## 143      Páucar del Sara Sara   266.3000     19.10000
## 144               Paucartambo  1254.8333    169.16667
## 145                    Picota   541.5000    276.00000
## 146                     Pisco  3211.1250   1371.87500
## 147                     Piura 12045.7000   3311.40000
## 148                 Pomabamba  1239.2500    249.75000
## 149               Puerto Inca   380.4000     65.20000
## 150                      Puno  2507.8667    510.33333
## 151                     Purús    26.0000      0.00000
## 152                  Putumayo     6.2500     17.00000
## 153              Quispicanchi  1462.0000    204.66667
## 154                    Recuay   339.3000     48.10000
## 155                   Requena   182.2727     69.63636
## 156                     Rioja  2717.3333    373.66667
## 157      Rodríguez de Mendoza   482.5833     74.75000
## 158     San Antonio de Putina   800.0000    175.80000
## 159               San Ignacio  3391.2857    637.28571
## 160                San Marcos  1388.2857    251.85714
## 161                San Martín  2876.4286    289.42857
## 162                San Miguel   769.6923     71.00000
## 163                 San Pablo  1114.2500    181.75000
## 164                 San Román  8282.0000   1055.20000
## 165           Sánchez Carrión  2221.2500   1115.50000
## 166                    Sandia   618.9000    175.10000
## 167                     Santa  9489.0000    989.11111
## 168                Santa Cruz   619.5455    149.09091
## 169         Santiago de Chuco   869.7500    388.12500
## 170                    Satipo  2358.1111    320.44444
## 171                   Sechura   690.0000   1953.66667
## 172                    Sihuas   534.8000     80.60000
## 173                     Sucre   225.8182     32.45455
## 174                   Sullana  4641.2500   3213.25000
## 175                     Tacna  6981.2727    568.36364
## 176                 Tahuamanu   518.6667    130.00000
## 177                    Talara  1429.8333   4001.16667
## 178                 Tambopata  5915.5000    308.50000
## 179                    Tarata   169.8750     27.62500
## 180                     Tarma  2001.3333    270.55556
## 181                  Tayacaja   806.9048    131.71429
## 182                   Tocache  1997.4000    440.00000
## 183                  Trujillo 15984.6364   2923.81818
## 184                    Tumbes  4099.0000   1850.83333
## 185                   Ucayali   545.8333    311.50000
## 186                  Urubamba  1673.1429    363.71429
## 187                 Utcubamba  1994.5714   1545.42857
## 188            Víctor Fajardo   459.8333     75.08333
## 189             Vilcas Huamán   527.7500    126.75000
## 190                      Virú  3855.0000   2172.33333
## 191                 Yarowilca   391.1250     59.87500
## 192                     Yauli   830.1000    108.70000
## 193                    Yauyos   131.2424     14.87879
## 194                    Yungay  1421.1250    107.00000
## 195                   Yunguyo  1335.1429    331.42857
## 196                 Zarumilla  1535.0000   1176.75000

5. Ejercicios