2 Data Wrangling (o cómo transformar los datos para que sirvan)

Al terminar este capítulo ustedes van a poder:
- Entender qué es un paquete de R, cómo se instala y cómo se carga
- Comprender a qué se llama Ciencia de Datos
- Entender cómo realizar las transformaciones de los datos
- Realizar algunos gráficos elementales

En el primer capítulo de este libro realizamos algunas de las etapas de un típico proyecto de Ciencia de Datos: leímos los datos y realizamos un breve análisis descriptivo. Sin embargo, en la práctica esto no suele suceder de esta manera e inmediatamente después de leer los datos tenemos que realizar una serie de transformaciones que, como regla general, ocupa la mayor parte del tiempo. Este segundo capítulo tiene el objetivo de cubrir las herramientas que tidyverse nos ofrece para realizar estas transformaciones, conocidas de manera coloquial como Data Wrangling.

Vamos a intentar cumplir este objetivo en dos partes. En primer lugar, vamos a pasar lista de las funciones que los van a acompañar de ahora en adelante para hacer las transformaciones de datos necesarias. En segundo lugar, vamos a usarlas para llegar al mismo data frame de precio de los inmuebles que se usó en el primer capítulode los datos tal como son descargados desde Properati

2.1 Instalando nuestro primer paquete en R: tidyverse

De ahora en adelante vamos a ir usando funciones que no vienen instaladas con la instalación de R base que ya hicieron. Este conjunto de funciones, que hacen a R realmente poderoso a partir de la colaboración de miles de personas, se guardan en paquetes (packages, en inglés) que podemos instalar de una manera muy simple: con la función install.packages()

install.packages('tidyverse')

¡Perfecto! una vez que lo hayan instalado no lo tienen que hacer más en esa computadora. Ya van a poder usar las funciones que tiene, que nos serán muy importantes. Para usarlas, solo tenemos que llamar cada vez que abramos RStudio - en rigor, cada vez que tengamos una nueva sesión de R - a la función library() o require(), ambas hacen lo mismo.

require(tidyverse)

Pero ¿Qué es tidyverse? Es un conjunto de packages. Según RStudio, Tidyverse es “[…] a coherent system of packages for data manipulation, exploration and visualization that share a common design philosophy”.

En la práctica, tidyverse nos va a permitir articular e implementar diversas facetas del proceso de análisis de datos de una manera unificada. Tiene una curva de aprendizaje, por lo cual no se preocupen si en esta primera sección hay algunas cosas que no terminan de entenderse.

Ecosistema de paquetes que componen tidyverse y su vinculación con cada proceso de un proyecto de Ciencia de Datos

Ecosistema de paquetes que componen tidyverse y su vinculación con cada proceso de un proyecto de Ciencia de Datos

2.2 El dataset gapminder

En 2007 Hans Rosling (1948-2017), un médico sueco, dio una de las charlas Ted más famosas2. Su presentación mostraba la evolución de tres variables en el tiempo: PIB per cápita, expectativa de vida al nacer y población. Uno de los principales mensajes de su charla es que, aunque no lo notemos, el mundo ha mejorado considerablemente - y continúa haciéndolo. Vamos a trabajar con estos optimistas datos en este capítulo.

Podemos acceder a los datos con los que trabajó Rosling con el siguiente código:

gapminder_df <- read.table(file = "https://raw.githubusercontent.com/martintinch0/CienciaDeDatosParaCuriosos/master/data/gapminder.csv",
                           sep=';',
                           header = TRUE,
                           stringsAsFactors = FALSE)

Este data frame cuenta con 6 columnas, cuyo nombre podemos obtenerlo de la siguiente manera:

colnames(gapminder_df)
## [1] "country"   "continent" "year"      "lifeExp"   "pop"       "gdpPercap"

E identifican los siguientes datos:

  • country: Nombre de país
  • continent: Nombre del continente
  • year: año de la observación
  • lifeExp: expectativa de vida al nacer (en años)
  • pop: cantidad de habitantes
  • gdpPercap: Producto Interno Bruto (PIB) por habitante

2.3 Transformaciones de los datos

Recordemos que precisamos de las funciones de tidyverse para transformar nuestros datos. Para esto, solo tenemos que aplicar el comando \(`require()`\) o \(`library()`\), los dos cumplen con nuestro objetivo:

require(tidyverse) # Pueden usar library(tidyverse), el resultado debería ser el mismo.

2.3.1 Selección de columnas: select()

El comando select() nos permite elegir columnas de nuestros data frames. Solo debemos pasarle los nombres de las variables que deseamos retener. Conservar solo algunas de las variables de un Data Frame es una operación que se realiza muy frecuentemente, así que practiquemos con dos ejemplos. Es importante remarcar el papel que cumple el pipe (%>%): todo lo que está antes es pasado a lo que le sigue para ser procesado.

gapminder_df %>% select(country) # Seleccionamos solo la variable de país
##                       country
## 1                 Afghanistan
## 2                 Afghanistan
## 3                 Afghanistan
## 4                 Afghanistan
## 5                 Afghanistan
## 6                 Afghanistan
## 7                 Afghanistan
## 8                 Afghanistan
## 9                 Afghanistan
## 10                Afghanistan
## 11                Afghanistan
## 12                Afghanistan
## 13                    Albania
## 14                    Albania
## 15                    Albania
## 16                    Albania
## 17                    Albania
## 18                    Albania
## 19                    Albania
## 20                    Albania
## 21                    Albania
## 22                    Albania
## 23                    Albania
## 24                    Albania
## 25                    Algeria
## 26                    Algeria
## 27                    Algeria
## 28                    Algeria
## 29                    Algeria
## 30                    Algeria
## 31                    Algeria
## 32                    Algeria
## 33                    Algeria
## 34                    Algeria
## 35                    Algeria
## 36                    Algeria
## 37                     Angola
## 38                     Angola
## 39                     Angola
## 40                     Angola
## 41                     Angola
## 42                     Angola
## 43                     Angola
## 44                     Angola
## 45                     Angola
## 46                     Angola
## 47                     Angola
## 48                     Angola
## 49                  Argentina
## 50                  Argentina
## 51                  Argentina
## 52                  Argentina
## 53                  Argentina
## 54                  Argentina
## 55                  Argentina
## 56                  Argentina
## 57                  Argentina
## 58                  Argentina
## 59                  Argentina
## 60                  Argentina
## 61                  Australia
## 62                  Australia
## 63                  Australia
## 64                  Australia
## 65                  Australia
## 66                  Australia
## 67                  Australia
## 68                  Australia
## 69                  Australia
## 70                  Australia
## 71                  Australia
## 72                  Australia
## 73                    Austria
## 74                    Austria
## 75                    Austria
## 76                    Austria
## 77                    Austria
## 78                    Austria
## 79                    Austria
## 80                    Austria
## 81                    Austria
## 82                    Austria
## 83                    Austria
## 84                    Austria
## 85                    Bahrain
## 86                    Bahrain
## 87                    Bahrain
## 88                    Bahrain
## 89                    Bahrain
## 90                    Bahrain
## 91                    Bahrain
## 92                    Bahrain
## 93                    Bahrain
## 94                    Bahrain
## 95                    Bahrain
## 96                    Bahrain
## 97                 Bangladesh
## 98                 Bangladesh
## 99                 Bangladesh
## 100                Bangladesh
## 101                Bangladesh
## 102                Bangladesh
## 103                Bangladesh
## 104                Bangladesh
## 105                Bangladesh
## 106                Bangladesh
## 107                Bangladesh
## 108                Bangladesh
## 109                   Belgium
## 110                   Belgium
## 111                   Belgium
## 112                   Belgium
## 113                   Belgium
## 114                   Belgium
## 115                   Belgium
## 116                   Belgium
## 117                   Belgium
## 118                   Belgium
## 119                   Belgium
## 120                   Belgium
## 121                     Benin
## 122                     Benin
## 123                     Benin
## 124                     Benin
## 125                     Benin
## 126                     Benin
## 127                     Benin
## 128                     Benin
## 129                     Benin
## 130                     Benin
## 131                     Benin
## 132                     Benin
## 133                   Bolivia
## 134                   Bolivia
## 135                   Bolivia
## 136                   Bolivia
## 137                   Bolivia
## 138                   Bolivia
## 139                   Bolivia
## 140                   Bolivia
## 141                   Bolivia
## 142                   Bolivia
## 143                   Bolivia
## 144                   Bolivia
## 145    Bosnia and Herzegovina
## 146    Bosnia and Herzegovina
## 147    Bosnia and Herzegovina
## 148    Bosnia and Herzegovina
## 149    Bosnia and Herzegovina
## 150    Bosnia and Herzegovina
## 151    Bosnia and Herzegovina
## 152    Bosnia and Herzegovina
## 153    Bosnia and Herzegovina
## 154    Bosnia and Herzegovina
## 155    Bosnia and Herzegovina
## 156    Bosnia and Herzegovina
## 157                  Botswana
## 158                  Botswana
## 159                  Botswana
## 160                  Botswana
## 161                  Botswana
## 162                  Botswana
## 163                  Botswana
## 164                  Botswana
## 165                  Botswana
## 166                  Botswana
## 167                  Botswana
## 168                  Botswana
## 169                    Brazil
## 170                    Brazil
## 171                    Brazil
## 172                    Brazil
## 173                    Brazil
## 174                    Brazil
## 175                    Brazil
## 176                    Brazil
## 177                    Brazil
## 178                    Brazil
## 179                    Brazil
## 180                    Brazil
## 181                  Bulgaria
## 182                  Bulgaria
## 183                  Bulgaria
## 184                  Bulgaria
## 185                  Bulgaria
## 186                  Bulgaria
## 187                  Bulgaria
## 188                  Bulgaria
## 189                  Bulgaria
## 190                  Bulgaria
## 191                  Bulgaria
## 192                  Bulgaria
## 193              Burkina Faso
## 194              Burkina Faso
## 195              Burkina Faso
## 196              Burkina Faso
## 197              Burkina Faso
## 198              Burkina Faso
## 199              Burkina Faso
## 200              Burkina Faso
## 201              Burkina Faso
## 202              Burkina Faso
## 203              Burkina Faso
## 204              Burkina Faso
## 205                   Burundi
## 206                   Burundi
## 207                   Burundi
## 208                   Burundi
## 209                   Burundi
## 210                   Burundi
## 211                   Burundi
## 212                   Burundi
## 213                   Burundi
## 214                   Burundi
## 215                   Burundi
## 216                   Burundi
## 217                  Cambodia
## 218                  Cambodia
## 219                  Cambodia
## 220                  Cambodia
## 221                  Cambodia
## 222                  Cambodia
## 223                  Cambodia
## 224                  Cambodia
## 225                  Cambodia
## 226                  Cambodia
## 227                  Cambodia
## 228                  Cambodia
## 229                  Cameroon
## 230                  Cameroon
## 231                  Cameroon
## 232                  Cameroon
## 233                  Cameroon
## 234                  Cameroon
## 235                  Cameroon
## 236                  Cameroon
## 237                  Cameroon
## 238                  Cameroon
## 239                  Cameroon
## 240                  Cameroon
## 241                    Canada
## 242                    Canada
## 243                    Canada
## 244                    Canada
## 245                    Canada
## 246                    Canada
## 247                    Canada
## 248                    Canada
## 249                    Canada
## 250                    Canada
## 251                    Canada
## 252                    Canada
## 253  Central African Republic
## 254  Central African Republic
## 255  Central African Republic
## 256  Central African Republic
## 257  Central African Republic
## 258  Central African Republic
## 259  Central African Republic
## 260  Central African Republic
## 261  Central African Republic
## 262  Central African Republic
## 263  Central African Republic
## 264  Central African Republic
## 265                      Chad
## 266                      Chad
## 267                      Chad
## 268                      Chad
## 269                      Chad
## 270                      Chad
## 271                      Chad
## 272                      Chad
## 273                      Chad
## 274                      Chad
## 275                      Chad
## 276                      Chad
## 277                     Chile
## 278                     Chile
## 279                     Chile
## 280                     Chile
## 281                     Chile
## 282                     Chile
## 283                     Chile
## 284                     Chile
## 285                     Chile
## 286                     Chile
## 287                     Chile
## 288                     Chile
## 289                     China
## 290                     China
## 291                     China
## 292                     China
## 293                     China
## 294                     China
## 295                     China
## 296                     China
## 297                     China
## 298                     China
## 299                     China
## 300                     China
## 301                  Colombia
## 302                  Colombia
## 303                  Colombia
## 304                  Colombia
## 305                  Colombia
## 306                  Colombia
## 307                  Colombia
## 308                  Colombia
## 309                  Colombia
## 310                  Colombia
## 311                  Colombia
## 312                  Colombia
## 313                   Comoros
## 314                   Comoros
## 315                   Comoros
## 316                   Comoros
## 317                   Comoros
## 318                   Comoros
## 319                   Comoros
## 320                   Comoros
## 321                   Comoros
## 322                   Comoros
## 323                   Comoros
## 324                   Comoros
## 325          Congo, Dem. Rep.
## 326          Congo, Dem. Rep.
## 327          Congo, Dem. Rep.
## 328          Congo, Dem. Rep.
## 329          Congo, Dem. Rep.
## 330          Congo, Dem. Rep.
## 331          Congo, Dem. Rep.
## 332          Congo, Dem. Rep.
## 333          Congo, Dem. Rep.
## 334          Congo, Dem. Rep.
## 335          Congo, Dem. Rep.
## 336          Congo, Dem. Rep.
## 337               Congo, Rep.
## 338               Congo, Rep.
## 339               Congo, Rep.
## 340               Congo, Rep.
## 341               Congo, Rep.
## 342               Congo, Rep.
## 343               Congo, Rep.
## 344               Congo, Rep.
## 345               Congo, Rep.
## 346               Congo, Rep.
## 347               Congo, Rep.
## 348               Congo, Rep.
## 349                Costa Rica
## 350                Costa Rica
## 351                Costa Rica
## 352                Costa Rica
## 353                Costa Rica
## 354                Costa Rica
## 355                Costa Rica
## 356                Costa Rica
## 357                Costa Rica
## 358                Costa Rica
## 359                Costa Rica
## 360                Costa Rica
## 361             Cote d'Ivoire
## 362             Cote d'Ivoire
## 363             Cote d'Ivoire
## 364             Cote d'Ivoire
## 365             Cote d'Ivoire
## 366             Cote d'Ivoire
## 367             Cote d'Ivoire
## 368             Cote d'Ivoire
## 369             Cote d'Ivoire
## 370             Cote d'Ivoire
## 371             Cote d'Ivoire
## 372             Cote d'Ivoire
## 373                   Croatia
## 374                   Croatia
## 375                   Croatia
## 376                   Croatia
## 377                   Croatia
## 378                   Croatia
## 379                   Croatia
## 380                   Croatia
## 381                   Croatia
## 382                   Croatia
## 383                   Croatia
## 384                   Croatia
## 385                      Cuba
## 386                      Cuba
## 387                      Cuba
## 388                      Cuba
## 389                      Cuba
## 390                      Cuba
## 391                      Cuba
## 392                      Cuba
## 393                      Cuba
## 394                      Cuba
## 395                      Cuba
## 396                      Cuba
## 397            Czech Republic
## 398            Czech Republic
## 399            Czech Republic
## 400            Czech Republic
## 401            Czech Republic
## 402            Czech Republic
## 403            Czech Republic
## 404            Czech Republic
## 405            Czech Republic
## 406            Czech Republic
## 407            Czech Republic
## 408            Czech Republic
## 409                   Denmark
## 410                   Denmark
## 411                   Denmark
## 412                   Denmark
## 413                   Denmark
## 414                   Denmark
## 415                   Denmark
## 416                   Denmark
## 417                   Denmark
## 418                   Denmark
## 419                   Denmark
## 420                   Denmark
## 421                  Djibouti
## 422                  Djibouti
## 423                  Djibouti
## 424                  Djibouti
## 425                  Djibouti
## 426                  Djibouti
## 427                  Djibouti
## 428                  Djibouti
## 429                  Djibouti
## 430                  Djibouti
## 431                  Djibouti
## 432                  Djibouti
## 433        Dominican Republic
## 434        Dominican Republic
## 435        Dominican Republic
## 436        Dominican Republic
## 437        Dominican Republic
## 438        Dominican Republic
## 439        Dominican Republic
## 440        Dominican Republic
## 441        Dominican Republic
## 442        Dominican Republic
## 443        Dominican Republic
## 444        Dominican Republic
## 445                   Ecuador
## 446                   Ecuador
## 447                   Ecuador
## 448                   Ecuador
## 449                   Ecuador
## 450                   Ecuador
## 451                   Ecuador
## 452                   Ecuador
## 453                   Ecuador
## 454                   Ecuador
## 455                   Ecuador
## 456                   Ecuador
## 457                     Egypt
## 458                     Egypt
## 459                     Egypt
## 460                     Egypt
## 461                     Egypt
## 462                     Egypt
## 463                     Egypt
## 464                     Egypt
## 465                     Egypt
## 466                     Egypt
## 467                     Egypt
## 468                     Egypt
## 469               El Salvador
## 470               El Salvador
## 471               El Salvador
## 472               El Salvador
## 473               El Salvador
## 474               El Salvador
## 475               El Salvador
## 476               El Salvador
## 477               El Salvador
## 478               El Salvador
## 479               El Salvador
## 480               El Salvador
## 481         Equatorial Guinea
## 482         Equatorial Guinea
## 483         Equatorial Guinea
## 484         Equatorial Guinea
## 485         Equatorial Guinea
## 486         Equatorial Guinea
## 487         Equatorial Guinea
## 488         Equatorial Guinea
## 489         Equatorial Guinea
## 490         Equatorial Guinea
## 491         Equatorial Guinea
## 492         Equatorial Guinea
## 493                   Eritrea
## 494                   Eritrea
## 495                   Eritrea
## 496                   Eritrea
## 497                   Eritrea
## 498                   Eritrea
## 499                   Eritrea
## 500                   Eritrea
## 501                   Eritrea
## 502                   Eritrea
## 503                   Eritrea
## 504                   Eritrea
## 505                  Ethiopia
## 506                  Ethiopia
## 507                  Ethiopia
## 508                  Ethiopia
## 509                  Ethiopia
## 510                  Ethiopia
## 511                  Ethiopia
## 512                  Ethiopia
## 513                  Ethiopia
## 514                  Ethiopia
## 515                  Ethiopia
## 516                  Ethiopia
## 517                   Finland
## 518                   Finland
## 519                   Finland
## 520                   Finland
## 521                   Finland
## 522                   Finland
## 523                   Finland
## 524                   Finland
## 525                   Finland
## 526                   Finland
## 527                   Finland
## 528                   Finland
## 529                    France
## 530                    France
## 531                    France
## 532                    France
## 533                    France
## 534                    France
## 535                    France
## 536                    France
## 537                    France
## 538                    France
## 539                    France
## 540                    France
## 541                     Gabon
## 542                     Gabon
## 543                     Gabon
## 544                     Gabon
## 545                     Gabon
## 546                     Gabon
## 547                     Gabon
## 548                     Gabon
## 549                     Gabon
## 550                     Gabon
## 551                     Gabon
## 552                     Gabon
## 553                    Gambia
## 554                    Gambia
## 555                    Gambia
## 556                    Gambia
## 557                    Gambia
## 558                    Gambia
## 559                    Gambia
## 560                    Gambia
## 561                    Gambia
## 562                    Gambia
## 563                    Gambia
## 564                    Gambia
## 565                   Germany
## 566                   Germany
## 567                   Germany
## 568                   Germany
## 569                   Germany
## 570                   Germany
## 571                   Germany
## 572                   Germany
## 573                   Germany
## 574                   Germany
## 575                   Germany
## 576                   Germany
## 577                     Ghana
## 578                     Ghana
## 579                     Ghana
## 580                     Ghana
## 581                     Ghana
## 582                     Ghana
## 583                     Ghana
## 584                     Ghana
## 585                     Ghana
## 586                     Ghana
## 587                     Ghana
## 588                     Ghana
## 589                    Greece
## 590                    Greece
## 591                    Greece
## 592                    Greece
## 593                    Greece
## 594                    Greece
## 595                    Greece
## 596                    Greece
## 597                    Greece
## 598                    Greece
## 599                    Greece
## 600                    Greece
## 601                 Guatemala
## 602                 Guatemala
## 603                 Guatemala
## 604                 Guatemala
## 605                 Guatemala
## 606                 Guatemala
## 607                 Guatemala
## 608                 Guatemala
## 609                 Guatemala
## 610                 Guatemala
## 611                 Guatemala
## 612                 Guatemala
## 613                    Guinea
## 614                    Guinea
## 615                    Guinea
## 616                    Guinea
## 617                    Guinea
## 618                    Guinea
## 619                    Guinea
## 620                    Guinea
## 621                    Guinea
## 622                    Guinea
## 623                    Guinea
## 624                    Guinea
## 625             Guinea-Bissau
## 626             Guinea-Bissau
## 627             Guinea-Bissau
## 628             Guinea-Bissau
## 629             Guinea-Bissau
## 630             Guinea-Bissau
## 631             Guinea-Bissau
## 632             Guinea-Bissau
## 633             Guinea-Bissau
## 634             Guinea-Bissau
## 635             Guinea-Bissau
## 636             Guinea-Bissau
## 637                     Haiti
## 638                     Haiti
## 639                     Haiti
## 640                     Haiti
## 641                     Haiti
## 642                     Haiti
## 643                     Haiti
## 644                     Haiti
## 645                     Haiti
## 646                     Haiti
## 647                     Haiti
## 648                     Haiti
## 649                  Honduras
## 650                  Honduras
## 651                  Honduras
## 652                  Honduras
## 653                  Honduras
## 654                  Honduras
## 655                  Honduras
## 656                  Honduras
## 657                  Honduras
## 658                  Honduras
## 659                  Honduras
## 660                  Honduras
## 661          Hong Kong, China
## 662          Hong Kong, China
## 663          Hong Kong, China
## 664          Hong Kong, China
## 665          Hong Kong, China
## 666          Hong Kong, China
## 667          Hong Kong, China
## 668          Hong Kong, China
## 669          Hong Kong, China
## 670          Hong Kong, China
## 671          Hong Kong, China
## 672          Hong Kong, China
## 673                   Hungary
## 674                   Hungary
## 675                   Hungary
## 676                   Hungary
## 677                   Hungary
## 678                   Hungary
## 679                   Hungary
## 680                   Hungary
## 681                   Hungary
## 682                   Hungary
## 683                   Hungary
## 684                   Hungary
## 685                   Iceland
## 686                   Iceland
## 687                   Iceland
## 688                   Iceland
## 689                   Iceland
## 690                   Iceland
## 691                   Iceland
## 692                   Iceland
## 693                   Iceland
## 694                   Iceland
## 695                   Iceland
## 696                   Iceland
## 697                     India
## 698                     India
## 699                     India
## 700                     India
## 701                     India
## 702                     India
## 703                     India
## 704                     India
## 705                     India
## 706                     India
## 707                     India
## 708                     India
## 709                 Indonesia
## 710                 Indonesia
## 711                 Indonesia
## 712                 Indonesia
## 713                 Indonesia
## 714                 Indonesia
## 715                 Indonesia
## 716                 Indonesia
## 717                 Indonesia
## 718                 Indonesia
## 719                 Indonesia
## 720                 Indonesia
## 721                      Iran
## 722                      Iran
## 723                      Iran
## 724                      Iran
## 725                      Iran
## 726                      Iran
## 727                      Iran
## 728                      Iran
## 729                      Iran
## 730                      Iran
## 731                      Iran
## 732                      Iran
## 733                      Iraq
## 734                      Iraq
## 735                      Iraq
## 736                      Iraq
## 737                      Iraq
## 738                      Iraq
## 739                      Iraq
## 740                      Iraq
## 741                      Iraq
## 742                      Iraq
## 743                      Iraq
## 744                      Iraq
## 745                   Ireland
## 746                   Ireland
## 747                   Ireland
## 748                   Ireland
## 749                   Ireland
## 750                   Ireland
## 751                   Ireland
## 752                   Ireland
## 753                   Ireland
## 754                   Ireland
## 755                   Ireland
## 756                   Ireland
## 757                    Israel
## 758                    Israel
## 759                    Israel
## 760                    Israel
## 761                    Israel
## 762                    Israel
## 763                    Israel
## 764                    Israel
## 765                    Israel
## 766                    Israel
## 767                    Israel
## 768                    Israel
## 769                     Italy
## 770                     Italy
## 771                     Italy
## 772                     Italy
## 773                     Italy
## 774                     Italy
## 775                     Italy
## 776                     Italy
## 777                     Italy
## 778                     Italy
## 779                     Italy
## 780                     Italy
## 781                   Jamaica
## 782                   Jamaica
## 783                   Jamaica
## 784                   Jamaica
## 785                   Jamaica
## 786                   Jamaica
## 787                   Jamaica
## 788                   Jamaica
## 789                   Jamaica
## 790                   Jamaica
## 791                   Jamaica
## 792                   Jamaica
## 793                     Japan
## 794                     Japan
## 795                     Japan
## 796                     Japan
## 797                     Japan
## 798                     Japan
## 799                     Japan
## 800                     Japan
## 801                     Japan
## 802                     Japan
## 803                     Japan
## 804                     Japan
## 805                    Jordan
## 806                    Jordan
## 807                    Jordan
## 808                    Jordan
## 809                    Jordan
## 810                    Jordan
## 811                    Jordan
## 812                    Jordan
## 813                    Jordan
## 814                    Jordan
## 815                    Jordan
## 816                    Jordan
## 817                     Kenya
## 818                     Kenya
## 819                     Kenya
## 820                     Kenya
## 821                     Kenya
## 822                     Kenya
## 823                     Kenya
## 824                     Kenya
## 825                     Kenya
## 826                     Kenya
## 827                     Kenya
## 828                     Kenya
## 829          Korea, Dem. Rep.
## 830          Korea, Dem. Rep.
## 831          Korea, Dem. Rep.
## 832          Korea, Dem. Rep.
## 833          Korea, Dem. Rep.
## 834          Korea, Dem. Rep.
## 835          Korea, Dem. Rep.
## 836          Korea, Dem. Rep.
## 837          Korea, Dem. Rep.
## 838          Korea, Dem. Rep.
## 839          Korea, Dem. Rep.
## 840          Korea, Dem. Rep.
## 841               Korea, Rep.
## 842               Korea, Rep.
## 843               Korea, Rep.
## 844               Korea, Rep.
## 845               Korea, Rep.
## 846               Korea, Rep.
## 847               Korea, Rep.
## 848               Korea, Rep.
## 849               Korea, Rep.
## 850               Korea, Rep.
## 851               Korea, Rep.
## 852               Korea, Rep.
## 853                    Kuwait
## 854                    Kuwait
## 855                    Kuwait
## 856                    Kuwait
## 857                    Kuwait
## 858                    Kuwait
## 859                    Kuwait
## 860                    Kuwait
## 861                    Kuwait
## 862                    Kuwait
## 863                    Kuwait
## 864                    Kuwait
## 865                   Lebanon
## 866                   Lebanon
## 867                   Lebanon
## 868                   Lebanon
## 869                   Lebanon
## 870                   Lebanon
## 871                   Lebanon
## 872                   Lebanon
## 873                   Lebanon
## 874                   Lebanon
## 875                   Lebanon
## 876                   Lebanon
## 877                   Lesotho
## 878                   Lesotho
## 879                   Lesotho
## 880                   Lesotho
## 881                   Lesotho
## 882                   Lesotho
## 883                   Lesotho
## 884                   Lesotho
## 885                   Lesotho
## 886                   Lesotho
## 887                   Lesotho
## 888                   Lesotho
## 889                   Liberia
## 890                   Liberia
## 891                   Liberia
## 892                   Liberia
## 893                   Liberia
## 894                   Liberia
## 895                   Liberia
## 896                   Liberia
## 897                   Liberia
## 898                   Liberia
## 899                   Liberia
## 900                   Liberia
## 901                     Libya
## 902                     Libya
## 903                     Libya
## 904                     Libya
## 905                     Libya
## 906                     Libya
## 907                     Libya
## 908                     Libya
## 909                     Libya
## 910                     Libya
## 911                     Libya
## 912                     Libya
## 913                Madagascar
## 914                Madagascar
## 915                Madagascar
## 916                Madagascar
## 917                Madagascar
## 918                Madagascar
## 919                Madagascar
## 920                Madagascar
## 921                Madagascar
## 922                Madagascar
## 923                Madagascar
## 924                Madagascar
## 925                    Malawi
## 926                    Malawi
## 927                    Malawi
## 928                    Malawi
## 929                    Malawi
## 930                    Malawi
## 931                    Malawi
## 932                    Malawi
## 933                    Malawi
## 934                    Malawi
## 935                    Malawi
## 936                    Malawi
## 937                  Malaysia
## 938                  Malaysia
## 939                  Malaysia
## 940                  Malaysia
## 941                  Malaysia
## 942                  Malaysia
## 943                  Malaysia
## 944                  Malaysia
## 945                  Malaysia
## 946                  Malaysia
## 947                  Malaysia
## 948                  Malaysia
## 949                      Mali
## 950                      Mali
## 951                      Mali
## 952                      Mali
## 953                      Mali
## 954                      Mali
## 955                      Mali
## 956                      Mali
## 957                      Mali
## 958                      Mali
## 959                      Mali
## 960                      Mali
## 961                Mauritania
## 962                Mauritania
## 963                Mauritania
## 964                Mauritania
## 965                Mauritania
## 966                Mauritania
## 967                Mauritania
## 968                Mauritania
## 969                Mauritania
## 970                Mauritania
## 971                Mauritania
## 972                Mauritania
## 973                 Mauritius
## 974                 Mauritius
## 975                 Mauritius
## 976                 Mauritius
## 977                 Mauritius
## 978                 Mauritius
## 979                 Mauritius
## 980                 Mauritius
## 981                 Mauritius
## 982                 Mauritius
## 983                 Mauritius
## 984                 Mauritius
## 985                    Mexico
## 986                    Mexico
## 987                    Mexico
## 988                    Mexico
## 989                    Mexico
## 990                    Mexico
## 991                    Mexico
## 992                    Mexico
## 993                    Mexico
## 994                    Mexico
## 995                    Mexico
## 996                    Mexico
## 997                  Mongolia
## 998                  Mongolia
## 999                  Mongolia
## 1000                 Mongolia
##  [ reached 'max' / getOption("max.print") -- omitted 704 rows ]
gapminder_df %>% select(country, continent) # Seleccionamos las variables country y continent
##                      country continent
## 1                Afghanistan      Asia
## 2                Afghanistan      Asia
## 3                Afghanistan      Asia
## 4                Afghanistan      Asia
## 5                Afghanistan      Asia
## 6                Afghanistan      Asia
## 7                Afghanistan      Asia
## 8                Afghanistan      Asia
## 9                Afghanistan      Asia
## 10               Afghanistan      Asia
## 11               Afghanistan      Asia
## 12               Afghanistan      Asia
## 13                   Albania    Europe
## 14                   Albania    Europe
## 15                   Albania    Europe
## 16                   Albania    Europe
## 17                   Albania    Europe
## 18                   Albania    Europe
## 19                   Albania    Europe
## 20                   Albania    Europe
## 21                   Albania    Europe
## 22                   Albania    Europe
## 23                   Albania    Europe
## 24                   Albania    Europe
## 25                   Algeria    Africa
## 26                   Algeria    Africa
## 27                   Algeria    Africa
## 28                   Algeria    Africa
## 29                   Algeria    Africa
## 30                   Algeria    Africa
## 31                   Algeria    Africa
## 32                   Algeria    Africa
## 33                   Algeria    Africa
## 34                   Algeria    Africa
## 35                   Algeria    Africa
## 36                   Algeria    Africa
## 37                    Angola    Africa
## 38                    Angola    Africa
## 39                    Angola    Africa
## 40                    Angola    Africa
## 41                    Angola    Africa
## 42                    Angola    Africa
## 43                    Angola    Africa
## 44                    Angola    Africa
## 45                    Angola    Africa
## 46                    Angola    Africa
## 47                    Angola    Africa
## 48                    Angola    Africa
## 49                 Argentina  Americas
## 50                 Argentina  Americas
## 51                 Argentina  Americas
## 52                 Argentina  Americas
## 53                 Argentina  Americas
## 54                 Argentina  Americas
## 55                 Argentina  Americas
## 56                 Argentina  Americas
## 57                 Argentina  Americas
## 58                 Argentina  Americas
## 59                 Argentina  Americas
## 60                 Argentina  Americas
## 61                 Australia   Oceania
## 62                 Australia   Oceania
## 63                 Australia   Oceania
## 64                 Australia   Oceania
## 65                 Australia   Oceania
## 66                 Australia   Oceania
## 67                 Australia   Oceania
## 68                 Australia   Oceania
## 69                 Australia   Oceania
## 70                 Australia   Oceania
## 71                 Australia   Oceania
## 72                 Australia   Oceania
## 73                   Austria    Europe
## 74                   Austria    Europe
## 75                   Austria    Europe
## 76                   Austria    Europe
## 77                   Austria    Europe
## 78                   Austria    Europe
## 79                   Austria    Europe
## 80                   Austria    Europe
## 81                   Austria    Europe
## 82                   Austria    Europe
## 83                   Austria    Europe
## 84                   Austria    Europe
## 85                   Bahrain      Asia
## 86                   Bahrain      Asia
## 87                   Bahrain      Asia
## 88                   Bahrain      Asia
## 89                   Bahrain      Asia
## 90                   Bahrain      Asia
## 91                   Bahrain      Asia
## 92                   Bahrain      Asia
## 93                   Bahrain      Asia
## 94                   Bahrain      Asia
## 95                   Bahrain      Asia
## 96                   Bahrain      Asia
## 97                Bangladesh      Asia
## 98                Bangladesh      Asia
## 99                Bangladesh      Asia
## 100               Bangladesh      Asia
## 101               Bangladesh      Asia
## 102               Bangladesh      Asia
## 103               Bangladesh      Asia
## 104               Bangladesh      Asia
## 105               Bangladesh      Asia
## 106               Bangladesh      Asia
## 107               Bangladesh      Asia
## 108               Bangladesh      Asia
## 109                  Belgium    Europe
## 110                  Belgium    Europe
## 111                  Belgium    Europe
## 112                  Belgium    Europe
## 113                  Belgium    Europe
## 114                  Belgium    Europe
## 115                  Belgium    Europe
## 116                  Belgium    Europe
## 117                  Belgium    Europe
## 118                  Belgium    Europe
## 119                  Belgium    Europe
## 120                  Belgium    Europe
## 121                    Benin    Africa
## 122                    Benin    Africa
## 123                    Benin    Africa
## 124                    Benin    Africa
## 125                    Benin    Africa
## 126                    Benin    Africa
## 127                    Benin    Africa
## 128                    Benin    Africa
## 129                    Benin    Africa
## 130                    Benin    Africa
## 131                    Benin    Africa
## 132                    Benin    Africa
## 133                  Bolivia  Americas
## 134                  Bolivia  Americas
## 135                  Bolivia  Americas
## 136                  Bolivia  Americas
## 137                  Bolivia  Americas
## 138                  Bolivia  Americas
## 139                  Bolivia  Americas
## 140                  Bolivia  Americas
## 141                  Bolivia  Americas
## 142                  Bolivia  Americas
## 143                  Bolivia  Americas
## 144                  Bolivia  Americas
## 145   Bosnia and Herzegovina    Europe
## 146   Bosnia and Herzegovina    Europe
## 147   Bosnia and Herzegovina    Europe
## 148   Bosnia and Herzegovina    Europe
## 149   Bosnia and Herzegovina    Europe
## 150   Bosnia and Herzegovina    Europe
## 151   Bosnia and Herzegovina    Europe
## 152   Bosnia and Herzegovina    Europe
## 153   Bosnia and Herzegovina    Europe
## 154   Bosnia and Herzegovina    Europe
## 155   Bosnia and Herzegovina    Europe
## 156   Bosnia and Herzegovina    Europe
## 157                 Botswana    Africa
## 158                 Botswana    Africa
## 159                 Botswana    Africa
## 160                 Botswana    Africa
## 161                 Botswana    Africa
## 162                 Botswana    Africa
## 163                 Botswana    Africa
## 164                 Botswana    Africa
## 165                 Botswana    Africa
## 166                 Botswana    Africa
## 167                 Botswana    Africa
## 168                 Botswana    Africa
## 169                   Brazil  Americas
## 170                   Brazil  Americas
## 171                   Brazil  Americas
## 172                   Brazil  Americas
## 173                   Brazil  Americas
## 174                   Brazil  Americas
## 175                   Brazil  Americas
## 176                   Brazil  Americas
## 177                   Brazil  Americas
## 178                   Brazil  Americas
## 179                   Brazil  Americas
## 180                   Brazil  Americas
## 181                 Bulgaria    Europe
## 182                 Bulgaria    Europe
## 183                 Bulgaria    Europe
## 184                 Bulgaria    Europe
## 185                 Bulgaria    Europe
## 186                 Bulgaria    Europe
## 187                 Bulgaria    Europe
## 188                 Bulgaria    Europe
## 189                 Bulgaria    Europe
## 190                 Bulgaria    Europe
## 191                 Bulgaria    Europe
## 192                 Bulgaria    Europe
## 193             Burkina Faso    Africa
## 194             Burkina Faso    Africa
## 195             Burkina Faso    Africa
## 196             Burkina Faso    Africa
## 197             Burkina Faso    Africa
## 198             Burkina Faso    Africa
## 199             Burkina Faso    Africa
## 200             Burkina Faso    Africa
## 201             Burkina Faso    Africa
## 202             Burkina Faso    Africa
## 203             Burkina Faso    Africa
## 204             Burkina Faso    Africa
## 205                  Burundi    Africa
## 206                  Burundi    Africa
## 207                  Burundi    Africa
## 208                  Burundi    Africa
## 209                  Burundi    Africa
## 210                  Burundi    Africa
## 211                  Burundi    Africa
## 212                  Burundi    Africa
## 213                  Burundi    Africa
## 214                  Burundi    Africa
## 215                  Burundi    Africa
## 216                  Burundi    Africa
## 217                 Cambodia      Asia
## 218                 Cambodia      Asia
## 219                 Cambodia      Asia
## 220                 Cambodia      Asia
## 221                 Cambodia      Asia
## 222                 Cambodia      Asia
## 223                 Cambodia      Asia
## 224                 Cambodia      Asia
## 225                 Cambodia      Asia
## 226                 Cambodia      Asia
## 227                 Cambodia      Asia
## 228                 Cambodia      Asia
## 229                 Cameroon    Africa
## 230                 Cameroon    Africa
## 231                 Cameroon    Africa
## 232                 Cameroon    Africa
## 233                 Cameroon    Africa
## 234                 Cameroon    Africa
## 235                 Cameroon    Africa
## 236                 Cameroon    Africa
## 237                 Cameroon    Africa
## 238                 Cameroon    Africa
## 239                 Cameroon    Africa
## 240                 Cameroon    Africa
## 241                   Canada  Americas
## 242                   Canada  Americas
## 243                   Canada  Americas
## 244                   Canada  Americas
## 245                   Canada  Americas
## 246                   Canada  Americas
## 247                   Canada  Americas
## 248                   Canada  Americas
## 249                   Canada  Americas
## 250                   Canada  Americas
## 251                   Canada  Americas
## 252                   Canada  Americas
## 253 Central African Republic    Africa
## 254 Central African Republic    Africa
## 255 Central African Republic    Africa
## 256 Central African Republic    Africa
## 257 Central African Republic    Africa
## 258 Central African Republic    Africa
## 259 Central African Republic    Africa
## 260 Central African Republic    Africa
## 261 Central African Republic    Africa
## 262 Central African Republic    Africa
## 263 Central African Republic    Africa
## 264 Central African Republic    Africa
## 265                     Chad    Africa
## 266                     Chad    Africa
## 267                     Chad    Africa
## 268                     Chad    Africa
## 269                     Chad    Africa
## 270                     Chad    Africa
## 271                     Chad    Africa
## 272                     Chad    Africa
## 273                     Chad    Africa
## 274                     Chad    Africa
## 275                     Chad    Africa
## 276                     Chad    Africa
## 277                    Chile  Americas
## 278                    Chile  Americas
## 279                    Chile  Americas
## 280                    Chile  Americas
## 281                    Chile  Americas
## 282                    Chile  Americas
## 283                    Chile  Americas
## 284                    Chile  Americas
## 285                    Chile  Americas
## 286                    Chile  Americas
## 287                    Chile  Americas
## 288                    Chile  Americas
## 289                    China      Asia
## 290                    China      Asia
## 291                    China      Asia
## 292                    China      Asia
## 293                    China      Asia
## 294                    China      Asia
## 295                    China      Asia
## 296                    China      Asia
## 297                    China      Asia
## 298                    China      Asia
## 299                    China      Asia
## 300                    China      Asia
## 301                 Colombia  Americas
## 302                 Colombia  Americas
## 303                 Colombia  Americas
## 304                 Colombia  Americas
## 305                 Colombia  Americas
## 306                 Colombia  Americas
## 307                 Colombia  Americas
## 308                 Colombia  Americas
## 309                 Colombia  Americas
## 310                 Colombia  Americas
## 311                 Colombia  Americas
## 312                 Colombia  Americas
## 313                  Comoros    Africa
## 314                  Comoros    Africa
## 315                  Comoros    Africa
## 316                  Comoros    Africa
## 317                  Comoros    Africa
## 318                  Comoros    Africa
## 319                  Comoros    Africa
## 320                  Comoros    Africa
## 321                  Comoros    Africa
## 322                  Comoros    Africa
## 323                  Comoros    Africa
## 324                  Comoros    Africa
## 325         Congo, Dem. Rep.    Africa
## 326         Congo, Dem. Rep.    Africa
## 327         Congo, Dem. Rep.    Africa
## 328         Congo, Dem. Rep.    Africa
## 329         Congo, Dem. Rep.    Africa
## 330         Congo, Dem. Rep.    Africa
## 331         Congo, Dem. Rep.    Africa
## 332         Congo, Dem. Rep.    Africa
## 333         Congo, Dem. Rep.    Africa
## 334         Congo, Dem. Rep.    Africa
## 335         Congo, Dem. Rep.    Africa
## 336         Congo, Dem. Rep.    Africa
## 337              Congo, Rep.    Africa
## 338              Congo, Rep.    Africa
## 339              Congo, Rep.    Africa
## 340              Congo, Rep.    Africa
## 341              Congo, Rep.    Africa
## 342              Congo, Rep.    Africa
## 343              Congo, Rep.    Africa
## 344              Congo, Rep.    Africa
## 345              Congo, Rep.    Africa
## 346              Congo, Rep.    Africa
## 347              Congo, Rep.    Africa
## 348              Congo, Rep.    Africa
## 349               Costa Rica  Americas
## 350               Costa Rica  Americas
## 351               Costa Rica  Americas
## 352               Costa Rica  Americas
## 353               Costa Rica  Americas
## 354               Costa Rica  Americas
## 355               Costa Rica  Americas
## 356               Costa Rica  Americas
## 357               Costa Rica  Americas
## 358               Costa Rica  Americas
## 359               Costa Rica  Americas
## 360               Costa Rica  Americas
## 361            Cote d'Ivoire    Africa
## 362            Cote d'Ivoire    Africa
## 363            Cote d'Ivoire    Africa
## 364            Cote d'Ivoire    Africa
## 365            Cote d'Ivoire    Africa
## 366            Cote d'Ivoire    Africa
## 367            Cote d'Ivoire    Africa
## 368            Cote d'Ivoire    Africa
## 369            Cote d'Ivoire    Africa
## 370            Cote d'Ivoire    Africa
## 371            Cote d'Ivoire    Africa
## 372            Cote d'Ivoire    Africa
## 373                  Croatia    Europe
## 374                  Croatia    Europe
## 375                  Croatia    Europe
## 376                  Croatia    Europe
## 377                  Croatia    Europe
## 378                  Croatia    Europe
## 379                  Croatia    Europe
## 380                  Croatia    Europe
## 381                  Croatia    Europe
## 382                  Croatia    Europe
## 383                  Croatia    Europe
## 384                  Croatia    Europe
## 385                     Cuba  Americas
## 386                     Cuba  Americas
## 387                     Cuba  Americas
## 388                     Cuba  Americas
## 389                     Cuba  Americas
## 390                     Cuba  Americas
## 391                     Cuba  Americas
## 392                     Cuba  Americas
## 393                     Cuba  Americas
## 394                     Cuba  Americas
## 395                     Cuba  Americas
## 396                     Cuba  Americas
## 397           Czech Republic    Europe
## 398           Czech Republic    Europe
## 399           Czech Republic    Europe
## 400           Czech Republic    Europe
## 401           Czech Republic    Europe
## 402           Czech Republic    Europe
## 403           Czech Republic    Europe
## 404           Czech Republic    Europe
## 405           Czech Republic    Europe
## 406           Czech Republic    Europe
## 407           Czech Republic    Europe
## 408           Czech Republic    Europe
## 409                  Denmark    Europe
## 410                  Denmark    Europe
## 411                  Denmark    Europe
## 412                  Denmark    Europe
## 413                  Denmark    Europe
## 414                  Denmark    Europe
## 415                  Denmark    Europe
## 416                  Denmark    Europe
## 417                  Denmark    Europe
## 418                  Denmark    Europe
## 419                  Denmark    Europe
## 420                  Denmark    Europe
## 421                 Djibouti    Africa
## 422                 Djibouti    Africa
## 423                 Djibouti    Africa
## 424                 Djibouti    Africa
## 425                 Djibouti    Africa
## 426                 Djibouti    Africa
## 427                 Djibouti    Africa
## 428                 Djibouti    Africa
## 429                 Djibouti    Africa
## 430                 Djibouti    Africa
## 431                 Djibouti    Africa
## 432                 Djibouti    Africa
## 433       Dominican Republic  Americas
## 434       Dominican Republic  Americas
## 435       Dominican Republic  Americas
## 436       Dominican Republic  Americas
## 437       Dominican Republic  Americas
## 438       Dominican Republic  Americas
## 439       Dominican Republic  Americas
## 440       Dominican Republic  Americas
## 441       Dominican Republic  Americas
## 442       Dominican Republic  Americas
## 443       Dominican Republic  Americas
## 444       Dominican Republic  Americas
## 445                  Ecuador  Americas
## 446                  Ecuador  Americas
## 447                  Ecuador  Americas
## 448                  Ecuador  Americas
## 449                  Ecuador  Americas
## 450                  Ecuador  Americas
## 451                  Ecuador  Americas
## 452                  Ecuador  Americas
## 453                  Ecuador  Americas
## 454                  Ecuador  Americas
## 455                  Ecuador  Americas
## 456                  Ecuador  Americas
## 457                    Egypt    Africa
## 458                    Egypt    Africa
## 459                    Egypt    Africa
## 460                    Egypt    Africa
## 461                    Egypt    Africa
## 462                    Egypt    Africa
## 463                    Egypt    Africa
## 464                    Egypt    Africa
## 465                    Egypt    Africa
## 466                    Egypt    Africa
## 467                    Egypt    Africa
## 468                    Egypt    Africa
## 469              El Salvador  Americas
## 470              El Salvador  Americas
## 471              El Salvador  Americas
## 472              El Salvador  Americas
## 473              El Salvador  Americas
## 474              El Salvador  Americas
## 475              El Salvador  Americas
## 476              El Salvador  Americas
## 477              El Salvador  Americas
## 478              El Salvador  Americas
## 479              El Salvador  Americas
## 480              El Salvador  Americas
## 481        Equatorial Guinea    Africa
## 482        Equatorial Guinea    Africa
## 483        Equatorial Guinea    Africa
## 484        Equatorial Guinea    Africa
## 485        Equatorial Guinea    Africa
## 486        Equatorial Guinea    Africa
## 487        Equatorial Guinea    Africa
## 488        Equatorial Guinea    Africa
## 489        Equatorial Guinea    Africa
## 490        Equatorial Guinea    Africa
## 491        Equatorial Guinea    Africa
## 492        Equatorial Guinea    Africa
## 493                  Eritrea    Africa
## 494                  Eritrea    Africa
## 495                  Eritrea    Africa
## 496                  Eritrea    Africa
## 497                  Eritrea    Africa
## 498                  Eritrea    Africa
## 499                  Eritrea    Africa
## 500                  Eritrea    Africa
##  [ reached 'max' / getOption("max.print") -- omitted 1204 rows ]

Como siempre, podemos asignar estos nuevos data frames a otros objetos mediante el método de asignación <-. Además, una función que nos va a servir de ahora en adelante es unique(). Esta función toma un objeto como argumento y devuleve un nuevo objeto que contiene los casos únicos. Bajandolo a tierra, junto con la creación de un nuevo objeto veamos cuantos países y continentes hay en nuestro dataset:

gapminder_subset <- gapminder_df %>% select(country, continent)
str(gapminder_subset)
## 'data.frame':    1704 obs. of  2 variables:
##  $ country  : chr  "Afghanistan" "Afghanistan" "Afghanistan" "Afghanistan" ...
##  $ continent: chr  "Asia" "Asia" "Asia" "Asia" ...
paises <- unique(gapminder_subset$country)
length(paises) # Length() nos devuelve la cantidad de elementos que tiene un vector
## [1] 142
length(unique(gapminder_subset$continent)) # Podemos combinar las funciones
## [1] 5

Existen 142 países y 5 continentes en nuestro dataset.

2.3.2 Selección de casos: filter()

Cuando queramos analizar nuestros datos según ciertas características que tengan nuestras observaciones, es preciso poder seleccionar los casos según los valores que toman en una o más variables. tidyverse (en rigor, uno de sus paquetes: dplyr) nos ofrece el método filter() para realizar esta clase de transformaciones. Por ejemplo: ¿Cuáles son las observaciones que corresponden al año 2002?

gapminder_df %>%  filter(year == 2002)
##                      country continent year lifeExp        pop  gdpPercap
## 1                Afghanistan      Asia 2002  42.129   25268405   726.7341
## 2                    Albania    Europe 2002  75.651    3508512  4604.2117
## 3                    Algeria    Africa 2002  70.994   31287142  5288.0404
## 4                     Angola    Africa 2002  41.003   10866106  2773.2873
## 5                  Argentina  Americas 2002  74.340   38331121  8797.6407
## 6                  Australia   Oceania 2002  80.370   19546792 30687.7547
## 7                    Austria    Europe 2002  78.980    8148312 32417.6077
## 8                    Bahrain      Asia 2002  74.795     656397 23403.5593
## 9                 Bangladesh      Asia 2002  62.013  135656790  1136.3904
## 10                   Belgium    Europe 2002  78.320   10311970 30485.8838
## 11                     Benin    Africa 2002  54.406    7026113  1372.8779
## 12                   Bolivia  Americas 2002  63.883    8445134  3413.2627
## 13    Bosnia and Herzegovina    Europe 2002  74.090    4165416  6018.9752
## 14                  Botswana    Africa 2002  46.634    1630347 11003.6051
## 15                    Brazil  Americas 2002  71.006  179914212  8131.2128
## 16                  Bulgaria    Europe 2002  72.140    7661799  7696.7777
## 17              Burkina Faso    Africa 2002  50.650   12251209  1037.6452
## 18                   Burundi    Africa 2002  47.360    7021078   446.4035
## 19                  Cambodia      Asia 2002  56.752   12926707   896.2260
## 20                  Cameroon    Africa 2002  49.856   15929988  1934.0114
## 21                    Canada  Americas 2002  79.770   31902268 33328.9651
## 22  Central African Republic    Africa 2002  43.308    4048013   738.6906
## 23                      Chad    Africa 2002  50.525    8835739  1156.1819
## 24                     Chile  Americas 2002  77.860   15497046 10778.7838
## 25                     China      Asia 2002  72.028 1280400000  3119.2809
## 26                  Colombia  Americas 2002  71.682   41008227  5755.2600
## 27                   Comoros    Africa 2002  62.974     614382  1075.8116
## 28          Congo, Dem. Rep.    Africa 2002  44.966   55379852   241.1659
## 29               Congo, Rep.    Africa 2002  52.970    3328795  3484.0620
## 30                Costa Rica  Americas 2002  78.123    3834934  7723.4472
## 31             Cote d'Ivoire    Africa 2002  46.832   16252726  1648.8008
## 32                   Croatia    Europe 2002  74.876    4481020 11628.3890
## 33                      Cuba  Americas 2002  77.158   11226999  6340.6467
## 34            Czech Republic    Europe 2002  75.510   10256295 17596.2102
## 35                   Denmark    Europe 2002  77.180    5374693 32166.5001
## 36                  Djibouti    Africa 2002  53.373     447416  1908.2609
## 37        Dominican Republic  Americas 2002  70.847    8650322  4563.8082
## 38                   Ecuador  Americas 2002  74.173   12921234  5773.0445
## 39                     Egypt    Africa 2002  69.806   73312559  4754.6044
## 40               El Salvador  Americas 2002  70.734    6353681  5351.5687
## 41         Equatorial Guinea    Africa 2002  49.348     495627  7703.4959
## 42                   Eritrea    Africa 2002  55.240    4414865   765.3500
## 43                  Ethiopia    Africa 2002  50.725   67946797   530.0535
## 44                   Finland    Europe 2002  78.370    5193039 28204.5906
## 45                    France    Europe 2002  79.590   59925035 28926.0323
## 46                     Gabon    Africa 2002  56.761    1299304 12521.7139
## 47                    Gambia    Africa 2002  58.041    1457766   660.5856
## 48                   Germany    Europe 2002  78.670   82350671 30035.8020
## 49                     Ghana    Africa 2002  58.453   20550751  1111.9846
## 50                    Greece    Europe 2002  78.256   10603863 22514.2548
## 51                 Guatemala  Americas 2002  68.978   11178650  4858.3475
## 52                    Guinea    Africa 2002  53.676    8807818   945.5836
## 53             Guinea-Bissau    Africa 2002  45.504    1332459   575.7047
## 54                     Haiti  Americas 2002  58.137    7607651  1270.3649
## 55                  Honduras  Americas 2002  68.565    6677328  3099.7287
## 56          Hong Kong, China      Asia 2002  81.495    6762476 30209.0152
## 57                   Hungary    Europe 2002  72.590   10083313 14843.9356
## 58                   Iceland    Europe 2002  80.500     288030 31163.2020
## 59                     India      Asia 2002  62.879 1034172547  1746.7695
## 60                 Indonesia      Asia 2002  68.588  211060000  2873.9129
## 61                      Iran      Asia 2002  69.451   66907826  9240.7620
## 62                      Iraq      Asia 2002  57.046   24001816  4390.7173
## 63                   Ireland    Europe 2002  77.783    3879155 34077.0494
## 64                    Israel      Asia 2002  79.696    6029529 21905.5951
## 65                     Italy    Europe 2002  80.240   57926999 27968.0982
## 66                   Jamaica  Americas 2002  72.047    2664659  6994.7749
## 67                     Japan      Asia 2002  82.000  127065841 28604.5919
## 68                    Jordan      Asia 2002  71.263    5307470  3844.9172
## 69                     Kenya    Africa 2002  50.992   31386842  1287.5147
## 70          Korea, Dem. Rep.      Asia 2002  66.662   22215365  1646.7582
## 71               Korea, Rep.      Asia 2002  77.045   47969150 19233.9882
## 72                    Kuwait      Asia 2002  76.904    2111561 35110.1057
## 73                   Lebanon      Asia 2002  71.028    3677780  9313.9388
## 74                   Lesotho    Africa 2002  44.593    2046772  1275.1846
## 75                   Liberia    Africa 2002  43.753    2814651   531.4824
## 76                     Libya    Africa 2002  72.737    5368585  9534.6775
## 77                Madagascar    Africa 2002  57.286   16473477   894.6371
## 78                    Malawi    Africa 2002  45.009   11824495   665.4231
## 79                  Malaysia      Asia 2002  73.044   22662365 10206.9779
## 80                      Mali    Africa 2002  51.818   10580176   951.4098
## 81                Mauritania    Africa 2002  62.247    2828858  1579.0195
## 82                 Mauritius    Africa 2002  71.954    1200206  9021.8159
## 83                    Mexico  Americas 2002  74.902  102479927 10742.4405
## 84                  Mongolia      Asia 2002  65.033    2674234  2140.7393
## 85                Montenegro    Europe 2002  73.981     720230  6557.1943
## 86                   Morocco    Africa 2002  69.615   31167783  3258.4956
## 87                Mozambique    Africa 2002  44.026   18473780   633.6179
## 88                   Myanmar      Asia 2002  59.908   45598081   611.0000
## 89                   Namibia    Africa 2002  51.479    1972153  4072.3248
## 90                     Nepal      Asia 2002  61.340   25873917  1057.2063
## 91               Netherlands    Europe 2002  78.530   16122830 33724.7578
## 92               New Zealand   Oceania 2002  79.110    3908037 23189.8014
## 93                 Nicaragua  Americas 2002  70.836    5146848  2474.5488
## 94                     Niger    Africa 2002  54.496   11140655   601.0745
## 95                   Nigeria    Africa 2002  46.608  119901274  1615.2864
## 96                    Norway    Europe 2002  79.050    4535591 44683.9753
## 97                      Oman      Asia 2002  74.193    2713462 19774.8369
## 98                  Pakistan      Asia 2002  63.610  153403524  2092.7124
## 99                    Panama  Americas 2002  74.712    2990875  7356.0319
## 100                 Paraguay  Americas 2002  70.755    5884491  3783.6742
## 101                     Peru  Americas 2002  69.906   26769436  5909.0201
## 102              Philippines      Asia 2002  70.303   82995088  2650.9211
## 103                   Poland    Europe 2002  74.670   38625976 12002.2391
## 104                 Portugal    Europe 2002  77.290   10433867 19970.9079
## 105              Puerto Rico  Americas 2002  77.778    3859606 18855.6062
## 106                  Reunion    Africa 2002  75.744     743981  6316.1652
## 107                  Romania    Europe 2002  71.322   22404337  7885.3601
## 108                   Rwanda    Africa 2002  43.413    7852401   785.6538
## 109    Sao Tome and Principe    Africa 2002  64.337     170372  1353.0924
## 110             Saudi Arabia      Asia 2002  71.626   24501530 19014.5412
## 111                  Senegal    Africa 2002  61.600   10870037  1519.6353
## 112                   Serbia    Europe 2002  73.213   10111559  7236.0753
## 113             Sierra Leone    Africa 2002  41.012    5359092   699.4897
## 114                Singapore      Asia 2002  78.770    4197776 36023.1054
## 115          Slovak Republic    Europe 2002  73.800    5410052 13638.7784
## 116                 Slovenia    Europe 2002  76.660    2011497 20660.0194
## 117                  Somalia    Africa 2002  45.936    7753310   882.0818
## 118             South Africa    Africa 2002  53.365   44433622  7710.9464
## 119                    Spain    Europe 2002  79.780   40152517 24835.4717
## 120                Sri Lanka      Asia 2002  70.815   19576783  3015.3788
## 121                    Sudan    Africa 2002  56.369   37090298  1993.3983
## 122                Swaziland    Africa 2002  43.869    1130269  4128.1169
## 123                   Sweden    Europe 2002  80.040    8954175 29341.6309
## 124              Switzerland    Europe 2002  80.620    7361757 34480.9577
## 125                    Syria      Asia 2002  73.053   17155814  4090.9253
## 126                   Taiwan      Asia 2002  76.990   22454239 23235.4233
## 127                 Tanzania    Africa 2002  49.651   34593779   899.0742
## 128                 Thailand      Asia 2002  68.564   62806748  5913.1875
## 129                     Togo    Africa 2002  57.561    4977378   886.2206
## 130      Trinidad and Tobago  Americas 2002  68.976    1101832 11460.6002
## 131                  Tunisia    Africa 2002  73.042    9770575  5722.8957
## 132                   Turkey    Europe 2002  70.845   67308928  6508.0857
## 133                   Uganda    Africa 2002  47.813   24739869   927.7210
## 134           United Kingdom    Europe 2002  78.471   59912431 29478.9992
## 135            United States  Americas 2002  77.310  287675526 39097.0995
## 136                  Uruguay  Americas 2002  75.307    3363085  7727.0020
## 137                Venezuela  Americas 2002  72.766   24287670  8605.0478
## 138                  Vietnam      Asia 2002  73.017   80908147  1764.4567
## 139       West Bank and Gaza      Asia 2002  72.370    3389578  4515.4876
## 140              Yemen, Rep.      Asia 2002  60.308   18701257  2234.8208
## 141                   Zambia    Africa 2002  39.193   10595811  1071.6139
## 142                 Zimbabwe    Africa 2002  39.989   11926563   672.0386

Como podemos ver, este comando nos devuelve un tibble (o data frame) con las observaciones correspondientes al año 2002. Recordamos: Las funciones que aplicamos a un objeto (en este caso gapminder) tienen que estar mediadas por lo que se conoce como pipe (%>%). Detengámonos para analizar qué fue lo que hicimos en mayor detalle.

La función filter toma operadores lógicos como argumentos. Estos operadores devuelven TRUE o FALSE dependiendo si una comparación se verifica o no. En nuestro caso particular, el operador lógico utilizado fue ==, que singifica exactamente igual a. Puede parecer raro que usemos doble igual en lugar de un solo igual, pero recuerden que en R el = se encuentra reservado para la asignación, al igual que <-.

Utilizando el mismo operador lógico podemos hacer todavía más cosas. Por ejemplo, podemos filtrar con respecto a otras variables o combinar condiciones de filtrado mediante el mismo método

gapminder_df %>% filter(country == "Argentina")
##      country continent year lifeExp      pop gdpPercap
## 1  Argentina  Americas 1952  62.485 17876956  5911.315
## 2  Argentina  Americas 1957  64.399 19610538  6856.856
## 3  Argentina  Americas 1962  65.142 21283783  7133.166
## 4  Argentina  Americas 1967  65.634 22934225  8052.953
## 5  Argentina  Americas 1972  67.065 24779799  9443.039
## 6  Argentina  Americas 1977  68.481 26983828 10079.027
## 7  Argentina  Americas 1982  69.942 29341374  8997.897
## 8  Argentina  Americas 1987  70.774 31620918  9139.671
## 9  Argentina  Americas 1992  71.868 33958947  9308.419
## 10 Argentina  Americas 1997  73.275 36203463 10967.282
## 11 Argentina  Americas 2002  74.340 38331121  8797.641
## 12 Argentina  Americas 2007  75.320 40301927 12779.380
gapminder_df %>% filter(continent == "Americas")
##                country continent year lifeExp       pop gdpPercap
## 1            Argentina  Americas 1952  62.485  17876956  5911.315
## 2            Argentina  Americas 1957  64.399  19610538  6856.856
## 3            Argentina  Americas 1962  65.142  21283783  7133.166
## 4            Argentina  Americas 1967  65.634  22934225  8052.953
## 5            Argentina  Americas 1972  67.065  24779799  9443.039
## 6            Argentina  Americas 1977  68.481  26983828 10079.027
## 7            Argentina  Americas 1982  69.942  29341374  8997.897
## 8            Argentina  Americas 1987  70.774  31620918  9139.671
## 9            Argentina  Americas 1992  71.868  33958947  9308.419
## 10           Argentina  Americas 1997  73.275  36203463 10967.282
## 11           Argentina  Americas 2002  74.340  38331121  8797.641
## 12           Argentina  Americas 2007  75.320  40301927 12779.380
## 13             Bolivia  Americas 1952  40.414   2883315  2677.326
## 14             Bolivia  Americas 1957  41.890   3211738  2127.686
## 15             Bolivia  Americas 1962  43.428   3593918  2180.973
## 16             Bolivia  Americas 1967  45.032   4040665  2586.886
## 17             Bolivia  Americas 1972  46.714   4565872  2980.331
## 18             Bolivia  Americas 1977  50.023   5079716  3548.098
## 19             Bolivia  Americas 1982  53.859   5642224  3156.510
## 20             Bolivia  Americas 1987  57.251   6156369  2753.691
## 21             Bolivia  Americas 1992  59.957   6893451  2961.700
## 22             Bolivia  Americas 1997  62.050   7693188  3326.143
## 23             Bolivia  Americas 2002  63.883   8445134  3413.263
## 24             Bolivia  Americas 2007  65.554   9119152  3822.137
## 25              Brazil  Americas 1952  50.917  56602560  2108.944
## 26              Brazil  Americas 1957  53.285  65551171  2487.366
## 27              Brazil  Americas 1962  55.665  76039390  3336.586
## 28              Brazil  Americas 1967  57.632  88049823  3429.864
## 29              Brazil  Americas 1972  59.504 100840058  4985.711
## 30              Brazil  Americas 1977  61.489 114313951  6660.119
## 31              Brazil  Americas 1982  63.336 128962939  7030.836
## 32              Brazil  Americas 1987  65.205 142938076  7807.096
## 33              Brazil  Americas 1992  67.057 155975974  6950.283
## 34              Brazil  Americas 1997  69.388 168546719  7957.981
## 35              Brazil  Americas 2002  71.006 179914212  8131.213
## 36              Brazil  Americas 2007  72.390 190010647  9065.801
## 37              Canada  Americas 1952  68.750  14785584 11367.161
## 38              Canada  Americas 1957  69.960  17010154 12489.950
## 39              Canada  Americas 1962  71.300  18985849 13462.486
## 40              Canada  Americas 1967  72.130  20819767 16076.588
## 41              Canada  Americas 1972  72.880  22284500 18970.571
## 42              Canada  Americas 1977  74.210  23796400 22090.883
## 43              Canada  Americas 1982  75.760  25201900 22898.792
## 44              Canada  Americas 1987  76.860  26549700 26626.515
## 45              Canada  Americas 1992  77.950  28523502 26342.884
## 46              Canada  Americas 1997  78.610  30305843 28954.926
## 47              Canada  Americas 2002  79.770  31902268 33328.965
## 48              Canada  Americas 2007  80.653  33390141 36319.235
## 49               Chile  Americas 1952  54.745   6377619  3939.979
## 50               Chile  Americas 1957  56.074   7048426  4315.623
## 51               Chile  Americas 1962  57.924   7961258  4519.094
## 52               Chile  Americas 1967  60.523   8858908  5106.654
## 53               Chile  Americas 1972  63.441   9717524  5494.024
## 54               Chile  Americas 1977  67.052  10599793  4756.764
## 55               Chile  Americas 1982  70.565  11487112  5095.666
## 56               Chile  Americas 1987  72.492  12463354  5547.064
## 57               Chile  Americas 1992  74.126  13572994  7596.126
## 58               Chile  Americas 1997  75.816  14599929 10118.053
## 59               Chile  Americas 2002  77.860  15497046 10778.784
## 60               Chile  Americas 2007  78.553  16284741 13171.639
## 61            Colombia  Americas 1952  50.643  12350771  2144.115
## 62            Colombia  Americas 1957  55.118  14485993  2323.806
## 63            Colombia  Americas 1962  57.863  17009885  2492.351
## 64            Colombia  Americas 1967  59.963  19764027  2678.730
## 65            Colombia  Americas 1972  61.623  22542890  3264.660
## 66            Colombia  Americas 1977  63.837  25094412  3815.808
## 67            Colombia  Americas 1982  66.653  27764644  4397.576
## 68            Colombia  Americas 1987  67.768  30964245  4903.219
## 69            Colombia  Americas 1992  68.421  34202721  5444.649
## 70            Colombia  Americas 1997  70.313  37657830  6117.362
## 71            Colombia  Americas 2002  71.682  41008227  5755.260
## 72            Colombia  Americas 2007  72.889  44227550  7006.580
## 73          Costa Rica  Americas 1952  57.206    926317  2627.009
## 74          Costa Rica  Americas 1957  60.026   1112300  2990.011
## 75          Costa Rica  Americas 1962  62.842   1345187  3460.937
## 76          Costa Rica  Americas 1967  65.424   1588717  4161.728
## 77          Costa Rica  Americas 1972  67.849   1834796  5118.147
## 78          Costa Rica  Americas 1977  70.750   2108457  5926.877
## 79          Costa Rica  Americas 1982  73.450   2424367  5262.735
## 80          Costa Rica  Americas 1987  74.752   2799811  5629.915
## 81          Costa Rica  Americas 1992  75.713   3173216  6160.416
## 82          Costa Rica  Americas 1997  77.260   3518107  6677.045
## 83          Costa Rica  Americas 2002  78.123   3834934  7723.447
## 84          Costa Rica  Americas 2007  78.782   4133884  9645.061
## 85                Cuba  Americas 1952  59.421   6007797  5586.539
## 86                Cuba  Americas 1957  62.325   6640752  6092.174
## 87                Cuba  Americas 1962  65.246   7254373  5180.756
## 88                Cuba  Americas 1967  68.290   8139332  5690.268
## 89                Cuba  Americas 1972  70.723   8831348  5305.445
## 90                Cuba  Americas 1977  72.649   9537988  6380.495
## 91                Cuba  Americas 1982  73.717   9789224  7316.918
## 92                Cuba  Americas 1987  74.174  10239839  7532.925
## 93                Cuba  Americas 1992  74.414  10723260  5592.844
## 94                Cuba  Americas 1997  76.151  10983007  5431.990
## 95                Cuba  Americas 2002  77.158  11226999  6340.647
## 96                Cuba  Americas 2007  78.273  11416987  8948.103
## 97  Dominican Republic  Americas 1952  45.928   2491346  1397.717
## 98  Dominican Republic  Americas 1957  49.828   2923186  1544.403
## 99  Dominican Republic  Americas 1962  53.459   3453434  1662.137
## 100 Dominican Republic  Americas 1967  56.751   4049146  1653.723
## 101 Dominican Republic  Americas 1972  59.631   4671329  2189.874
## 102 Dominican Republic  Americas 1977  61.788   5302800  2681.989
## 103 Dominican Republic  Americas 1982  63.727   5968349  2861.092
## 104 Dominican Republic  Americas 1987  66.046   6655297  2899.842
## 105 Dominican Republic  Americas 1992  68.457   7351181  3044.214
## 106 Dominican Republic  Americas 1997  69.957   7992357  3614.101
## 107 Dominican Republic  Americas 2002  70.847   8650322  4563.808
## 108 Dominican Republic  Americas 2007  72.235   9319622  6025.375
## 109            Ecuador  Americas 1952  48.357   3548753  3522.111
## 110            Ecuador  Americas 1957  51.356   4058385  3780.547
## 111            Ecuador  Americas 1962  54.640   4681707  4086.114
## 112            Ecuador  Americas 1967  56.678   5432424  4579.074
## 113            Ecuador  Americas 1972  58.796   6298651  5280.995
## 114            Ecuador  Americas 1977  61.310   7278866  6679.623
## 115            Ecuador  Americas 1982  64.342   8365850  7213.791
## 116            Ecuador  Americas 1987  67.231   9545158  6481.777
## 117            Ecuador  Americas 1992  69.613  10748394  7103.703
## 118            Ecuador  Americas 1997  72.312  11911819  7429.456
## 119            Ecuador  Americas 2002  74.173  12921234  5773.045
## 120            Ecuador  Americas 2007  74.994  13755680  6873.262
## 121        El Salvador  Americas 1952  45.262   2042865  3048.303
## 122        El Salvador  Americas 1957  48.570   2355805  3421.523
## 123        El Salvador  Americas 1962  52.307   2747687  3776.804
## 124        El Salvador  Americas 1967  55.855   3232927  4358.595
## 125        El Salvador  Americas 1972  58.207   3790903  4520.246
## 126        El Salvador  Americas 1977  56.696   4282586  5138.922
## 127        El Salvador  Americas 1982  56.604   4474873  4098.344
## 128        El Salvador  Americas 1987  63.154   4842194  4140.442
## 129        El Salvador  Americas 1992  66.798   5274649  4444.232
## 130        El Salvador  Americas 1997  69.535   5783439  5154.825
## 131        El Salvador  Americas 2002  70.734   6353681  5351.569
## 132        El Salvador  Americas 2007  71.878   6939688  5728.354
## 133          Guatemala  Americas 1952  42.023   3146381  2428.238
## 134          Guatemala  Americas 1957  44.142   3640876  2617.156
## 135          Guatemala  Americas 1962  46.954   4208858  2750.364
## 136          Guatemala  Americas 1967  50.016   4690773  3242.531
## 137          Guatemala  Americas 1972  53.738   5149581  4031.408
## 138          Guatemala  Americas 1977  56.029   5703430  4879.993
## 139          Guatemala  Americas 1982  58.137   6395630  4820.495
## 140          Guatemala  Americas 1987  60.782   7326406  4246.486
## 141          Guatemala  Americas 1992  63.373   8486949  4439.451
## 142          Guatemala  Americas 1997  66.322   9803875  4684.314
## 143          Guatemala  Americas 2002  68.978  11178650  4858.347
## 144          Guatemala  Americas 2007  70.259  12572928  5186.050
## 145              Haiti  Americas 1952  37.579   3201488  1840.367
## 146              Haiti  Americas 1957  40.696   3507701  1726.888
## 147              Haiti  Americas 1962  43.590   3880130  1796.589
## 148              Haiti  Americas 1967  46.243   4318137  1452.058
## 149              Haiti  Americas 1972  48.042   4698301  1654.457
## 150              Haiti  Americas 1977  49.923   4908554  1874.299
## 151              Haiti  Americas 1982  51.461   5198399  2011.160
## 152              Haiti  Americas 1987  53.636   5756203  1823.016
## 153              Haiti  Americas 1992  55.089   6326682  1456.310
## 154              Haiti  Americas 1997  56.671   6913545  1341.727
## 155              Haiti  Americas 2002  58.137   7607651  1270.365
## 156              Haiti  Americas 2007  60.916   8502814  1201.637
## 157           Honduras  Americas 1952  41.912   1517453  2194.926
## 158           Honduras  Americas 1957  44.665   1770390  2220.488
## 159           Honduras  Americas 1962  48.041   2090162  2291.157
## 160           Honduras  Americas 1967  50.924   2500689  2538.269
## 161           Honduras  Americas 1972  53.884   2965146  2529.842
## 162           Honduras  Americas 1977  57.402   3055235  3203.208
## 163           Honduras  Americas 1982  60.909   3669448  3121.761
## 164           Honduras  Americas 1987  64.492   4372203  3023.097
## 165           Honduras  Americas 1992  66.399   5077347  3081.695
## 166           Honduras  Americas 1997  67.659   5867957  3160.455
##  [ reached 'max' / getOption("max.print") -- omitted 134 rows ]
# Combinando filtros
gapminder_df %>% filter(country == "Argentina", year == 2007)
##     country continent year lifeExp      pop gdpPercap
## 1 Argentina  Americas 2007   75.32 40301927  12779.38

Como podemos ver en el último de los ejemplos, se pueden combinar más de un operador lógico separado por comas. Cada condición se concatena a la anterior como un AND lógico ¿Qué signfica esto? Que la función select() toma cada uno de los operadores lógicos y busca que todos se cumplan de manera SIMULTÁNEA. En nuestro último caso, filtramos los datos que correspondían tanto a Argentina como al año 2007, lo que devolvió un objeto de una sola fila: los valores correspondientes para Argentina en el año 2007.

La Figura 1 muestra todas las combinaciones booleanas (o lógicas) posibles dados dos conjuntos. La función filter() aplica el operador lógico & a cada una de las condiciones que imponemos. No se preocupen: podemos generar el resto de las condiciones booleanas usando operadores booleanos tales como |, que representa OR, o ! que representa NOT, es decir que lo podemos usar para negar una condición. Si todo esto suena complejo es totalmente razonable. De cualquiera manera, algunos ejemplos (y mucha práctica) va a hacer que todo sea muy intuitivo. Veamos algunos ejemplos

Representación gráfica de todas las operaciones lógicas posibles. Fuente: R for Data Science

Representación gráfica de todas las operaciones lógicas posibles. Fuente: R for Data Science

# Datos de argentina pero que NO incluyan al año 2007
gapminder_df %>% filter(country == "Argentina", !year == 2007) # ! representa la negación
##      country continent year lifeExp      pop gdpPercap
## 1  Argentina  Americas 1952  62.485 17876956  5911.315
## 2  Argentina  Americas 1957  64.399 19610538  6856.856
## 3  Argentina  Americas 1962  65.142 21283783  7133.166
## 4  Argentina  Americas 1967  65.634 22934225  8052.953
## 5  Argentina  Americas 1972  67.065 24779799  9443.039
## 6  Argentina  Americas 1977  68.481 26983828 10079.027
## 7  Argentina  Americas 1982  69.942 29341374  8997.897
## 8  Argentina  Americas 1987  70.774 31620918  9139.671
## 9  Argentina  Americas 1992  71.868 33958947  9308.419
## 10 Argentina  Americas 1997  73.275 36203463 10967.282
## 11 Argentina  Americas 2002  74.340 38331121  8797.641
# Uno de los inconvenientes cuando queremos filtrar por más de un criterio de una misma variable
# es que tenemos que hacer lo siguiente
gapminder_df %>% filter(country == "Argentina", year == 2002 | year == 2007)
##     country continent year lifeExp      pop gdpPercap
## 1 Argentina  Americas 2002   74.34 38331121  8797.641
## 2 Argentina  Americas 2007   75.32 40301927 12779.380

Bastante más simple que en la explicación anterior ¿No? Vamos a complejizarlo levemente introduciendo al operador %in%. Este operador %in% es muy útil para matchear múltiples condiciones de manera simple. Lo que hace es devolver TRUE en todos los elementos de un vector que cumplen con alguno de los valores contenidos en el vector de la derecha. En el siguiente caso devuelve las observaciones que corresponden a los años 2002 o 2007.

# Podemos solucionarlo mediante el siguiente método
gapminder_df %>% filter(year %in% c(2002,2007))
##                      country continent year lifeExp        pop  gdpPercap
## 1                Afghanistan      Asia 2002  42.129   25268405   726.7341
## 2                Afghanistan      Asia 2007  43.828   31889923   974.5803
## 3                    Albania    Europe 2002  75.651    3508512  4604.2117
## 4                    Albania    Europe 2007  76.423    3600523  5937.0295
## 5                    Algeria    Africa 2002  70.994   31287142  5288.0404
## 6                    Algeria    Africa 2007  72.301   33333216  6223.3675
## 7                     Angola    Africa 2002  41.003   10866106  2773.2873
## 8                     Angola    Africa 2007  42.731   12420476  4797.2313
## 9                  Argentina  Americas 2002  74.340   38331121  8797.6407
## 10                 Argentina  Americas 2007  75.320   40301927 12779.3796
## 11                 Australia   Oceania 2002  80.370   19546792 30687.7547
## 12                 Australia   Oceania 2007  81.235   20434176 34435.3674
## 13                   Austria    Europe 2002  78.980    8148312 32417.6077
## 14                   Austria    Europe 2007  79.829    8199783 36126.4927
## 15                   Bahrain      Asia 2002  74.795     656397 23403.5593
## 16                   Bahrain      Asia 2007  75.635     708573 29796.0483
## 17                Bangladesh      Asia 2002  62.013  135656790  1136.3904
## 18                Bangladesh      Asia 2007  64.062  150448339  1391.2538
## 19                   Belgium    Europe 2002  78.320   10311970 30485.8838
## 20                   Belgium    Europe 2007  79.441   10392226 33692.6051
## 21                     Benin    Africa 2002  54.406    7026113  1372.8779
## 22                     Benin    Africa 2007  56.728    8078314  1441.2849
## 23                   Bolivia  Americas 2002  63.883    8445134  3413.2627
## 24                   Bolivia  Americas 2007  65.554    9119152  3822.1371
## 25    Bosnia and Herzegovina    Europe 2002  74.090    4165416  6018.9752
## 26    Bosnia and Herzegovina    Europe 2007  74.852    4552198  7446.2988
## 27                  Botswana    Africa 2002  46.634    1630347 11003.6051
## 28                  Botswana    Africa 2007  50.728    1639131 12569.8518
## 29                    Brazil  Americas 2002  71.006  179914212  8131.2128
## 30                    Brazil  Americas 2007  72.390  190010647  9065.8008
## 31                  Bulgaria    Europe 2002  72.140    7661799  7696.7777
## 32                  Bulgaria    Europe 2007  73.005    7322858 10680.7928
## 33              Burkina Faso    Africa 2002  50.650   12251209  1037.6452
## 34              Burkina Faso    Africa 2007  52.295   14326203  1217.0330
## 35                   Burundi    Africa 2002  47.360    7021078   446.4035
## 36                   Burundi    Africa 2007  49.580    8390505   430.0707
## 37                  Cambodia      Asia 2002  56.752   12926707   896.2260
## 38                  Cambodia      Asia 2007  59.723   14131858  1713.7787
## 39                  Cameroon    Africa 2002  49.856   15929988  1934.0114
## 40                  Cameroon    Africa 2007  50.430   17696293  2042.0952
## 41                    Canada  Americas 2002  79.770   31902268 33328.9651
## 42                    Canada  Americas 2007  80.653   33390141 36319.2350
## 43  Central African Republic    Africa 2002  43.308    4048013   738.6906
## 44  Central African Republic    Africa 2007  44.741    4369038   706.0165
## 45                      Chad    Africa 2002  50.525    8835739  1156.1819
## 46                      Chad    Africa 2007  50.651   10238807  1704.0637
## 47                     Chile  Americas 2002  77.860   15497046 10778.7838
## 48                     Chile  Americas 2007  78.553   16284741 13171.6388
## 49                     China      Asia 2002  72.028 1280400000  3119.2809
## 50                     China      Asia 2007  72.961 1318683096  4959.1149
## 51                  Colombia  Americas 2002  71.682   41008227  5755.2600
## 52                  Colombia  Americas 2007  72.889   44227550  7006.5804
## 53                   Comoros    Africa 2002  62.974     614382  1075.8116
## 54                   Comoros    Africa 2007  65.152     710960   986.1479
## 55          Congo, Dem. Rep.    Africa 2002  44.966   55379852   241.1659
## 56          Congo, Dem. Rep.    Africa 2007  46.462   64606759   277.5519
## 57               Congo, Rep.    Africa 2002  52.970    3328795  3484.0620
## 58               Congo, Rep.    Africa 2007  55.322    3800610  3632.5578
## 59                Costa Rica  Americas 2002  78.123    3834934  7723.4472
## 60                Costa Rica  Americas 2007  78.782    4133884  9645.0614
## 61             Cote d'Ivoire    Africa 2002  46.832   16252726  1648.8008
## 62             Cote d'Ivoire    Africa 2007  48.328   18013409  1544.7501
## 63                   Croatia    Europe 2002  74.876    4481020 11628.3890
## 64                   Croatia    Europe 2007  75.748    4493312 14619.2227
## 65                      Cuba  Americas 2002  77.158   11226999  6340.6467
## 66                      Cuba  Americas 2007  78.273   11416987  8948.1029
## 67            Czech Republic    Europe 2002  75.510   10256295 17596.2102
## 68            Czech Republic    Europe 2007  76.486   10228744 22833.3085
## 69                   Denmark    Europe 2002  77.180    5374693 32166.5001
## 70                   Denmark    Europe 2007  78.332    5468120 35278.4187
## 71                  Djibouti    Africa 2002  53.373     447416  1908.2609
## 72                  Djibouti    Africa 2007  54.791     496374  2082.4816
## 73        Dominican Republic  Americas 2002  70.847    8650322  4563.8082
## 74        Dominican Republic  Americas 2007  72.235    9319622  6025.3748
## 75                   Ecuador  Americas 2002  74.173   12921234  5773.0445
## 76                   Ecuador  Americas 2007  74.994   13755680  6873.2623
## 77                     Egypt    Africa 2002  69.806   73312559  4754.6044
## 78                     Egypt    Africa 2007  71.338   80264543  5581.1810
## 79               El Salvador  Americas 2002  70.734    6353681  5351.5687
## 80               El Salvador  Americas 2007  71.878    6939688  5728.3535
## 81         Equatorial Guinea    Africa 2002  49.348     495627  7703.4959
## 82         Equatorial Guinea    Africa 2007  51.579     551201 12154.0897
## 83                   Eritrea    Africa 2002  55.240    4414865   765.3500
## 84                   Eritrea    Africa 2007  58.040    4906585   641.3695
## 85                  Ethiopia    Africa 2002  50.725   67946797   530.0535
## 86                  Ethiopia    Africa 2007  52.947   76511887   690.8056
## 87                   Finland    Europe 2002  78.370    5193039 28204.5906
## 88                   Finland    Europe 2007  79.313    5238460 33207.0844
## 89                    France    Europe 2002  79.590   59925035 28926.0323
## 90                    France    Europe 2007  80.657   61083916 30470.0167
## 91                     Gabon    Africa 2002  56.761    1299304 12521.7139
## 92                     Gabon    Africa 2007  56.735    1454867 13206.4845
## 93                    Gambia    Africa 2002  58.041    1457766   660.5856
## 94                    Gambia    Africa 2007  59.448    1688359   752.7497
## 95                   Germany    Europe 2002  78.670   82350671 30035.8020
## 96                   Germany    Europe 2007  79.406   82400996 32170.3744
## 97                     Ghana    Africa 2002  58.453   20550751  1111.9846
## 98                     Ghana    Africa 2007  60.022   22873338  1327.6089
## 99                    Greece    Europe 2002  78.256   10603863 22514.2548
## 100                   Greece    Europe 2007  79.483   10706290 27538.4119
## 101                Guatemala  Americas 2002  68.978   11178650  4858.3475
## 102                Guatemala  Americas 2007  70.259   12572928  5186.0500
## 103                   Guinea    Africa 2002  53.676    8807818   945.5836
## 104                   Guinea    Africa 2007  56.007    9947814   942.6542
## 105            Guinea-Bissau    Africa 2002  45.504    1332459   575.7047
## 106            Guinea-Bissau    Africa 2007  46.388    1472041   579.2317
## 107                    Haiti  Americas 2002  58.137    7607651  1270.3649
## 108                    Haiti  Americas 2007  60.916    8502814  1201.6372
## 109                 Honduras  Americas 2002  68.565    6677328  3099.7287
## 110                 Honduras  Americas 2007  70.198    7483763  3548.3308
## 111         Hong Kong, China      Asia 2002  81.495    6762476 30209.0152
## 112         Hong Kong, China      Asia 2007  82.208    6980412 39724.9787
## 113                  Hungary    Europe 2002  72.590   10083313 14843.9356
## 114                  Hungary    Europe 2007  73.338    9956108 18008.9444
## 115                  Iceland    Europe 2002  80.500     288030 31163.2020
## 116                  Iceland    Europe 2007  81.757     301931 36180.7892
## 117                    India      Asia 2002  62.879 1034172547  1746.7695
## 118                    India      Asia 2007  64.698 1110396331  2452.2104
## 119                Indonesia      Asia 2002  68.588  211060000  2873.9129
## 120                Indonesia      Asia 2007  70.650  223547000  3540.6516
## 121                     Iran      Asia 2002  69.451   66907826  9240.7620
## 122                     Iran      Asia 2007  70.964   69453570 11605.7145
## 123                     Iraq      Asia 2002  57.046   24001816  4390.7173
## 124                     Iraq      Asia 2007  59.545   27499638  4471.0619
## 125                  Ireland    Europe 2002  77.783    3879155 34077.0494
## 126                  Ireland    Europe 2007  78.885    4109086 40675.9964
## 127                   Israel      Asia 2002  79.696    6029529 21905.5951
## 128                   Israel      Asia 2007  80.745    6426679 25523.2771
## 129                    Italy    Europe 2002  80.240   57926999 27968.0982
## 130                    Italy    Europe 2007  80.546   58147733 28569.7197
## 131                  Jamaica  Americas 2002  72.047    2664659  6994.7749
## 132                  Jamaica  Americas 2007  72.567    2780132  7320.8803
## 133                    Japan      Asia 2002  82.000  127065841 28604.5919
## 134                    Japan      Asia 2007  82.603  127467972 31656.0681
## 135                   Jordan      Asia 2002  71.263    5307470  3844.9172
## 136                   Jordan      Asia 2007  72.535    6053193  4519.4612
## 137                    Kenya    Africa 2002  50.992   31386842  1287.5147
## 138                    Kenya    Africa 2007  54.110   35610177  1463.2493
## 139         Korea, Dem. Rep.      Asia 2002  66.662   22215365  1646.7582
## 140         Korea, Dem. Rep.      Asia 2007  67.297   23301725  1593.0655
## 141              Korea, Rep.      Asia 2002  77.045   47969150 19233.9882
## 142              Korea, Rep.      Asia 2007  78.623   49044790 23348.1397
## 143                   Kuwait      Asia 2002  76.904    2111561 35110.1057
## 144                   Kuwait      Asia 2007  77.588    2505559 47306.9898
## 145                  Lebanon      Asia 2002  71.028    3677780  9313.9388
## 146                  Lebanon      Asia 2007  71.993    3921278 10461.0587
## 147                  Lesotho    Africa 2002  44.593    2046772  1275.1846
## 148                  Lesotho    Africa 2007  42.592    2012649  1569.3314
## 149                  Liberia    Africa 2002  43.753    2814651   531.4824
## 150                  Liberia    Africa 2007  45.678    3193942   414.5073
## 151                    Libya    Africa 2002  72.737    5368585  9534.6775
## 152                    Libya    Africa 2007  73.952    6036914 12057.4993
## 153               Madagascar    Africa 2002  57.286   16473477   894.6371
## 154               Madagascar    Africa 2007  59.443   19167654  1044.7701
## 155                   Malawi    Africa 2002  45.009   11824495   665.4231
## 156                   Malawi    Africa 2007  48.303   13327079   759.3499
## 157                 Malaysia      Asia 2002  73.044   22662365 10206.9779
## 158                 Malaysia      Asia 2007  74.241   24821286 12451.6558
## 159                     Mali    Africa 2002  51.818   10580176   951.4098
## 160                     Mali    Africa 2007  54.467   12031795  1042.5816
## 161               Mauritania    Africa 2002  62.247    2828858  1579.0195
## 162               Mauritania    Africa 2007  64.164    3270065  1803.1515
## 163                Mauritius    Africa 2002  71.954    1200206  9021.8159
## 164                Mauritius    Africa 2007  72.801    1250882 10956.9911
## 165                   Mexico  Americas 2002  74.902  102479927 10742.4405
## 166                   Mexico  Americas 2007  76.195  108700891 11977.5750
##  [ reached 'max' / getOption("max.print") -- omitted 118 rows ]
# Es una forma de concatenar condiciones de tipo | (OR)
gapminder_df %>% filter(year == 2002 | year == 2007) # Da el mismo resultado
##                      country continent year lifeExp        pop  gdpPercap
## 1                Afghanistan      Asia 2002  42.129   25268405   726.7341
## 2                Afghanistan      Asia 2007  43.828   31889923   974.5803
## 3                    Albania    Europe 2002  75.651    3508512  4604.2117
## 4                    Albania    Europe 2007  76.423    3600523  5937.0295
## 5                    Algeria    Africa 2002  70.994   31287142  5288.0404
## 6                    Algeria    Africa 2007  72.301   33333216  6223.3675
## 7                     Angola    Africa 2002  41.003   10866106  2773.2873
## 8                     Angola    Africa 2007  42.731   12420476  4797.2313
## 9                  Argentina  Americas 2002  74.340   38331121  8797.6407
## 10                 Argentina  Americas 2007  75.320   40301927 12779.3796
## 11                 Australia   Oceania 2002  80.370   19546792 30687.7547
## 12                 Australia   Oceania 2007  81.235   20434176 34435.3674
## 13                   Austria    Europe 2002  78.980    8148312 32417.6077
## 14                   Austria    Europe 2007  79.829    8199783 36126.4927
## 15                   Bahrain      Asia 2002  74.795     656397 23403.5593
## 16                   Bahrain      Asia 2007  75.635     708573 29796.0483
## 17                Bangladesh      Asia 2002  62.013  135656790  1136.3904
## 18                Bangladesh      Asia 2007  64.062  150448339  1391.2538
## 19                   Belgium    Europe 2002  78.320   10311970 30485.8838
## 20                   Belgium    Europe 2007  79.441   10392226 33692.6051
## 21                     Benin    Africa 2002  54.406    7026113  1372.8779
## 22                     Benin    Africa 2007  56.728    8078314  1441.2849
## 23                   Bolivia  Americas 2002  63.883    8445134  3413.2627
## 24                   Bolivia  Americas 2007  65.554    9119152  3822.1371
## 25    Bosnia and Herzegovina    Europe 2002  74.090    4165416  6018.9752
## 26    Bosnia and Herzegovina    Europe 2007  74.852    4552198  7446.2988
## 27                  Botswana    Africa 2002  46.634    1630347 11003.6051
## 28                  Botswana    Africa 2007  50.728    1639131 12569.8518
## 29                    Brazil  Americas 2002  71.006  179914212  8131.2128
## 30                    Brazil  Americas 2007  72.390  190010647  9065.8008
## 31                  Bulgaria    Europe 2002  72.140    7661799  7696.7777
## 32                  Bulgaria    Europe 2007  73.005    7322858 10680.7928
## 33              Burkina Faso    Africa 2002  50.650   12251209  1037.6452
## 34              Burkina Faso    Africa 2007  52.295   14326203  1217.0330
## 35                   Burundi    Africa 2002  47.360    7021078   446.4035
## 36                   Burundi    Africa 2007  49.580    8390505   430.0707
## 37                  Cambodia      Asia 2002  56.752   12926707   896.2260
## 38                  Cambodia      Asia 2007  59.723   14131858  1713.7787
## 39                  Cameroon    Africa 2002  49.856   15929988  1934.0114
## 40                  Cameroon    Africa 2007  50.430   17696293  2042.0952
## 41                    Canada  Americas 2002  79.770   31902268 33328.9651
## 42                    Canada  Americas 2007  80.653   33390141 36319.2350
## 43  Central African Republic    Africa 2002  43.308    4048013   738.6906
## 44  Central African Republic    Africa 2007  44.741    4369038   706.0165
## 45                      Chad    Africa 2002  50.525    8835739  1156.1819
## 46                      Chad    Africa 2007  50.651   10238807  1704.0637
## 47                     Chile  Americas 2002  77.860   15497046 10778.7838
## 48                     Chile  Americas 2007  78.553   16284741 13171.6388
## 49                     China      Asia 2002  72.028 1280400000  3119.2809
## 50                     China      Asia 2007  72.961 1318683096  4959.1149
## 51                  Colombia  Americas 2002  71.682   41008227  5755.2600
## 52                  Colombia  Americas 2007  72.889   44227550  7006.5804
## 53                   Comoros    Africa 2002  62.974     614382  1075.8116
## 54                   Comoros    Africa 2007  65.152     710960   986.1479
## 55          Congo, Dem. Rep.    Africa 2002  44.966   55379852   241.1659
## 56          Congo, Dem. Rep.    Africa 2007  46.462   64606759   277.5519
## 57               Congo, Rep.    Africa 2002  52.970    3328795  3484.0620
## 58               Congo, Rep.    Africa 2007  55.322    3800610  3632.5578
## 59                Costa Rica  Americas 2002  78.123    3834934  7723.4472
## 60                Costa Rica  Americas 2007  78.782    4133884  9645.0614
## 61             Cote d'Ivoire    Africa 2002  46.832   16252726  1648.8008
## 62             Cote d'Ivoire    Africa 2007  48.328   18013409  1544.7501
## 63                   Croatia    Europe 2002  74.876    4481020 11628.3890
## 64                   Croatia    Europe 2007  75.748    4493312 14619.2227
## 65                      Cuba  Americas 2002  77.158   11226999  6340.6467
## 66                      Cuba  Americas 2007  78.273   11416987  8948.1029
## 67            Czech Republic    Europe 2002  75.510   10256295 17596.2102
## 68            Czech Republic    Europe 2007  76.486   10228744 22833.3085
## 69                   Denmark    Europe 2002  77.180    5374693 32166.5001
## 70                   Denmark    Europe 2007  78.332    5468120 35278.4187
## 71                  Djibouti    Africa 2002  53.373     447416  1908.2609
## 72                  Djibouti    Africa 2007  54.791     496374  2082.4816
## 73        Dominican Republic  Americas 2002  70.847    8650322  4563.8082
## 74        Dominican Republic  Americas 2007  72.235    9319622  6025.3748
## 75                   Ecuador  Americas 2002  74.173   12921234  5773.0445
## 76                   Ecuador  Americas 2007  74.994   13755680  6873.2623
## 77                     Egypt    Africa 2002  69.806   73312559  4754.6044
## 78                     Egypt    Africa 2007  71.338   80264543  5581.1810
## 79               El Salvador  Americas 2002  70.734    6353681  5351.5687
## 80               El Salvador  Americas 2007  71.878    6939688  5728.3535
## 81         Equatorial Guinea    Africa 2002  49.348     495627  7703.4959
## 82         Equatorial Guinea    Africa 2007  51.579     551201 12154.0897
## 83                   Eritrea    Africa 2002  55.240    4414865   765.3500
## 84                   Eritrea    Africa 2007  58.040    4906585   641.3695
## 85                  Ethiopia    Africa 2002  50.725   67946797   530.0535
## 86                  Ethiopia    Africa 2007  52.947   76511887   690.8056
## 87                   Finland    Europe 2002  78.370    5193039 28204.5906
## 88                   Finland    Europe 2007  79.313    5238460 33207.0844
## 89                    France    Europe 2002  79.590   59925035 28926.0323
## 90                    France    Europe 2007  80.657   61083916 30470.0167
## 91                     Gabon    Africa 2002  56.761    1299304 12521.7139
## 92                     Gabon    Africa 2007  56.735    1454867 13206.4845
## 93                    Gambia    Africa 2002  58.041    1457766   660.5856
## 94                    Gambia    Africa 2007  59.448    1688359   752.7497
## 95                   Germany    Europe 2002  78.670   82350671 30035.8020
## 96                   Germany    Europe 2007  79.406   82400996 32170.3744
## 97                     Ghana    Africa 2002  58.453   20550751  1111.9846
## 98                     Ghana    Africa 2007  60.022   22873338  1327.6089
## 99                    Greece    Europe 2002  78.256   10603863 22514.2548
## 100                   Greece    Europe 2007  79.483   10706290 27538.4119
## 101                Guatemala  Americas 2002  68.978   11178650  4858.3475
## 102                Guatemala  Americas 2007  70.259   12572928  5186.0500
## 103                   Guinea    Africa 2002  53.676    8807818   945.5836
## 104                   Guinea    Africa 2007  56.007    9947814   942.6542
## 105            Guinea-Bissau    Africa 2002  45.504    1332459   575.7047
## 106            Guinea-Bissau    Africa 2007  46.388    1472041   579.2317
## 107                    Haiti  Americas 2002  58.137    7607651  1270.3649
## 108                    Haiti  Americas 2007  60.916    8502814  1201.6372
## 109                 Honduras  Americas 2002  68.565    6677328  3099.7287
## 110                 Honduras  Americas 2007  70.198    7483763  3548.3308
## 111         Hong Kong, China      Asia 2002  81.495    6762476 30209.0152
## 112         Hong Kong, China      Asia 2007  82.208    6980412 39724.9787
## 113                  Hungary    Europe 2002  72.590   10083313 14843.9356
## 114                  Hungary    Europe 2007  73.338    9956108 18008.9444
## 115                  Iceland    Europe 2002  80.500     288030 31163.2020
## 116                  Iceland    Europe 2007  81.757     301931 36180.7892
## 117                    India      Asia 2002  62.879 1034172547  1746.7695
## 118                    India      Asia 2007  64.698 1110396331  2452.2104
## 119                Indonesia      Asia 2002  68.588  211060000  2873.9129
## 120                Indonesia      Asia 2007  70.650  223547000  3540.6516
## 121                     Iran      Asia 2002  69.451   66907826  9240.7620
## 122                     Iran      Asia 2007  70.964   69453570 11605.7145
## 123                     Iraq      Asia 2002  57.046   24001816  4390.7173
## 124                     Iraq      Asia 2007  59.545   27499638  4471.0619
## 125                  Ireland    Europe 2002  77.783    3879155 34077.0494
## 126                  Ireland    Europe 2007  78.885    4109086 40675.9964
## 127                   Israel      Asia 2002  79.696    6029529 21905.5951
## 128                   Israel      Asia 2007  80.745    6426679 25523.2771
## 129                    Italy    Europe 2002  80.240   57926999 27968.0982
## 130                    Italy    Europe 2007  80.546   58147733 28569.7197
## 131                  Jamaica  Americas 2002  72.047    2664659  6994.7749
## 132                  Jamaica  Americas 2007  72.567    2780132  7320.8803
## 133                    Japan      Asia 2002  82.000  127065841 28604.5919
## 134                    Japan      Asia 2007  82.603  127467972 31656.0681
## 135                   Jordan      Asia 2002  71.263    5307470  3844.9172
## 136                   Jordan      Asia 2007  72.535    6053193  4519.4612
## 137                    Kenya    Africa 2002  50.992   31386842  1287.5147
## 138                    Kenya    Africa 2007  54.110   35610177  1463.2493
## 139         Korea, Dem. Rep.      Asia 2002  66.662   22215365  1646.7582
## 140         Korea, Dem. Rep.      Asia 2007  67.297   23301725  1593.0655
## 141              Korea, Rep.      Asia 2002  77.045   47969150 19233.9882
## 142              Korea, Rep.      Asia 2007  78.623   49044790 23348.1397
## 143                   Kuwait      Asia 2002  76.904    2111561 35110.1057
## 144                   Kuwait      Asia 2007  77.588    2505559 47306.9898
## 145                  Lebanon      Asia 2002  71.028    3677780  9313.9388
## 146                  Lebanon      Asia 2007  71.993    3921278 10461.0587
## 147                  Lesotho    Africa 2002  44.593    2046772  1275.1846
## 148                  Lesotho    Africa 2007  42.592    2012649  1569.3314
## 149                  Liberia    Africa 2002  43.753    2814651   531.4824
## 150                  Liberia    Africa 2007  45.678    3193942   414.5073
## 151                    Libya    Africa 2002  72.737    5368585  9534.6775
## 152                    Libya    Africa 2007  73.952    6036914 12057.4993
## 153               Madagascar    Africa 2002  57.286   16473477   894.6371
## 154               Madagascar    Africa 2007  59.443   19167654  1044.7701
## 155                   Malawi    Africa 2002  45.009   11824495   665.4231
## 156                   Malawi    Africa 2007  48.303   13327079   759.3499
## 157                 Malaysia      Asia 2002  73.044   22662365 10206.9779
## 158                 Malaysia      Asia 2007  74.241   24821286 12451.6558
## 159                     Mali    Africa 2002  51.818   10580176   951.4098
## 160                     Mali    Africa 2007  54.467   12031795  1042.5816
## 161               Mauritania    Africa 2002  62.247    2828858  1579.0195
## 162               Mauritania    Africa 2007  64.164    3270065  1803.1515
## 163                Mauritius    Africa 2002  71.954    1200206  9021.8159
## 164                Mauritius    Africa 2007  72.801    1250882 10956.9911
## 165                   Mexico  Americas 2002  74.902  102479927 10742.4405
## 166                   Mexico  Americas 2007  76.195  108700891 11977.5750
##  [ reached 'max' / getOption("max.print") -- omitted 118 rows ]

Hagamos algo útil con lo que aprendimos hasta ahora, aun haciendo referencia a una librería que todavía no usamos como ggplot. Este paquete es uno de los más utilizados para realizar gráficos.

gapminder_argentina <- gapminder_df %>% filter(country == "Argentina")
# Expectativa de vida al nacer en Argentina 1952-2007
ggplot(gapminder_argentina) + geom_line(aes(x = year, y = lifeExp))

# PIB per cápita en Argentina 1952-2007
ggplot(gapminder_argentina) + geom_line(aes(x = year, y = gdpPercap))

Creo que podemos sacar nuestras primeras conclusiones para Argentina: la expectativa de vida parece haber crecido bastante estable durante todo el período bajo análisis, pero la evolución del PIB per cápita bien puede parecerse a lo que registra un sismógrafo !

2.3.3 Ordenando: la función arrange()

La función arrange nos permite ordenar un dataset en orden ascendente o descendente en base a los valores de las variables. Está parte del proceso suele ser relevante para algunas transformaciones de datos y para la inspección visual de valores extremos.

gapminder_df %>% arrange(lifeExp) # En sentido ascendente (del valor más bajo al más alto)
##                      country continent year lifeExp       pop gdpPercap
## 1                     Rwanda    Africa 1992  23.599   7290203  737.0686
## 2                Afghanistan      Asia 1952  28.801   8425333  779.4453
## 3                     Gambia    Africa 1952  30.000    284320  485.2307
## 4                     Angola    Africa 1952  30.015   4232095 3520.6103
## 5               Sierra Leone    Africa 1952  30.331   2143249  879.7877
## 6                Afghanistan      Asia 1957  30.332   9240934  820.8530
## 7                   Cambodia      Asia 1977  31.220   6978607  524.9722
## 8                 Mozambique    Africa 1952  31.286   6446316  468.5260
## 9               Sierra Leone    Africa 1957  31.570   2295678 1004.4844
## 10              Burkina Faso    Africa 1952  31.975   4469979  543.2552
## 11               Afghanistan      Asia 1962  31.997  10267083  853.1007
## 12                    Angola    Africa 1957  31.999   4561361 3827.9405
## 13                    Gambia    Africa 1957  32.065    323150  520.9267
## 14             Guinea-Bissau    Africa 1952  32.500    580653  299.8503
## 15               Yemen, Rep.      Asia 1952  32.548   4963829  781.7176
## 16              Sierra Leone    Africa 1962  32.767   2467895 1116.6399
## 17                   Somalia    Africa 1952  32.978   2526994 1135.7498
## 18             Guinea-Bissau    Africa 1957  33.489    601095  431.7905
## 19                    Guinea    Africa 1952  33.609   2664249  510.1965
## 20                      Mali    Africa 1952  33.685   3838168  452.3370
## 21                Mozambique    Africa 1957  33.779   7038035  495.5868
## 22                    Gambia    Africa 1962  33.896    374020  599.6503
## 23               Yemen, Rep.      Asia 1957  33.970   5498090  804.8305
## 24                    Angola    Africa 1962  34.000   4826015 4269.2767
## 25               Afghanistan      Asia 1967  34.020  11537966  836.1971
## 26                  Ethiopia    Africa 1952  34.078  20860941  362.1463
## 27              Sierra Leone    Africa 1967  34.113   2662190 1206.0435
## 28         Equatorial Guinea    Africa 1952  34.482    216964  375.6431
## 29             Guinea-Bissau    Africa 1962  34.488    627820  522.0344
## 30                    Guinea    Africa 1957  34.558   2876726  576.2670
## 31                  Djibouti    Africa 1952  34.812     63149 2669.5295
## 32              Burkina Faso    Africa 1957  34.906   4713416  617.1835
## 33                   Somalia    Africa 1957  34.977   2780415 1258.1474
## 34               Yemen, Rep.      Asia 1962  35.180   6120081  825.6232
## 35                      Mali    Africa 1957  35.307   4241884  490.3822
## 36              Sierra Leone    Africa 1972  35.400   2879013 1353.7598
## 37  Central African Republic    Africa 1952  35.463   1291695 1071.3107
## 38             Guinea-Bissau    Africa 1967  35.492    601287  715.5806
## 39                    Guinea    Africa 1962  35.753   3140003  686.3737
## 40                    Gambia    Africa 1967  35.857    439593  734.7829
## 41                   Eritrea    Africa 1952  35.928   1438760  328.9406
## 42         Equatorial Guinea    Africa 1957  35.983    232922  426.0964
## 43                    Angola    Africa 1967  35.985   5247469 5522.7764
## 44                    Rwanda    Africa 1997  36.087   7212583  589.9445
## 45               Afghanistan      Asia 1972  36.088  13079460  739.9811
## 46                     Nepal      Asia 1952  36.157   9182536  545.8657
## 47                Mozambique    Africa 1962  36.161   7788944  556.6864
## 48                    Malawi    Africa 1952  36.256   2917802  369.1651
## 49                   Myanmar      Asia 1952  36.319  20092996  331.0000
## 50                   Nigeria    Africa 1952  36.324  33119096 1077.2819
## 51             Guinea-Bissau    Africa 1972  36.486    625361  820.2246
## 52                  Ethiopia    Africa 1957  36.667  22815614  378.9042
## 53                Madagascar    Africa 1952  36.681   4762912 1443.0117
## 54              Sierra Leone    Africa 1977  36.788   3140897 1348.2852
## 55                      Mali    Africa 1962  36.936   4690372  496.1743
## 56                   Somalia    Africa 1962  36.981   3080153 1369.4883
## 57               Yemen, Rep.      Asia 1967  36.984   6740785  862.4421
## 58                     Gabon    Africa 1952  37.003    420702 4293.4765
## 59                    Guinea    Africa 1967  37.197   3451418  708.7595
## 60                    Malawi    Africa 1957  37.207   3221238  416.3698
## 61                   Senegal    Africa 1952  37.278   2755589 1450.3570
## 62                  Djibouti    Africa 1957  37.328     71851 2864.9691
## 63                     India      Asia 1952  37.373 372000000  546.5657
## 64                     Niger    Africa 1952  37.444   3379468  761.8794
## 65  Central African Republic    Africa 1957  37.464   1392284 1190.8443
## 66             Guinea-Bissau    Africa 1977  37.465    745228  764.7260
## 67                 Indonesia      Asia 1952  37.468  82052000  749.6817
## 68                Bangladesh      Asia 1952  37.484  46886859  684.2442
## 69         Equatorial Guinea    Africa 1962  37.485    249220  582.8420
## 70                      Oman      Asia 1952  37.578    507833 1828.2303
## 71                     Haiti  Americas 1952  37.579   3201488 1840.3669
## 72                     Nepal      Asia 1957  37.686   9682338  597.9364
## 73                   Nigeria    Africa 1957  37.802  37173340 1100.5926
## 74              Burkina Faso    Africa 1962  37.814   4919632  722.5120
## 75                    Angola    Africa 1972  37.928   5894858 5473.2880
## 76                   Eritrea    Africa 1957  38.047   1542611  344.1619
## 77                      Chad    Africa 1952  38.092   2682462 1178.6659
## 78                Mozambique    Africa 1967  38.113   8680909  566.6692
## 79                     Benin    Africa 1952  38.223   1738315 1062.7522
## 80                    Gambia    Africa 1972  38.308    517101  756.0868
## 81              Sierra Leone    Africa 1992  38.333   4260884 1068.6963
## 82                    Malawi    Africa 1962  38.410   3628608  427.9011
## 83               Afghanistan      Asia 1977  38.438  14880372  786.1134
## 84              Sierra Leone    Africa 1982  38.445   3464522 1465.0108
## 85                   Liberia    Africa 1952  38.480    863308  575.5730
## 86                      Mali    Africa 1967  38.487   5212416  545.0099
## 87                  Cameroon    Africa 1952  38.523   5009067 1172.6677
## 88                      Togo    Africa 1952  38.596   1219113  859.8087
## 89                     Niger    Africa 1957  38.598   3692184  835.5234
## 90                     Sudan    Africa 1952  38.635   8504667 1615.9911
## 91                    Guinea    Africa 1972  38.842   3811387  741.6662
## 92                Madagascar    Africa 1957  38.865   5181679 1589.2027
## 93                   Somalia    Africa 1967  38.977   3428839 1284.7332
## 94         Equatorial Guinea    Africa 1967  38.987    259864  915.5960
## 95                     Gabon    Africa 1957  38.999    434904 4976.1981
## 96                   Burundi    Africa 1952  39.031   2445618  339.2965
## 97          Congo, Dem. Rep.    Africa 1952  39.143  14100005  780.5423
## 98                    Zambia    Africa 2002  39.193  10595811 1071.6139
## 99             Guinea-Bissau    Africa 1982  39.327    825987  838.1240
## 100                  Senegal    Africa 1957  39.329   3054547 1567.6530
## 101               Bangladesh      Asia 1957  39.348  51365468  661.6375
## 102                  Nigeria    Africa 1962  39.360  41871351 1150.9275
## 103                    Nepal      Asia 1962  39.393  10332057  652.3969
## 104                 Cambodia      Asia 1952  39.417   4693836  368.4693
## 105 Central African Republic    Africa 1962  39.475   1523478 1193.0688
## 106                   Angola    Africa 1977  39.483   6162675 3008.6474
## 107                  Liberia    Africa 1957  39.486    975950  620.9700
## 108                   Malawi    Africa 1967  39.487   4147252  495.5148
## 109                    Niger    Africa 1962  39.487   4076008  997.7661
## 110                Swaziland    Africa 2007  39.613   1133066 4513.4806
## 111                    Sudan    Africa 1957  39.624   9753392 1770.3371
## 112                  Somalia    Africa 1992  39.658   6099799  926.9603
## 113                 Djibouti    Africa 1962  39.693     89898 3020.9893
## 114              Yemen, Rep.      Asia 1972  39.848   7407075 1265.0470
## 115              Afghanistan      Asia 1982  39.854  12881816  978.0114
## 116             Saudi Arabia      Asia 1952  39.875   4005677 6459.5548
## 117                     Chad    Africa 1957  39.881   2894855 1308.4956
## 118             Sierra Leone    Africa 1997  39.897   4578212  574.6482
## 119                   Angola    Africa 1987  39.906   7874230 2430.2083
## 120                Indonesia      Asia 1957  39.918  90124000  858.9003
## 121                   Angola    Africa 1982  39.942   7016384 2756.9537
## 122                     Mali    Africa 1972  39.977   5828158  581.3689
## 123                   Uganda    Africa 1952  39.978   5824797  734.7535
## 124                 Zimbabwe    Africa 2002  39.989  11926563  672.0386
## 125                   Rwanda    Africa 1952  40.000   2534927  493.3239
## 126             Sierra Leone    Africa 1987  40.006   3868905 1294.4478
## 127                 Ethiopia    Africa 1962  40.059  25145372  419.4564
## 128                     Oman      Asia 1957  40.080    561977 2242.7466
## 129                    Niger    Africa 1967  40.118   4534062 1054.3849
## 130                  Eritrea    Africa 1962  40.158   1666618  380.9958
## 131                   Zambia    Africa 1997  40.238   9417789 1071.3538
## 132                    India      Asia 1957  40.249 409000000  590.0620
## 133                 Cambodia      Asia 1972  40.317   7450606  421.6240
## 134               Mozambique    Africa 1972  40.328   9809596  724.9178
## 135                    Benin    Africa 1957  40.358   1925173  959.6011
## 136                  Vietnam      Asia 1952  40.412  26246839  605.0665
## 137                  Bolivia  Americas 1952  40.414   2883315 2677.3263
## 138                 Cameroon    Africa 1957  40.428   5359923 1313.0481
## 139            Cote d'Ivoire    Africa 1952  40.477   2977019 1388.5947
## 140                    Gabon    Africa 1962  40.489    455661 6631.4592
## 141                  Liberia    Africa 1962  40.502   1112796  634.1952
## 142        Equatorial Guinea    Africa 1972  40.516    277603  672.4123
## 143                  Burundi    Africa 1957  40.533   2667518  379.5646
## 144               Mauritania    Africa 1952  40.543   1022556  743.1159
## 145                    Niger    Africa 1972  40.546   5060262  954.2092
## 146                   Angola    Africa 1992  40.647   8735988 2627.8457
## 147         Congo, Dem. Rep.    Africa 1957  40.652  15577932  905.8602
## 148                    Haiti  Americas 1957  40.696   3507701 1726.8879
## 149             Burkina Faso    Africa 1967  40.697   5127935  794.8266
## 150                  Comoros    Africa 1952  40.715    153936 1102.9909
## 151                   Guinea    Africa 1977  40.762   4227026  874.6859
## 152                  Liberia    Africa 1992  40.802   1912974  636.6229
## 153              Afghanistan      Asia 1987  40.822  13867957  852.3959
## 154               Madagascar    Africa 1962  40.848   5703324 1643.3871
## 155                    Sudan    Africa 1962  40.870  11183227 1959.5938
## 156                   Angola    Africa 1997  40.963   9875024 2277.1409
## 157                  Somalia    Africa 1972  40.973   3840161 1254.5761
## 158                   Angola    Africa 2002  41.003  10866106 2773.2873
## 159             Sierra Leone    Africa 2002  41.012   5359092  699.4897
## 160                  Nigeria    Africa 1967  41.040  47287752 1014.5141
## 161                     Togo    Africa 1957  41.208   1357445  925.9083
## 162                 Tanzania    Africa 1952  41.215   8322925  716.6501
## 163               Bangladesh      Asia 1962  41.216  56839289  686.3416
## 164            Guinea-Bissau    Africa 1987  41.245    927524  736.4154
## 165                    Niger    Africa 1977  41.291   5682086  808.8971
## 166                 Cambodia      Asia 1957  41.366   5322536  434.0383
##  [ reached 'max' / getOption("max.print") -- omitted 1538 rows ]
gapminder_df %>% arrange(desc(lifeExp)) # En sentido descendente (del valor más alto al más bajo)
##              country continent year lifeExp       pop gdpPercap
## 1              Japan      Asia 2007  82.603 127467972 31656.068
## 2   Hong Kong, China      Asia 2007  82.208   6980412 39724.979
## 3              Japan      Asia 2002  82.000 127065841 28604.592
## 4            Iceland    Europe 2007  81.757    301931 36180.789
## 5        Switzerland    Europe 2007  81.701   7554661 37506.419
## 6   Hong Kong, China      Asia 2002  81.495   6762476 30209.015
## 7          Australia   Oceania 2007  81.235  20434176 34435.367
## 8              Spain    Europe 2007  80.941  40448191 28821.064
## 9             Sweden    Europe 2007  80.884   9031088 33859.748
## 10            Israel      Asia 2007  80.745   6426679 25523.277
## 11             Japan      Asia 1997  80.690 125956499 28816.585
## 12            France    Europe 2007  80.657  61083916 30470.017
## 13            Canada  Americas 2007  80.653  33390141 36319.235
## 14       Switzerland    Europe 2002  80.620   7361757 34480.958
## 15             Italy    Europe 2007  80.546  58147733 28569.720
## 16           Iceland    Europe 2002  80.500    288030 31163.202
## 17         Australia   Oceania 2002  80.370  19546792 30687.755
## 18             Italy    Europe 2002  80.240  57926999 27968.098
## 19       New Zealand   Oceania 2007  80.204   4115771 25185.009
## 20            Norway    Europe 2007  80.196   4627926 49357.190
## 21            Sweden    Europe 2002  80.040   8954175 29341.631
## 22  Hong Kong, China      Asia 1997  80.000   6495918 28377.632
## 23         Singapore      Asia 2007  79.972   4553009 47143.180
## 24           Austria    Europe 2007  79.829   8199783 36126.493
## 25             Spain    Europe 2002  79.780  40152517 24835.472
## 26            Canada  Americas 2002  79.770  31902268 33328.965
## 27       Netherlands    Europe 2007  79.762  16570613 36797.933
## 28            Israel      Asia 2002  79.696   6029529 21905.595
## 29            France    Europe 2002  79.590  59925035 28926.032
## 30            Greece    Europe 2007  79.483  10706290 27538.412
## 31           Belgium    Europe 2007  79.441  10392226 33692.605
## 32    United Kingdom    Europe 2007  79.425  60776238 33203.261
## 33           Germany    Europe 2007  79.406  82400996 32170.374
## 34            Sweden    Europe 1997  79.390   8897619 25266.595
## 35       Switzerland    Europe 1997  79.370   7193761 32135.323
## 36             Japan      Asia 1992  79.360 124329269 26824.895
## 37           Finland    Europe 2007  79.313   5238460 33207.084
## 38       New Zealand   Oceania 2002  79.110   3908037 23189.801
## 39            Norway    Europe 2002  79.050   4535591 44683.975
## 40           Austria    Europe 2002  78.980   8148312 32417.608
## 41           Iceland    Europe 1997  78.950    271192 28061.100
## 42           Ireland    Europe 2007  78.885   4109086 40675.996
## 43         Australia   Oceania 1997  78.830  18565243 26997.937
## 44             Italy    Europe 1997  78.820  57479469 24675.024
## 45        Costa Rica  Americas 2007  78.782   4133884  9645.061
## 46           Iceland    Europe 1992  78.770    259012 25144.392
## 47         Singapore      Asia 2002  78.770   4197776 36023.105
## 48             Spain    Europe 1997  78.770  39855442 20445.299
## 49       Puerto Rico  Americas 2007  78.746   3942491 19328.709
## 50           Germany    Europe 2002  78.670  82350671 30035.802
## 51             Japan      Asia 1987  78.670 122091325 22375.942
## 52            France    Europe 1997  78.640  58623428 25889.785
## 53       Korea, Rep.      Asia 2007  78.623  49044790 23348.140
## 54            Canada  Americas 1997  78.610  30305843 28954.926
## 55             Chile  Americas 2007  78.553  16284741 13171.639
## 56       Netherlands    Europe 2002  78.530  16122830 33724.758
## 57    United Kingdom    Europe 2002  78.471  59912431 29478.999
## 58            Taiwan      Asia 2007  78.400  23174294 28718.277
## 59           Finland    Europe 2002  78.370   5193039 28204.591
## 60           Denmark    Europe 2007  78.332   5468120 35278.419
## 61           Belgium    Europe 2002  78.320  10311970 30485.884
## 62            Norway    Europe 1997  78.320   4405672 41283.164
## 63              Cuba  Americas 2007  78.273  11416987  8948.103
## 64            Israel      Asia 1997  78.269   5531387 20896.609
## 65            Greece    Europe 2002  78.256  10603863 22514.255
## 66     United States  Americas 2007  78.242 301139947 42951.653
## 67            Sweden    Europe 1992  78.160   8718867 23880.017
## 68        Costa Rica  Americas 2002  78.123   3834934  7723.447
## 69          Portugal    Europe 2007  78.098  10642836 20509.648
## 70       Netherlands    Europe 1997  78.030  15604464 30246.131
## 71       Switzerland    Europe 1992  78.030   6995447 31871.530
## 72            Canada  Americas 1992  77.950  28523502 26342.884
## 73          Slovenia    Europe 2007  77.926   2009245 25768.258
## 74            Greece    Europe 1997  77.869  10502372 18747.698
## 75             Chile  Americas 2002  77.860  15497046 10778.784
## 76           Ireland    Europe 2002  77.783   3879155 34077.049
## 77       Puerto Rico  Americas 2002  77.778   3859606 18855.606
## 78  Hong Kong, China      Asia 1992  77.601   5829696 24757.603
## 79            Kuwait      Asia 2007  77.588   2505559 47306.990
## 80             Spain    Europe 1992  77.570  39549438 18603.065
## 81         Australia   Oceania 1992  77.560  17481977 23424.767
## 82       New Zealand   Oceania 1997  77.550   3676187 21050.414
## 83           Belgium    Europe 1997  77.530  10199787 27561.197
## 84           Austria    Europe 1997  77.510   8069876 29095.921
## 85            France    Europe 1992  77.460  57374179 24703.796
## 86             Italy    Europe 1992  77.440  56840847 22013.645
## 87       Netherlands    Europe 1992  77.420  15174244 26790.950
## 88       Switzerland    Europe 1987  77.410   6649942 30281.705
## 89           Germany    Europe 1997  77.340  82011073 27788.884
## 90            Norway    Europe 1992  77.320   4286357 33965.661
## 91     United States  Americas 2002  77.310 287675526 39097.100
## 92          Portugal    Europe 2002  77.290  10433867 19970.908
## 93        Costa Rica  Americas 1997  77.260   3518107  6677.045
## 94           Iceland    Europe 1987  77.230    244676 26923.206
## 95    United Kingdom    Europe 1997  77.218  58808266 26074.531
## 96            Sweden    Europe 1987  77.190   8421403 23586.929
## 97           Denmark    Europe 2002  77.180   5374693 32166.500
## 98              Cuba  Americas 2002  77.158  11226999  6340.647
## 99         Singapore      Asia 1997  77.158   3802309 33519.477
## 100          Finland    Europe 1997  77.130   5134406 23723.950
## 101            Japan      Asia 1982  77.110 118454974 19384.106
## 102      Korea, Rep.      Asia 2002  77.045  47969150 19233.988
## 103           Greece    Europe 1992  77.030  10325429 17541.496
## 104          Iceland    Europe 1982  76.990    233997 23269.607
## 105           Taiwan      Asia 2002  76.990  22454239 23235.423
## 106           Israel      Asia 1992  76.930   4936550 18051.523
## 107           Kuwait      Asia 2002  76.904   2111561 35110.106
## 108            Spain    Europe 1987  76.900  38880702 15764.983
## 109           Canada  Americas 1987  76.860  26549700 26626.515
## 110      Netherlands    Europe 1987  76.830  14665278 23651.324
## 111    United States  Americas 1997  76.810 272911760 35767.433
## 112           Greece    Europe 1987  76.670   9974490 16120.528
## 113         Slovenia    Europe 2002  76.660   2011497 20660.019
## 114   Czech Republic    Europe 2007  76.486  10228744 22833.309
## 115          Belgium    Europe 1992  76.460  10045622 25575.571
## 116          Reunion    Africa 2007  76.442    798094  7670.123
## 117          Albania    Europe 2007  76.423   3600523  5937.030
## 118            Italy    Europe 1987  76.420  56729703 19207.235
## 119           Sweden    Europe 1982  76.420   8325260 20667.381
## 120   United Kingdom    Europe 1992  76.420  57866349 22705.093
## 121          Uruguay  Americas 2007  76.384   3447496 10611.463
## 122           France    Europe 1987  76.340  55630100 22066.442
## 123      New Zealand   Oceania 1992  76.330   3437674 18363.325
## 124        Australia   Oceania 1987  76.320  16257249 21888.889
## 125            Spain    Europe 1982  76.300  37983310 13926.170
## 126      Switzerland    Europe 1982  76.210   6468126 28397.715
## 127 Hong Kong, China      Asia 1987  76.200   5584510 20038.473
## 128           Mexico  Americas 2007  76.195 108700891 11977.575
## 129           Kuwait      Asia 1997  76.156   1765345 40300.620
## 130             Cuba  Americas 1997  76.151  10983007  5431.990
## 131          Ireland    Europe 1997  76.122   3667233 24521.947
## 132          Denmark    Europe 1997  76.110   5283663 29804.346
## 133          Iceland    Europe 1977  76.110    221823 19654.962
## 134    United States  Americas 1992  76.090 256894189 32003.932
## 135          Germany    Europe 1992  76.070  80597764 26505.303
## 136      Netherlands    Europe 1982  76.050  14310401 21399.460
## 137          Austria    Europe 1992  76.040   7914969 27042.019
## 138           Norway    Europe 1982  75.970   4114787 26298.635
## 139         Portugal    Europe 1997  75.970  10156415 17641.032
## 140           Norway    Europe 1987  75.890   4186147 31540.975
## 141            Chile  Americas 1997  75.816  14599929 10118.053
## 142        Singapore      Asia 1992  75.788   3235865 24769.891
## 143           Canada  Americas 1982  75.760  25201900 22898.792
## 144          Croatia    Europe 2007  75.748   4493312 14619.223
## 145          Reunion    Africa 2002  75.744    743981  6316.165
## 146       Costa Rica  Americas 1992  75.713   3173216  6160.416
## 147          Finland    Europe 1992  75.700   5041039 20647.165
## 148          Albania    Europe 2002  75.651   3508512  4604.212
## 149             Oman      Asia 2007  75.640   3204897 22316.193
## 150          Bahrain      Asia 2007  75.635    708573 29796.048
## 151           Israel      Asia 1987  75.600   4203148 17122.480
## 152           Poland    Europe 2007  75.563  38518241 15389.925
## 153           Panama  Americas 2007  75.537   3242173  9809.186
## 154   Czech Republic    Europe 2002  75.510  10256295 17596.210
## 155          Ireland    Europe 1992  75.467   3557761 17558.816
## 156 Hong Kong, China      Asia 1982  75.450   5264500 14560.531
## 157       Montenegro    Europe 1997  75.445    692651  6465.613
## 158           Sweden    Europe 1977  75.440   8251648 18855.725
## 159       Montenegro    Europe 1992  75.435    621621  7003.339
## 160      Switzerland    Europe 1977  75.390   6316424 26982.291
## 161            Japan      Asia 1977  75.380 113872473 16610.377
## 162           Norway    Europe 1977  75.370   4043205 23311.349
## 163          Belgium    Europe 1987  75.350   9870200 22525.563
## 164          Denmark    Europe 1992  75.330   5171393 26406.740
## 165        Argentina  Americas 2007  75.320  40301927 12779.380
## 166          Uruguay  Americas 2002  75.307   3363085  7727.002
##  [ reached 'max' / getOption("max.print") -- omitted 1538 rows ]

Veamos una de las principales funcionalidades de tidyverse al combinar algunos de los comandos que aprendimos hasta ahora. Vamos a filtrar el dataset para el continente de América y el año 2007 y luego (recordar: está a la derecha del último pipe) ordenar las observaciones según la expectativa de vida al nacer, de mayor a menor:

gapminder_df %>% filter(continent == "Americas", year == 2007) %>% arrange(desc(lifeExp))
##                country continent year lifeExp       pop gdpPercap
## 1               Canada  Americas 2007  80.653  33390141 36319.235
## 2           Costa Rica  Americas 2007  78.782   4133884  9645.061
## 3          Puerto Rico  Americas 2007  78.746   3942491 19328.709
## 4                Chile  Americas 2007  78.553  16284741 13171.639
## 5                 Cuba  Americas 2007  78.273  11416987  8948.103
## 6        United States  Americas 2007  78.242 301139947 42951.653
## 7              Uruguay  Americas 2007  76.384   3447496 10611.463
## 8               Mexico  Americas 2007  76.195 108700891 11977.575
## 9               Panama  Americas 2007  75.537   3242173  9809.186
## 10           Argentina  Americas 2007  75.320  40301927 12779.380
## 11             Ecuador  Americas 2007  74.994  13755680  6873.262
## 12           Venezuela  Americas 2007  73.747  26084662 11415.806
## 13           Nicaragua  Americas 2007  72.899   5675356  2749.321
## 14            Colombia  Americas 2007  72.889  44227550  7006.580
## 15             Jamaica  Americas 2007  72.567   2780132  7320.880
## 16              Brazil  Americas 2007  72.390 190010647  9065.801
## 17  Dominican Republic  Americas 2007  72.235   9319622  6025.375
## 18         El Salvador  Americas 2007  71.878   6939688  5728.354
## 19            Paraguay  Americas 2007  71.752   6667147  4172.838
## 20                Peru  Americas 2007  71.421  28674757  7408.906
## 21           Guatemala  Americas 2007  70.259  12572928  5186.050
## 22            Honduras  Americas 2007  70.198   7483763  3548.331
## 23 Trinidad and Tobago  Americas 2007  69.819   1056608 18008.509
## 24             Bolivia  Americas 2007  65.554   9119152  3822.137
## 25               Haiti  Americas 2007  60.916   8502814  1201.637

2.3.4 Creando y modificando variables: mutate()

Crear nuevas variables en base a los valores de otras variables que ya existen suele ser una parte necesaria para enriquecer el análisis. En el marco de tidyverse la forma de lograrlo es a través del verb (verb es tan solo otra forma de llamar a las funciones en el contexto de tidyverse) mutate(). Imagemos, por ejemplo, que queremos la población medida en millones de personas para hacer más fácil su lectura:

new_gapminder <- gapminder_df %>% mutate(pop = pop / 1000000)
head(new_gapminder, n = 3) # Head nos permite ver solo una determinada cantidad de filas
##       country continent year lifeExp       pop gdpPercap
## 1 Afghanistan      Asia 1952  28.801  8.425333  779.4453
## 2 Afghanistan      Asia 1957  30.332  9.240934  820.8530
## 3 Afghanistan      Asia 1962  31.997 10.267083  853.1007

La sintaxis es simple: del lado izquierdo de la igualdad escribimos el nombre de la variable y del lado derecho definimos su valor (en este caso, el valor de pop dividido por un millón). Al utilizar el nombre de una variable que anteriormente ya existía no creamos una nueva, sino que reemplazamos a pop. Si escribimos el nombre de una variable que no existe R agrega esa variable al dataset:

# Calcuando el PIB
gapminder_df %>% mutate(gdp = gdpPercap * pop)
##         country continent year lifeExp       pop  gdpPercap          gdp
## 1   Afghanistan      Asia 1952  28.801   8425333   779.4453   6567086330
## 2   Afghanistan      Asia 1957  30.332   9240934   820.8530   7585448670
## 3   Afghanistan      Asia 1962  31.997  10267083   853.1007   8758855797
## 4   Afghanistan      Asia 1967  34.020  11537966   836.1971   9648014150
## 5   Afghanistan      Asia 1972  36.088  13079460   739.9811   9678553274
## 6   Afghanistan      Asia 1977  38.438  14880372   786.1134  11697659231
## 7   Afghanistan      Asia 1982  39.854  12881816   978.0114  12598563401
## 8   Afghanistan      Asia 1987  40.822  13867957   852.3959  11820990309
## 9   Afghanistan      Asia 1992  41.674  16317921   649.3414  10595901589
## 10  Afghanistan      Asia 1997  41.763  22227415   635.3414  14121995875
## 11  Afghanistan      Asia 2002  42.129  25268405   726.7341  18363410424
## 12  Afghanistan      Asia 2007  43.828  31889923   974.5803  31079291949
## 13      Albania    Europe 1952  55.230   1282697  1601.0561   2053669902
## 14      Albania    Europe 1957  59.280   1476505  1942.2842   2867792398
## 15      Albania    Europe 1962  64.820   1728137  2312.8890   3996988985
## 16      Albania    Europe 1967  66.220   1984060  2760.1969   5476396323
## 17      Albania    Europe 1972  67.690   2263554  3313.4222   7500110047
## 18      Albania    Europe 1977  68.930   2509048  3533.0039   8864476394
## 19      Albania    Europe 1982  70.420   2780097  3630.8807  10094200603
## 20      Albania    Europe 1987  72.000   3075321  3738.9327  11498418358
## 21      Albania    Europe 1992  71.581   3326498  2497.4379   8307722183
## 22      Albania    Europe 1997  72.950   3428038  3193.0546  10945912519
## 23      Albania    Europe 2002  75.651   3508512  4604.2117  16153932130
## 24      Albania    Europe 2007  76.423   3600523  5937.0295  21376411360
## 25      Algeria    Africa 1952  43.077   9279525  2449.0082  22725632678
## 26      Algeria    Africa 1957  45.685  10270856  3013.9760  30956113720
## 27      Algeria    Africa 1962  48.303  11000948  2550.8169  28061403854
## 28      Algeria    Africa 1967  51.407  12760499  3246.9918  41433235247
## 29      Algeria    Africa 1972  54.518  14760787  4182.6638  61739408943
## 30      Algeria    Africa 1977  58.014  17152804  4910.4168  84227416174
## 31      Algeria    Africa 1982  61.368  20033753  5745.1602 115097120653
## 32      Algeria    Africa 1987  65.799  23254956  5681.3585 132119742845
## 33      Algeria    Africa 1992  67.744  26298373  5023.2166 132102425043
## 34      Algeria    Africa 1997  69.152  29072015  4797.2951 139467033682
## 35      Algeria    Africa 2002  70.994  31287142  5288.0404 165447670333
## 36      Algeria    Africa 2007  72.301  33333216  6223.3675 207444851958
## 37       Angola    Africa 1952  30.015   4232095  3520.6103  14899557133
## 38       Angola    Africa 1957  31.999   4561361  3827.9405  17460618347
## 39       Angola    Africa 1962  34.000   4826015  4269.2767  20603593596
## 40       Angola    Africa 1967  35.985   5247469  5522.7764  28980597822
## 41       Angola    Africa 1972  37.928   5894858  5473.2880  32264255583
## 42       Angola    Africa 1977  39.483   6162675  3008.6474  18541315838
## 43       Angola    Africa 1982  39.942   7016384  2756.9537  19343845633
## 44       Angola    Africa 1987  39.906   7874230  2430.2083  19136019189
## 45       Angola    Africa 1992  40.647   8735988  2627.8457  22956828370
## 46       Angola    Africa 1997  40.963   9875024  2277.1409  22486820881
## 47       Angola    Africa 2002  41.003  10866106  2773.2873  30134833901
## 48       Angola    Africa 2007  42.731  12420476  4797.2313  59583895818
## 49    Argentina  Americas 1952  62.485  17876956  5911.3151 105676319105
## 50    Argentina  Americas 1957  64.399  19610538  6856.8562 134466639306
## 51    Argentina  Americas 1962  65.142  21283783  7133.1660 151820757737
## 52    Argentina  Americas 1967  65.634  22934225  8052.9530 184688236498
## 53    Argentina  Americas 1972  67.065  24779799  9443.0385 233996596624
## 54    Argentina  Americas 1977  68.481  26983828 10079.0267 271970723960
## 55    Argentina  Americas 1982  69.942  29341374  8997.8974 264010673179
## 56    Argentina  Americas 1987  70.774  31620918  9139.6714 289004799539
## 57    Argentina  Americas 1992  71.868  33958947  9308.4187 316104097627
## 58    Argentina  Americas 1997  73.275  36203463 10967.2820 397053586287
## 59    Argentina  Americas 2002  74.340  38331121  8797.6407 337223430800
## 60    Argentina  Americas 2007  75.320  40301927 12779.3796 515033625357
## 61    Australia   Oceania 1952  69.120   8691212 10039.5956  87256254102
## 62    Australia   Oceania 1957  70.330   9712569 10949.6496 106349227169
## 63    Australia   Oceania 1962  70.930  10794968 12217.2269 131884573002
## 64    Australia   Oceania 1967  71.100  11872264 14526.1246 172457986742
## 65    Australia   Oceania 1972  71.930  13177000 16788.6295 221223770658
## 66    Australia   Oceania 1977  73.490  14074100 18334.1975 258037329175
## 67    Australia   Oceania 1982  74.740  15184200 19477.0093 295742804309
## 68    Australia   Oceania 1987  76.320  16257249 21888.8890 355853119294
## 69    Australia   Oceania 1992  77.560  17481977 23424.7668 409511234952
## 70    Australia   Oceania 1997  78.830  18565243 26997.9366 501223252921
## 71    Australia   Oceania 2002  80.370  19546792 30687.7547 599847158654
## 72    Australia   Oceania 2007  81.235  20434176 34435.3674 703658358894
## 73      Austria    Europe 1952  66.800   6927772  6137.0765  42516266683
## 74      Austria    Europe 1957  67.480   6965860  8842.5980  61596299913
## 75      Austria    Europe 1962  69.540   7129864 10750.7211  76651179416
## 76      Austria    Europe 1967  70.140   7376998 12834.6024  94680836236
## 77      Austria    Europe 1972  70.630   7544201 16661.6256 125698652513
## 78      Austria    Europe 1977  72.170   7568430 19749.4223 149472120218
## 79      Austria    Europe 1982  73.180   7574613 21597.0836 163589550350
## 80      Austria    Europe 1987  74.940   7578903 23687.8261 179527736065
## 81      Austria    Europe 1992  76.040   7914969 27042.0187 214036739550
## 82      Austria    Europe 1997  77.510   8069876 29095.9207 234800471832
## 83      Austria    Europe 2002  78.980   8148312 32417.6077 264148781752
## 84      Austria    Europe 2007  79.829   8199783 36126.4927 296229400691
## 85      Bahrain      Asia 1952  50.939    120447  9867.0848   1188460759
## 86      Bahrain      Asia 1957  53.832    138655 11635.7995   1613361773
## 87      Bahrain      Asia 1962  56.923    171863 12753.2751   2191816125
## 88      Bahrain      Asia 1967  59.923    202182 14804.6727   2993238336
## 89      Bahrain      Asia 1972  63.300    230800 18268.6584   4216406356
## 90      Bahrain      Asia 1977  65.593    297410 19340.1020   5751939724
## 91      Bahrain      Asia 1982  69.052    377967 19211.1473   7261179715
## 92      Bahrain      Asia 1987  70.750    454612 18524.0241   8421243626
## 93      Bahrain      Asia 1992  72.601    529491 19035.5792  10079167850
## 94      Bahrain      Asia 1997  73.925    598561 20292.0168  12146009862
## 95      Bahrain      Asia 2002  74.795    656397 23403.5593  15362026094
## 96      Bahrain      Asia 2007  75.635    708573 29796.0483  21112675360
## 97   Bangladesh      Asia 1952  37.484  46886859   684.2442  32082059995
## 98   Bangladesh      Asia 1957  39.348  51365468   661.6375  33985317661
## 99   Bangladesh      Asia 1962  41.216  56839289   686.3416  39011165929
## 100  Bangladesh      Asia 1967  43.453  62821884   721.1861  45306268650
## 101  Bangladesh      Asia 1972  45.252  70759295   630.2336  44594887096
## 102  Bangladesh      Asia 1977  46.923  80428306   659.8772  53072807954
## 103  Bangladesh      Asia 1982  50.009  93074406   676.9819  63009685013
## 104  Bangladesh      Asia 1987  52.819 103764241   751.9794  78028572052
## 105  Bangladesh      Asia 1992  56.018 113704579   837.8102  95262852014
## 106  Bangladesh      Asia 1997  59.412 123315288   972.7700 119957417048
## 107  Bangladesh      Asia 2002  62.013 135656790  1136.3904 154159077921
## 108  Bangladesh      Asia 2007  64.062 150448339  1391.2538 209311822134
## 109     Belgium    Europe 1952  68.000   8730405  8343.1051  72838686716
## 110     Belgium    Europe 1957  69.240   8989111  9714.9606  87328859401
## 111     Belgium    Europe 1962  70.250   9218400 10991.2068 101321340396
## 112     Belgium    Europe 1967  70.940   9556500 13149.0412 125658812132
## 113     Belgium    Europe 1972  71.440   9709100 16672.1436 161871509038
## 114     Belgium    Europe 1977  72.800   9821800 19117.9745 187772921748
## 115     Belgium    Europe 1982  73.930   9856303 20979.8459 206783717985
## 116     Belgium    Europe 1987  75.350   9870200 22525.5631 222331812712
## 117     Belgium    Europe 1992  76.460  10045622 25575.5707 256922515586
## 118     Belgium    Europe 1997  77.530  10199787 27561.1966 281118335091
## 119     Belgium    Europe 2002  78.320  10311970 30485.8838 314369518653
## 120     Belgium    Europe 2007  79.441  10392226 33692.6051 350141166520
## 121       Benin    Africa 1952  38.223   1738315  1062.7522   1847398091
## 122       Benin    Africa 1957  40.358   1925173   959.6011   1847398091
## 123       Benin    Africa 1962  42.618   2151895   949.4991   2043222289
## 124       Benin    Africa 1967  44.885   2427334  1035.8314   2514308802
## 125       Benin    Africa 1972  47.014   2761407  1085.7969   2998327102
## 126       Benin    Africa 1977  49.190   3168267  1029.1613   3260657629
## 127       Benin    Africa 1982  50.904   3641603  1277.8976   4653595792
## 128       Benin    Africa 1987  52.337   4243788  1225.8560   5202273025
## 129       Benin    Africa 1992  53.919   4981671  1191.2077   5934204759
## 130       Benin    Africa 1997  54.777   6066080  1232.9753   7479326759
## 131       Benin    Africa 2002  54.406   7026113  1372.8779   9645995478
## 132       Benin    Africa 2007  56.728   8078314  1441.2849  11643151768
## 133     Bolivia  Americas 1952  40.414   2883315  2677.3263   7719575216
## 134     Bolivia  Americas 1957  41.890   3211738  2127.6863   6833571025
## 135     Bolivia  Americas 1962  43.428   3593918  2180.9725   7838236491
## 136     Bolivia  Americas 1967  45.032   4040665  2586.8861  10452739933
## 137     Bolivia  Americas 1972  46.714   4565872  2980.3313  13607811411
## 138     Bolivia  Americas 1977  50.023   5079716  3548.0978  18023329327
## 139     Bolivia  Americas 1982  53.859   5642224  3156.5105  17809739029
## 140     Bolivia  Americas 1987  57.251   6156369  2753.6915  16952740925
## 141     Bolivia  Americas 1992  59.957   6893451  2961.6997  20416331717
## 142     Bolivia  Americas 1997  62.050   7693188  3326.1432  25588644883
##  [ reached 'max' / getOption("max.print") -- omitted 1562 rows ]
# Combinando verbs
gapminder_df %>% mutate(pop = pop / 1000000) %>% filter(year == 2007) %>% arrange(gdpPercap)
##                      country continent year lifeExp         pop  gdpPercap
## 1           Congo, Dem. Rep.    Africa 2007  46.462   64.606759   277.5519
## 2                    Liberia    Africa 2007  45.678    3.193942   414.5073
## 3                    Burundi    Africa 2007  49.580    8.390505   430.0707
## 4                   Zimbabwe    Africa 2007  43.487   12.311143   469.7093
## 5              Guinea-Bissau    Africa 2007  46.388    1.472041   579.2317
## 6                      Niger    Africa 2007  56.867   12.894865   619.6769
## 7                    Eritrea    Africa 2007  58.040    4.906585   641.3695
## 8                   Ethiopia    Africa 2007  52.947   76.511887   690.8056
## 9   Central African Republic    Africa 2007  44.741    4.369038   706.0165
## 10                    Gambia    Africa 2007  59.448    1.688359   752.7497
## 11                    Malawi    Africa 2007  48.303   13.327079   759.3499
## 12                Mozambique    Africa 2007  42.082   19.951656   823.6856
## 13              Sierra Leone    Africa 2007  42.568    6.144562   862.5408
## 14                    Rwanda    Africa 2007  46.242    8.860588   863.0885
## 15                      Togo    Africa 2007  58.420    5.701579   882.9699
## 16                   Somalia    Africa 2007  48.159    9.118773   926.1411
## 17                    Guinea    Africa 2007  56.007    9.947814   942.6542
## 18                   Myanmar      Asia 2007  62.069   47.761980   944.0000
## 19               Afghanistan      Asia 2007  43.828   31.889923   974.5803
## 20                   Comoros    Africa 2007  65.152    0.710960   986.1479
## 21                      Mali    Africa 2007  54.467   12.031795  1042.5816
## 22                Madagascar    Africa 2007  59.443   19.167654  1044.7701
## 23                    Uganda    Africa 2007  51.542   29.170398  1056.3801
## 24                     Nepal      Asia 2007  63.785   28.901790  1091.3598
## 25                  Tanzania    Africa 2007  52.517   38.139640  1107.4822
## 26                     Haiti  Americas 2007  60.916    8.502814  1201.6372
## 27              Burkina Faso    Africa 2007  52.295   14.326203  1217.0330
## 28                    Zambia    Africa 2007  42.384   11.746035  1271.2116
## 29                     Ghana    Africa 2007  60.022   22.873338  1327.6089
## 30                Bangladesh      Asia 2007  64.062  150.448339  1391.2538
## 31                     Benin    Africa 2007  56.728    8.078314  1441.2849
## 32                     Kenya    Africa 2007  54.110   35.610177  1463.2493
## 33             Cote d'Ivoire    Africa 2007  48.328   18.013409  1544.7501
## 34                   Lesotho    Africa 2007  42.592    2.012649  1569.3314
## 35          Korea, Dem. Rep.      Asia 2007  67.297   23.301725  1593.0655
## 36     Sao Tome and Principe    Africa 2007  65.528    0.199579  1598.4351
## 37                      Chad    Africa 2007  50.651   10.238807  1704.0637
## 38                   Senegal    Africa 2007  63.062   12.267493  1712.4721
## 39                  Cambodia      Asia 2007  59.723   14.131858  1713.7787
## 40                Mauritania    Africa 2007  64.164    3.270065  1803.1515
## 41                   Nigeria    Africa 2007  46.859  135.031164  2013.9773
## 42                  Cameroon    Africa 2007  50.430   17.696293  2042.0952
## 43                  Djibouti    Africa 2007  54.791    0.496374  2082.4816
## 44               Yemen, Rep.      Asia 2007  62.698   22.211743  2280.7699
## 45                   Vietnam      Asia 2007  74.249   85.262356  2441.5764
## 46                     India      Asia 2007  64.698 1110.396331  2452.2104
## 47                     Sudan    Africa 2007  58.556   42.292929  2602.3950
## 48                  Pakistan      Asia 2007  65.483  169.270617  2605.9476
## 49                 Nicaragua  Americas 2007  72.899    5.675356  2749.3210
## 50        West Bank and Gaza      Asia 2007  73.422    4.018332  3025.3498
## 51                  Mongolia      Asia 2007  66.803    2.874127  3095.7723
## 52               Philippines      Asia 2007  71.688   91.077287  3190.4810
## 53                 Indonesia      Asia 2007  70.650  223.547000  3540.6516
## 54                  Honduras  Americas 2007  70.198    7.483763  3548.3308
## 55               Congo, Rep.    Africa 2007  55.322    3.800610  3632.5578
## 56                   Morocco    Africa 2007  71.164   33.757175  3820.1752
## 57                   Bolivia  Americas 2007  65.554    9.119152  3822.1371
## 58                 Sri Lanka      Asia 2007  72.396   20.378239  3970.0954
## 59                  Paraguay  Americas 2007  71.752    6.667147  4172.8385
## 60                     Syria      Asia 2007  74.143   19.314747  4184.5481
## 61                      Iraq      Asia 2007  59.545   27.499638  4471.0619
## 62                 Swaziland    Africa 2007  39.613    1.133066  4513.4806
## 63                    Jordan      Asia 2007  72.535    6.053193  4519.4612
## 64                    Angola    Africa 2007  42.731   12.420476  4797.2313
## 65                   Namibia    Africa 2007  52.906    2.055080  4811.0604
## 66                     China      Asia 2007  72.961 1318.683096  4959.1149
## 67                 Guatemala  Americas 2007  70.259   12.572928  5186.0500
## 68                     Egypt    Africa 2007  71.338   80.264543  5581.1810
## 69               El Salvador  Americas 2007  71.878    6.939688  5728.3535
## 70                   Albania    Europe 2007  76.423    3.600523  5937.0295
## 71        Dominican Republic  Americas 2007  72.235    9.319622  6025.3748
## 72                   Algeria    Africa 2007  72.301   33.333216  6223.3675
## 73                   Ecuador  Americas 2007  74.994   13.755680  6873.2623
## 74                  Colombia  Americas 2007  72.889   44.227550  7006.5804
## 75                   Tunisia    Africa 2007  73.923   10.276158  7092.9230
## 76                   Jamaica  Americas 2007  72.567    2.780132  7320.8803
## 77                      Peru  Americas 2007  71.421   28.674757  7408.9056
## 78    Bosnia and Herzegovina    Europe 2007  74.852    4.552198  7446.2988
## 79                  Thailand      Asia 2007  70.616   65.068149  7458.3963
## 80                   Reunion    Africa 2007  76.442    0.798094  7670.1226
## 81                    Turkey    Europe 2007  71.777   71.158647  8458.2764
## 82                      Cuba  Americas 2007  78.273   11.416987  8948.1029
## 83                    Brazil  Americas 2007  72.390  190.010647  9065.8008
## 84                Montenegro    Europe 2007  74.543    0.684736  9253.8961
## 85              South Africa    Africa 2007  49.339   43.997828  9269.6578
## 86                Costa Rica  Americas 2007  78.782    4.133884  9645.0614
## 87                    Serbia    Europe 2007  74.002   10.150265  9786.5347
## 88                    Panama  Americas 2007  75.537    3.242173  9809.1856
## 89                   Lebanon      Asia 2007  71.993    3.921278 10461.0587
## 90                   Uruguay  Americas 2007  76.384    3.447496 10611.4630
## 91                  Bulgaria    Europe 2007  73.005    7.322858 10680.7928
## 92                   Romania    Europe 2007  72.476   22.276056 10808.4756
## 93                 Mauritius    Africa 2007  72.801    1.250882 10956.9911
## 94                 Venezuela  Americas 2007  73.747   26.084662 11415.8057
## 95                      Iran      Asia 2007  70.964   69.453570 11605.7145
## 96                    Mexico  Americas 2007  76.195  108.700891 11977.5750
## 97                     Libya    Africa 2007  73.952    6.036914 12057.4993
## 98         Equatorial Guinea    Africa 2007  51.579    0.551201 12154.0897
## 99                  Malaysia      Asia 2007  74.241   24.821286 12451.6558
## 100                 Botswana    Africa 2007  50.728    1.639131 12569.8518
## 101                Argentina  Americas 2007  75.320   40.301927 12779.3796
## 102                    Chile  Americas 2007  78.553   16.284741 13171.6388
## 103                    Gabon    Africa 2007  56.735    1.454867 13206.4845
## 104                  Croatia    Europe 2007  75.748    4.493312 14619.2227
## 105                   Poland    Europe 2007  75.563   38.518241 15389.9247
## 106      Trinidad and Tobago  Americas 2007  69.819    1.056608 18008.5092
## 107                  Hungary    Europe 2007  73.338    9.956108 18008.9444
## 108          Slovak Republic    Europe 2007  74.663    5.447502 18678.3144
## 109              Puerto Rico  Americas 2007  78.746    3.942491 19328.7090
## 110                 Portugal    Europe 2007  78.098   10.642836 20509.6478
## 111             Saudi Arabia      Asia 2007  72.777   27.601038 21654.8319
## 112                     Oman      Asia 2007  75.640    3.204897 22316.1929
## 113           Czech Republic    Europe 2007  76.486   10.228744 22833.3085
## 114              Korea, Rep.      Asia 2007  78.623   49.044790 23348.1397
## 115              New Zealand   Oceania 2007  80.204    4.115771 25185.0091
## 116                   Israel      Asia 2007  80.745    6.426679 25523.2771
## 117                 Slovenia    Europe 2007  77.926    2.009245 25768.2576
## 118                   Greece    Europe 2007  79.483   10.706290 27538.4119
## 119                    Italy    Europe 2007  80.546   58.147733 28569.7197
## 120                   Taiwan      Asia 2007  78.400   23.174294 28718.2768
## 121                    Spain    Europe 2007  80.941   40.448191 28821.0637
## 122                  Bahrain      Asia 2007  75.635    0.708573 29796.0483
## 123                   France    Europe 2007  80.657   61.083916 30470.0167
## 124                    Japan      Asia 2007  82.603  127.467972 31656.0681
## 125                  Germany    Europe 2007  79.406   82.400996 32170.3744
## 126           United Kingdom    Europe 2007  79.425   60.776238 33203.2613
## 127                  Finland    Europe 2007  79.313    5.238460 33207.0844
## 128                  Belgium    Europe 2007  79.441   10.392226 33692.6051
## 129                   Sweden    Europe 2007  80.884    9.031088 33859.7484
## 130                Australia   Oceania 2007  81.235   20.434176 34435.3674
## 131                  Denmark    Europe 2007  78.332    5.468120 35278.4187
## 132                  Austria    Europe 2007  79.829    8.199783 36126.4927
## 133                  Iceland    Europe 2007  81.757    0.301931 36180.7892
## 134                   Canada  Americas 2007  80.653   33.390141 36319.2350
## 135              Netherlands    Europe 2007  79.762   16.570613 36797.9333
## 136              Switzerland    Europe 2007  81.701    7.554661 37506.4191
## 137         Hong Kong, China      Asia 2007  82.208    6.980412 39724.9787
## 138                  Ireland    Europe 2007  78.885    4.109086 40675.9964
## 139            United States  Americas 2007  78.242  301.139947 42951.6531
## 140                Singapore      Asia 2007  79.972    4.553009 47143.1796
## 141                   Kuwait      Asia 2007  77.588    2.505559 47306.9898
## 142                   Norway    Europe 2007  80.196    4.627926 49357.1902

2.3.5 Resumiendo y transformando datos en base a grupos

Muchas veces es necesario resumir diversas variables de un dataset en base a grupos. En nuestro ejemplo, preguntas que precisarían de agrupar datos serían algunas como las siguientes:

  1. ¿Cuál es la expectativa de vida al nacer promedio por continente para cada uno de los años?
  2. ¿Cuál es el país más pobre y más rico, medido por PIB per cápita, de cada continente para cada uno de los años?
  3. ¿Cuál es la diferencia en la expectativa de vida al nacer para cada país con respecto a la media del continente para cada año?

Para responder estas preguntas, tidyverse brinda dos funciones: group_by(), para agrupar observaciones según categorías de una variable, y summarise(), para aplicar alguna transformación sobre cada conjunto de datos. Veamos cómo podríamos resolver estas tres preguntas con estas funciones y otras que ya hemos aprendido.

# Primera pregunta
gapminder_df %>% group_by(year, continent) %>% summarise(mean_lifeExp = mean(lifeExp))
## # A tibble: 60 x 3
## # Groups:   year [12]
##     year continent mean_lifeExp
##    <int> <chr>            <dbl>
##  1  1952 Africa            39.1
##  2  1952 Americas          53.3
##  3  1952 Asia              46.3
##  4  1952 Europe            64.4
##  5  1952 Oceania           69.3
##  6  1957 Africa            41.3
##  7  1957 Americas          56.0
##  8  1957 Asia              49.3
##  9  1957 Europe            66.7
## 10  1957 Oceania           70.3
## # ... with 50 more rows
# Segunda pregunta
gapminder_df %>% group_by(year, continent) %>%
  summarise(poor_country = min(gdpPercap),
            rich_country = max(gdpPercap),
            poor_country_nom = country[gdpPercap == poor_country],
            rich_country_nom = country[gdpPercap == rich_country])
## # A tibble: 60 x 6
## # Groups:   year [12]
##     year continent poor_country rich_country poor_country_nom
##    <int> <chr>            <dbl>        <dbl> <chr>           
##  1  1952 Africa            299.        4725. Lesotho         
##  2  1952 Americas         1398.       13990. Dominican Repub~
##  3  1952 Asia              331       108382. Myanmar         
##  4  1952 Europe            974.       14734. Bosnia and Herz~
##  5  1952 Oceania         10040.       10557. Australia       
##  6  1957 Africa            336.        5487. Lesotho         
##  7  1957 Americas         1544.       14847. Dominican Repub~
##  8  1957 Asia              350       113523. Myanmar         
##  9  1957 Europe           1354.       17909. Bosnia and Herz~
## 10  1957 Oceania         10950.       12247. Australia       
## # ... with 50 more rows, and 1 more variable: rich_country_nom <chr>
# Tercera pregunta
gapminder_df %>% group_by(year, continent) %>%
  mutate(dif_lifeExp = lifeExp - mean(lifeExp))
## # A tibble: 1,704 x 7
## # Groups:   year, continent [60]
##    country     continent  year lifeExp      pop gdpPercap dif_lifeExp
##    <chr>       <chr>     <int>   <dbl>    <int>     <dbl>       <dbl>
##  1 Afghanistan Asia       1952    28.8  8425333      779.       -17.5
##  2 Afghanistan Asia       1957    30.3  9240934      821.       -19.0
##  3 Afghanistan Asia       1962    32.0 10267083      853.       -19.6
##  4 Afghanistan Asia       1967    34.0 11537966      836.       -20.6
##  5 Afghanistan Asia       1972    36.1 13079460      740.       -21.2
##  6 Afghanistan Asia       1977    38.4 14880372      786.       -21.2
##  7 Afghanistan Asia       1982    39.9 12881816      978.       -22.8
##  8 Afghanistan Asia       1987    40.8 13867957      852.       -24.0
##  9 Afghanistan Asia       1992    41.7 16317921      649.       -24.9
## 10 Afghanistan Asia       1997    41.8 22227415      635.       -26.3
## # ... with 1,694 more rows

Las tres respuestas comienzan de la misma manera, es decir con la función group_by(). Entre los paréntesis hay que colocar los nombres de las variables por las cuáles se quiere agrupar, en nuestro caso las variables year y continent. De esta manera todo lo que siga después de la próxima pipe se aplicará sobre cada uno de los grupos generados por las combinaciones año y continente.

En el caso de la primera respuesta, usamos la función summarise(), que devuelve un Data Frame (en rigor, tibble) con resúmenes para cada uno de los grupos. Debido a que existen 12 “fotos” de las variables (una cada cinco años) y se definen 5 continentes (África, América, Asia, Europa y Oceanía), el data frame que devuelve tiene 60 filas (12 países multiplicado por 5 continentes da 60 grupos).

Dentro de los paréntesis de summarise() podemos crear tantas variables como queramos. En el primer caso, creamos una variable que se llama mean_lifeExp que recibe el resultado de aplicar mean() a la variable lifeExp. Esta función es aplicada a cada uno de los grupos que definimos anteriormente.

En el segundo caso hacemos algo similar a lo anterior, pero definimos cuatro variables. poor_country busca el valor mínimo del PIB per cápita para cada grupo a través de min(), rich_country hace lo opuesto a través de la función max(), poor_country_nom busca el nombre que corresponde al PIB per cápita más bajo y rich_country_nom busca el nombre que corresponde al PIB per cápita más alto. Estas últimas dos variables se generan a través de filtrar el vector country y buscar el valor que corresponde al PIB per cápita más bajo o alto, según corresponda, mediante el código country[gdpPercap == poor_country].

Finalmente, la tercera parte del código combina las funciones group_by() y mutate(), que ya vimos anteriormente. La novedad es que ahora podemos utilizarla para crear nuevas variables en el dataset basadas en agregaciones de otras variables. En este ejemplo, creamos la variable dif_lifeExp, que toma la diferencia entre la expectativa de vida al nacer para cada observación y la media de cada grupo (en nuestro caso, año y continente).

El siguiente gráfico muestra una visualización basada en este dataset que acabamos de generar, usando ggplot

2.4 Transformando la presentación de los datos: gather y spread

Los datos pueden venir presentados en dos formatos: largo o ancho. Los datasets con formato largo tienen pocas columnas y muchas filas, mientras los de formato ancho poseen muchas columnas y pocas filas. Sin embargo, en ambas representaciones los datos son exactamente los mismos. Representación de datos en formato largo y ancho

En diversas situaciones es preferible tener una de las dos representaciones. Por ejemplo, para graficar con la librería ggplot2 muchas veces es conveniente contar con representaciones en formato largo de los datos. Tidyverse ofrece dos métodos que sirven para este propósito: gather() y spread().

  • gather(): toma un conjunto de variables (vectores/columnas) y las colapsa en una sola columna con valores que resumen los datos de ese conjunto de variables. Hace que el data frame sea más largo
  • spread(): toma dos variables y las descompone entre múltiples variables (hace que el data frame sea más ancho)
gapminder_sub <- gapminder_df %>% select(country,year,pop)
gapminder_sub <- gapminder_sub %>% mutate(pop = pop / 1000000) # pop en millones
head(gapminder_sub,n = 5) # Muestra las primeras cinco filas 
##       country year       pop
## 1 Afghanistan 1952  8.425333
## 2 Afghanistan 1957  9.240934
## 3 Afghanistan 1962 10.267083
## 4 Afghanistan 1967 11.537966
## 5 Afghanistan 1972 13.079460
wide <- gapminder_sub %>% spread(key = year,value = pop)
wide
##                     country       1952       1957       1962       1967
## 1               Afghanistan   8.425333   9.240934  10.267083  11.537966
## 2                   Albania   1.282697   1.476505   1.728137   1.984060
## 3                   Algeria   9.279525  10.270856  11.000948  12.760499
## 4                    Angola   4.232095   4.561361   4.826015   5.247469
## 5                 Argentina  17.876956  19.610538  21.283783  22.934225
## 6                 Australia   8.691212   9.712569  10.794968  11.872264
## 7                   Austria   6.927772   6.965860   7.129864   7.376998
## 8                   Bahrain   0.120447   0.138655   0.171863   0.202182
## 9                Bangladesh  46.886859  51.365468  56.839289  62.821884
## 10                  Belgium   8.730405   8.989111   9.218400   9.556500
## 11                    Benin   1.738315   1.925173   2.151895   2.427334
## 12                  Bolivia   2.883315   3.211738   3.593918   4.040665
## 13   Bosnia and Herzegovina   2.791000   3.076000   3.349000   3.585000
## 14                 Botswana   0.442308   0.474639   0.512764   0.553541
## 15                   Brazil  56.602560  65.551171  76.039390  88.049823
## 16                 Bulgaria   7.274900   7.651254   8.012946   8.310226
## 17             Burkina Faso   4.469979   4.713416   4.919632   5.127935
## 18                  Burundi   2.445618   2.667518   2.961915   3.330989
## 19                 Cambodia   4.693836   5.322536   6.083619   6.960067
## 20                 Cameroon   5.009067   5.359923   5.793633   6.335506
## 21                   Canada  14.785584  17.010154  18.985849  20.819767
## 22 Central African Republic   1.291695   1.392284   1.523478   1.733638
## 23                     Chad   2.682462   2.894855   3.150417   3.495967
## 24                    Chile   6.377619   7.048426   7.961258   8.858908
## 25                    China 556.263527 637.408000 665.770000 754.550000
## 26                 Colombia  12.350771  14.485993  17.009885  19.764027
## 27                  Comoros   0.153936   0.170928   0.191689   0.217378
## 28         Congo, Dem. Rep.  14.100005  15.577932  17.486434  19.941073
## 29              Congo, Rep.   0.854885   0.940458   1.047924   1.179760
## 30               Costa Rica   0.926317   1.112300   1.345187   1.588717
## 31            Cote d'Ivoire   2.977019   3.300000   3.832408   4.744870
## 32                  Croatia   3.882229   3.991242   4.076557   4.174366
## 33                     Cuba   6.007797   6.640752   7.254373   8.139332
## 34           Czech Republic   9.125183   9.513758   9.620282   9.835109
## 35                  Denmark   4.334000   4.487831   4.646899   4.838800
## 36                 Djibouti   0.063149   0.071851   0.089898   0.127617
## 37       Dominican Republic   2.491346   2.923186   3.453434   4.049146
## 38                  Ecuador   3.548753   4.058385   4.681707   5.432424
## 39                    Egypt  22.223309  25.009741  28.173309  31.681188
## 40              El Salvador   2.042865   2.355805   2.747687   3.232927
## 41        Equatorial Guinea   0.216964   0.232922   0.249220   0.259864
## 42                  Eritrea   1.438760   1.542611   1.666618   1.820319
## 43                 Ethiopia  20.860941  22.815614  25.145372  27.860297
## 44                  Finland   4.090500   4.324000   4.491443   4.605744
## 45                   France  42.459667  44.310863  47.124000  49.569000
## 46                    Gabon   0.420702   0.434904   0.455661   0.489004
## 47                   Gambia   0.284320   0.323150   0.374020   0.439593
## 48                  Germany  69.145952  71.019069  73.739117  76.368453
## 49                    Ghana   5.581001   6.391288   7.355248   8.490213
## 50                   Greece   7.733250   8.096218   8.448233   8.716441
## 51                Guatemala   3.146381   3.640876   4.208858   4.690773
## 52                   Guinea   2.664249   2.876726   3.140003   3.451418
## 53            Guinea-Bissau   0.580653   0.601095   0.627820   0.601287
## 54                    Haiti   3.201488   3.507701   3.880130   4.318137
## 55                 Honduras   1.517453   1.770390   2.090162   2.500689
## 56         Hong Kong, China   2.125900   2.736300   3.305200   3.722800
## 57                  Hungary   9.504000   9.839000  10.063000  10.223422
## 58                  Iceland   0.147962   0.165110   0.182053   0.198676
## 59                    India 372.000000 409.000000 454.000000 506.000000
## 60                Indonesia  82.052000  90.124000  99.028000 109.343000
## 61                     Iran  17.272000  19.792000  22.874000  26.538000
## 62                     Iraq   5.441766   6.248643   7.240260   8.519282
## 63                  Ireland   2.952156   2.878220   2.830000   2.900100
## 64                   Israel   1.620914   1.944401   2.310904   2.693585
## 65                    Italy  47.666000  49.182000  50.843200  52.667100
## 66                  Jamaica   1.426095   1.535090   1.665128   1.861096
## 67                    Japan  86.459025  91.563009  95.831757 100.825279
## 68                   Jordan   0.607914   0.746559   0.933559   1.255058
## 69                    Kenya   6.464046   7.454779   8.678557  10.191512
## 70         Korea, Dem. Rep.   8.865488   9.411381  10.917494  12.617009
## 71              Korea, Rep.  20.947571  22.611552  26.420307  30.131000
## 72                   Kuwait   0.160000   0.212846   0.358266   0.575003
## 73                  Lebanon   1.439529   1.647412   1.886848   2.186894
## 74                  Lesotho   0.748747   0.813338   0.893143   0.996380
## 75                  Liberia   0.863308   0.975950   1.112796   1.279406
## 76                    Libya   1.019729   1.201578   1.441863   1.759224
##          1972       1977        1982        1987        1992        1997
## 1   13.079460  14.880372   12.881816   13.867957   16.317921   22.227415
## 2    2.263554   2.509048    2.780097    3.075321    3.326498    3.428038
## 3   14.760787  17.152804   20.033753   23.254956   26.298373   29.072015
## 4    5.894858   6.162675    7.016384    7.874230    8.735988    9.875024
## 5   24.779799  26.983828   29.341374   31.620918   33.958947   36.203463
## 6   13.177000  14.074100   15.184200   16.257249   17.481977   18.565243
## 7    7.544201   7.568430    7.574613    7.578903    7.914969    8.069876
## 8    0.230800   0.297410    0.377967    0.454612    0.529491    0.598561
## 9   70.759295  80.428306   93.074406  103.764241  113.704579  123.315288
## 10   9.709100   9.821800    9.856303    9.870200   10.045622   10.199787
## 11   2.761407   3.168267    3.641603    4.243788    4.981671    6.066080
## 12   4.565872   5.079716    5.642224    6.156369    6.893451    7.693188
## 13   3.819000   4.086000    4.172693    4.338977    4.256013    3.607000
## 14   0.619351   0.781472    0.970347    1.151184    1.342614    1.536536
## 15 100.840058 114.313951  128.962939  142.938076  155.975974  168.546719
## 16   8.576200   8.797022    8.892098    8.971958    8.658506    8.066057
## 17   5.433886   5.889574    6.634596    7.586551    8.878303   10.352843
## 18   3.529983   3.834415    4.580410    5.126023    5.809236    6.121610
## 19   7.450606   6.978607    7.272485    8.371791   10.150094   11.782962
## 20   7.021028   7.959865    9.250831   10.780667   12.467171   14.195809
## 21  22.284500  23.796400   25.201900   26.549700   28.523502   30.305843
## 22   1.927260   2.167533    2.476971    2.840009    3.265124    3.696513
## 23   3.899068   4.388260    4.875118    5.498955    6.429417    7.562011
## 24   9.717524  10.599793   11.487112   12.463354   13.572994   14.599929
## 25 862.030000 943.455000 1000.281000 1084.035000 1164.970000 1230.075000
## 26  22.542890  25.094412   27.764644   30.964245   34.202721   37.657830
## 27   0.250027   0.304739    0.348643    0.395114    0.454429    0.527982
## 28  23.007669  26.480870   30.646495   35.481645   41.672143   47.798986
## 29   1.340458   1.536769    1.774735    2.064095    2.409073    2.800947
## 30   1.834796   2.108457    2.424367    2.799811    3.173216    3.518107
## 31   6.071696   7.459574    9.025951   10.761098   12.772596   14.625967
## 32   4.225310   4.318673    4.413368    4.484310    4.494013    4.444595
## 33   8.831348   9.537988    9.789224   10.239839   10.723260   10.983007
## 34   9.862158  10.161915   10.303704   10.311597   10.315702   10.300707
## 35   4.991596   5.088419    5.117810    5.127024    5.171393    5.283663
## 36   0.178848   0.228694    0.305991    0.311025    0.384156    0.417908
## 37   4.671329   5.302800    5.968349    6.655297    7.351181    7.992357
## 38   6.298651   7.278866    8.365850    9.545158   10.748394   11.911819
## 39  34.807417  38.783863   45.681811   52.799062   59.402198   66.134291
## 40   3.790903   4.282586    4.474873    4.842194    5.274649    5.783439
## 41   0.277603   0.192675    0.285483    0.341244    0.387838    0.439971
## 42   2.260187   2.512642    2.637297    2.915959    3.668440    4.058319
## 43  30.770372  34.617799   38.111756   42.999530   52.088559   59.861301
## 44   4.639657   4.738902    4.826933    4.931729    5.041039    5.134406
## 45  51.732000  53.165019   54.433565   55.630100   57.374179   58.623428
## 46   0.537977   0.706367    0.753874    0.880397    0.985739    1.126189
## 47   0.517101   0.608274    0.715523    0.848406    1.025384    1.235767
## 48  78.717088  78.160773   78.335266   77.718298   80.597764   82.011073
## 49   9.354120  10.538093   11.400338   14.168101   16.278738   18.418288
## 50   8.888628   9.308479    9.786480    9.974490   10.325429   10.502372
## 51   5.149581   5.703430    6.395630    7.326406    8.486949    9.803875
## 52   3.811387   4.227026    4.710497    5.650262    6.990574    8.048834
## 53   0.625361   0.745228    0.825987    0.927524    1.050938    1.193708
## 54   4.698301   4.908554    5.198399    5.756203    6.326682    6.913545
## 55   2.965146   3.055235    3.669448    4.372203    5.077347    5.867957
## 56   4.115700   4.583700    5.264500    5.584510    5.829696    6.495918
## 57  10.394091  10.637171   10.705535   10.612740   10.348684   10.244684
## 58   0.209275   0.221823    0.233997    0.244676    0.259012    0.271192
## 59 567.000000 634.000000  708.000000  788.000000  872.000000  959.000000
## 60 121.282000 136.725000  153.343000  169.276000  184.816000  199.278000
## 61  30.614000  35.480679   43.072751   51.889696   60.397973   63.327987
## 62  10.061506  11.882916   14.173318   16.543189   17.861905   20.775703
## 63   3.024400   3.271900    3.480000    3.539900    3.557761    3.667233
## 64   3.095893   3.495918    3.858421    4.203148    4.936550    5.531387
## 65  54.365564  56.059245   56.535636   56.729703   56.840847   57.479469
## 66   1.997616   2.156814    2.298309    2.326606    2.378618    2.531311
## 67 107.188273 113.872473  118.454974  122.091325  124.329269  125.956499
## 68   1.613551   1.937652    2.347031    2.820042    3.867409    4.526235
## 69  12.044785  14.500404   17.661452   21.198082   25.020539   28.263827
## 70  14.781241  16.325320   17.647518   19.067554   20.711375   21.585105
## 71  33.505000  36.436000   39.326000   41.622000   43.805450   46.173816
## 72   0.841934   1.140357    1.497494    1.891487    1.418095    1.765345
## 73   2.680018   3.115787    3.086876    3.089353    3.219994    3.430388
## 74   1.116779   1.251524    1.411807    1.599200    1.803195    1.982823
## 75   1.482628   1.703617    1.956875    2.269414    1.912974    2.200725
## 76   2.183877   2.721783    3.344074    3.799845    4.364501    4.759670
##           2002        2007
## 1    25.268405   31.889923
## 2     3.508512    3.600523
## 3    31.287142   33.333216
## 4    10.866106   12.420476
## 5    38.331121   40.301927
## 6    19.546792   20.434176
## 7     8.148312    8.199783
## 8     0.656397    0.708573
## 9   135.656790  150.448339
## 10   10.311970   10.392226
## 11    7.026113    8.078314
## 12    8.445134    9.119152
## 13    4.165416    4.552198
## 14    1.630347    1.639131
## 15  179.914212  190.010647
## 16    7.661799    7.322858
## 17   12.251209   14.326203
## 18    7.021078    8.390505
## 19   12.926707   14.131858
## 20   15.929988   17.696293
## 21   31.902268   33.390141
## 22    4.048013    4.369038
## 23    8.835739   10.238807
## 24   15.497046   16.284741
## 25 1280.400000 1318.683096
## 26   41.008227   44.227550
## 27    0.614382    0.710960
## 28   55.379852   64.606759
## 29    3.328795    3.800610
## 30    3.834934    4.133884
## 31   16.252726   18.013409
## 32    4.481020    4.493312
## 33   11.226999   11.416987
## 34   10.256295   10.228744
## 35    5.374693    5.468120
## 36    0.447416    0.496374
## 37    8.650322    9.319622
## 38   12.921234   13.755680
## 39   73.312559   80.264543
## 40    6.353681    6.939688
## 41    0.495627    0.551201
## 42    4.414865    4.906585
## 43   67.946797   76.511887
## 44    5.193039    5.238460
## 45   59.925035   61.083916
## 46    1.299304    1.454867
## 47    1.457766    1.688359
## 48   82.350671   82.400996
## 49   20.550751   22.873338
## 50   10.603863   10.706290
## 51   11.178650   12.572928
## 52    8.807818    9.947814
## 53    1.332459    1.472041
## 54    7.607651    8.502814
## 55    6.677328    7.483763
## 56    6.762476    6.980412
## 57   10.083313    9.956108
## 58    0.288030    0.301931
## 59 1034.172547 1110.396331
## 60  211.060000  223.547000
## 61   66.907826   69.453570
## 62   24.001816   27.499638
## 63    3.879155    4.109086
## 64    6.029529    6.426679
## 65   57.926999   58.147733
## 66    2.664659    2.780132
## 67  127.065841  127.467972
## 68    5.307470    6.053193
## 69   31.386842   35.610177
## 70   22.215365   23.301725
## 71   47.969150   49.044790
## 72    2.111561    2.505559
## 73    3.677780    3.921278
## 74    2.046772    2.012649
## 75    2.814651    3.193942
## 76    5.368585    6.036914
##  [ reached 'max' / getOption("max.print") -- omitted 66 rows ]

¿Qué es lo que hicimos? En el parámetro key hay que asignar la variable que queremos que queremos que deje ser un solo vector y pase a tener una columna por cada categoría que tiene. En este caso, elegimos la variable year, por lo que dicha variable desaparece del dataset y ahora cada categoría es una nueva columna. Luego, el parámetro value toma la variable que irá a cada una de la de las columnas, en este caso elegimos pop. Ahora vemos que la cantidad de columnas es mayor que en el dataset original y las filas son solo 142, que es la cantidad de países que tiene el dataset. Con la función gather podemos recrear el dataset original:

original <- wide %>% gather(key = year,
                            value = "pop",
                            ... = 2:13,
                            convert = TRUE) %>%
  arrange(country, year)

head(original, n = 5) # Muestra las primeras cinco filas
##       country year       pop
## 1 Afghanistan 1952  8.425333
## 2 Afghanistan 1957  9.240934
## 3 Afghanistan 1962 10.267083
## 4 Afghanistan 1967 11.537966
## 5 Afghanistan 1972 13.079460

La función gather() requiere un poco más de atención. A diferencia de spread(), en gather tenemos que 1) definir el nombre de la nueva variable que tendrá como categoría los nombres de otras columnas (parámetro key), 2) el nombre de la variable que tendrá los valores que estaban en variables que ahora se resumirán en la nueva columna y 3) las columnas que quieren colapsarse dentro de la nueva variable en el parámetro . Los primeros dos parámetros no tienen gran complejidad, pero la selección de las variables puede realizarse de varias maneras. En el caso anterior, lo hicimos indicando la posición de las columnas en el Data Frame. En el siguiente código exhibimos tres métodos que logran lo mismo.

original2 <- wide %>% gather(key = year, value = "pop", ... = -country, convert = TRUE) %>%
  arrange(country, year)  # Todas las columnas menos country
original3 <- wide %>% gather(key = year, value = "pop", ... = -1, convert = TRUE) %>%
  arrange(country, year) # Todas las columnas menos la primera
original4 <- wide %>% gather(key = year, value = "pop",
                             ... = `1952`,`1957`,`1962`,`1967`,`1972`,`1977`, `1982`,
                             `1987`,`1992`,`1997`,`2002`,`2007`,
                            convert = TRUE) %>%
  arrange(country, year) # Todas las columnas con esos nombres
# Esta línea nos devuelve TRUE si los 5 objetos sin iguales entre sí o FALSE si hay
# al menos uno que no lo es
all(sapply(list(original, original2, original3, original4),
           function(x) identical(x, gapminder_sub)))
## [1] TRUE

Finalmente, hay un cuarto parámetro cuyo uso no discutimos: convert. Por default tiene valor FALSE y asume que los nombres de las columnas deben colapsarse como textos. En nuestro caso, los nombres de las variables hacían referencia a años, que deben ser convertidos a números en la nueva columna. Eso es exactamente lo que hace convert = TRUE

2.5 Uniendo datos de distintas fuentes: left_join

Otra de las transformaciones más comunes que hacemos sobre los datos es agregar nueva información en base a una (o más) columnas en las que coinciden. Por ejemplo, sabiendo que un dato corresponde a Argentina, podríamos agregar variables específicas para ese país sobre otra dimensión, como podría ser la tasa de mortalidad infantil. Haremos exactamente esto, con la ayuda de otro dataset:

mortalidadInfantil <- read.table(file="https://raw.githubusercontent.com/martintinch0/CienciaDeDatosParaCuriosos/master/data/MortalidadInfantilLong.csv",
                              sep = ",",
                              header = TRUE,
                              stringsAsFactors = FALSE)
gapminder_argentina1952 <- gapminder_argentina %>% filter(year==1952)
mortalidadInfantilArgentina1952 <- mortalidadInfantil %>% filter(Year==1952 & country=="Argentina")
gapminder_argentina1952 <- left_join(gapminder_argentina1952,
                                     mortalidadInfantilArgentina1952,
                                     by="country")
gapminder_argentina1952
##     country continent year lifeExp      pop gdpPercap Year Mortalidad
## 1 Argentina  Americas 1952  62.485 17876956  5911.315 1952       88.8

La función clave es left_join(). Lo que hace es tomar dos data frames y los une por una o más variables que tienen en común, que en este caso es la variable country. Por cada fila del primer dataset que le pasamos, busca el valor que corresponde en la variable que tiene een comun en el segundo data frame que le pasamos, y agrega como columna la información que existe en el segundo data frame. De esta manera, agregamos la mortalidad infantil para Argentina en 1952, que es de 88.8 cada 1000 niños de entre 0 y 5 años.

En rigor, con este dataset podemos agregar más que la información de la mortalidad infantil para Argentina en 1952, sino que lo podemos hacer para todas las observaciones de la siguiente manera:

gapminder_full <- left_join(gapminder_df,
                            mortalidadInfantil,
                            by=c("country","year"="Year"))
gapminder_full
##         country continent year lifeExp       pop  gdpPercap Mortalidad
## 1   Afghanistan      Asia 1952  28.801   8425333   779.4453      414.0
## 2   Afghanistan      Asia 1957  30.332   9240934   820.8530      381.0
## 3   Afghanistan      Asia 1962  31.997  10267083   853.1007      352.0
## 4   Afghanistan      Asia 1967  34.020  11537966   836.1971      323.0
## 5   Afghanistan      Asia 1972  36.088  13079460   739.9811      295.0
## 6   Afghanistan      Asia 1977  38.438  14880372   786.1134      264.0
## 7   Afghanistan      Asia 1982  39.854  12881816   978.0114      232.0
## 8   Afghanistan      Asia 1987  40.822  13867957   852.3959      197.0
## 9   Afghanistan      Asia 1992  41.674  16317921   649.3414      165.0
## 10  Afghanistan      Asia 1997  41.763  22227415   635.3414      141.0
## 11  Afghanistan      Asia 2002  42.129  25268405   726.7341      122.0
## 12  Afghanistan      Asia 2007  43.828  31889923   974.5803      102.0
## 13      Albania    Europe 1952  55.230   1282697  1601.0561      258.0
## 14      Albania    Europe 1957  59.280   1476505  1942.2842      211.0
## 15      Albania    Europe 1962  64.820   1728137  2312.8890      173.0
## 16      Albania    Europe 1967  66.220   1984060  2760.1969      142.0
## 17      Albania    Europe 1972  67.690   2263554  3313.4222      116.0
## 18      Albania    Europe 1977  68.930   2509048  3533.0039       94.8
## 19      Albania    Europe 1982  70.420   2780097  3630.8807       66.8
## 20      Albania    Europe 1987  72.000   3075321  3738.9327       46.7
## 21      Albania    Europe 1992  71.581   3326498  2497.4379       36.9
## 22      Albania    Europe 1997  72.950   3428038  3193.0546       30.1
## 23      Albania    Europe 2002  75.651   3508512  4604.2117       23.5
## 24      Albania    Europe 2007  76.423   3600523  5937.0295       18.6
## 25      Algeria    Africa 1952  43.077   9279525  2449.0082      258.0
## 26      Algeria    Africa 1957  45.685  10270856  3013.9760      247.0
## 27      Algeria    Africa 1962  48.303  11000948  2550.8169      245.0
## 28      Algeria    Africa 1967  51.407  12760499  3246.9918      248.0
## 29      Algeria    Africa 1972  54.518  14760787  4182.6638      229.0
## 30      Algeria    Africa 1977  58.014  17152804  4910.4168      184.0
## 31      Algeria    Africa 1982  61.368  20033753  5745.1602      117.0
## 32      Algeria    Africa 1987  65.799  23254956  5681.3585       57.9
## 33      Algeria    Africa 1992  67.744  26298373  5023.2166       46.5
## 34      Algeria    Africa 1997  69.152  29072015  4797.2951       41.5
## 35      Algeria    Africa 2002  70.994  31287142  5288.0404       37.8
## 36      Algeria    Africa 2007  72.301  33333216  6223.3675       30.7
## 37       Angola    Africa 1952  30.015   4232095  3520.6103      326.0
## 38       Angola    Africa 1957  31.999   4561361  3827.9405      314.0
## 39       Angola    Africa 1962  34.000   4826015  4269.2767      299.0
## 40       Angola    Africa 1967  35.985   5247469  5522.7764      280.0
## 41       Angola    Africa 1972  37.928   5894858  5473.2880      260.0
## 42       Angola    Africa 1977  39.483   6162675  3008.6474      243.0
## 43       Angola    Africa 1982  39.942   7016384  2756.9537      231.0
## 44       Angola    Africa 1987  39.906   7874230  2430.2083      222.0
## 45       Angola    Africa 1992  40.647   8735988  2627.8457      223.0
## 46       Angola    Africa 1997  40.963   9875024  2277.1409      220.0
## 47       Angola    Africa 2002  41.003  10866106  2773.2873      194.0
## 48       Angola    Africa 2007  42.731  12420476  4797.2313      148.0
## 49    Argentina  Americas 1952  62.485  17876956  5911.3151       88.8
## 50    Argentina  Americas 1957  64.399  19610538  6856.8562       93.6
## 51    Argentina  Americas 1962  65.142  21283783  7133.1660       64.9
## 52    Argentina  Americas 1967  65.634  22934225  8052.9530       58.6
## 53    Argentina  Americas 1972  67.065  24779799  9443.0385       70.2
## 54    Argentina  Americas 1977  68.481  26983828 10079.0267       56.1
## 55    Argentina  Americas 1982  69.942  29341374  8997.8974       37.2
## 56    Argentina  Americas 1987  70.774  31620918  9139.6714       29.4
## 57    Argentina  Americas 1992  71.868  33958947  9308.4187       27.6
## 58    Argentina  Americas 1997  73.275  36203463 10967.2820       22.1
## 59    Argentina  Americas 2002  74.340  38331121  8797.6407       18.1
## 60    Argentina  Americas 2007  75.320  40301927 12779.3796       15.8
## 61    Australia   Oceania 1952  69.120   8691212 10039.5956       30.3
## 62    Australia   Oceania 1957  70.330   9712569 10949.6496       26.6
## 63    Australia   Oceania 1962  70.930  10794968 12217.2269       23.7
## 64    Australia   Oceania 1967  71.100  11872264 14526.1246       22.0
## 65    Australia   Oceania 1972  71.930  13177000 16788.6295       20.3
## 66    Australia   Oceania 1977  73.490  14074100 18334.1975       15.2
## 67    Australia   Oceania 1982  74.740  15184200 19477.0093       12.2
## 68    Australia   Oceania 1987  76.320  16257249 21888.8890       10.6
## 69    Australia   Oceania 1992  77.560  17481977 23424.7668        8.2
## 70    Australia   Oceania 1997  78.830  18565243 26997.9366        6.6
## 71    Australia   Oceania 2002  80.370  19546792 30687.7547        6.0
## 72    Australia   Oceania 2007  81.235  20434176 34435.3674        5.4
## 73      Austria    Europe 1952  66.800   6927772  6137.0765       59.8
## 74      Austria    Europe 1957  67.480   6965860  8842.5980       49.9
## 75      Austria    Europe 1962  69.540   7129864 10750.7211       37.9
## 76      Austria    Europe 1967  70.140   7376998 12834.6024       30.5
## 77      Austria    Europe 1972  70.630   7544201 16661.6256       28.0
## 78      Austria    Europe 1977  72.170   7568430 19749.4223       19.4
## 79      Austria    Europe 1982  73.180   7574613 21597.0836       14.8
## 80      Austria    Europe 1987  74.940   7578903 23687.8261       11.2
## 81      Austria    Europe 1992  76.040   7914969 27042.0187        8.5
## 82      Austria    Europe 1997  77.510   8069876 29095.9207        6.0
## 83      Austria    Europe 2002  78.980   8148312 32417.6077        5.3
## 84      Austria    Europe 2007  79.829   8199783 36126.4927        4.6
## 85      Bahrain      Asia 1952  50.939    120447  9867.0848      311.0
## 86      Bahrain      Asia 1957  53.832    138655 11635.7995      257.0
## 87      Bahrain      Asia 1962  56.923    171863 12753.2751      167.0
## 88      Bahrain      Asia 1967  59.923    202182 14804.6727      104.0
## 89      Bahrain      Asia 1972  63.300    230800 18268.6584       62.8
## 90      Bahrain      Asia 1977  65.593    297410 19340.1020       40.3
## 91      Bahrain      Asia 1982  69.052    377967 19211.1473       28.7
## 92      Bahrain      Asia 1987  70.750    454612 18524.0241       23.6
## 93      Bahrain      Asia 1992  72.601    529491 19035.5792       22.0
## 94      Bahrain      Asia 1997  73.925    598561 20292.0168       15.2
## 95      Bahrain      Asia 2002  74.795    656397 23403.5593       11.6
## 96      Bahrain      Asia 2007  75.635    708573 29796.0483        9.8
## 97   Bangladesh      Asia 1952  37.484  46886859   684.2442      329.0
## 98   Bangladesh      Asia 1957  39.348  51365468   661.6375      284.0
## 99   Bangladesh      Asia 1962  41.216  56839289   686.3416      250.0
## 100  Bangladesh      Asia 1967  43.453  62821884   721.1861      228.0
## 101  Bangladesh      Asia 1972  45.252  70759295   630.2336      245.0
## 102  Bangladesh      Asia 1977  46.923  80428306   659.8772      211.0
## 103  Bangladesh      Asia 1982  50.009  93074406   676.9819      189.0
## 104  Bangladesh      Asia 1987  52.819 103764241   751.9794      162.0
## 105  Bangladesh      Asia 1992  56.018 113704579   837.8102      132.0
## 106  Bangladesh      Asia 1997  59.412 123315288   972.7700      103.0
## 107  Bangladesh      Asia 2002  62.013 135656790  1136.3904       78.4
## 108  Bangladesh      Asia 2007  64.062 150448339  1391.2538       59.3
## 109     Belgium    Europe 1952  68.000   8730405  8343.1051       53.9
## 110     Belgium    Europe 1957  69.240   8989111  9714.9606       40.1
## 111     Belgium    Europe 1962  70.250   9218400 10991.2068       31.2
## 112     Belgium    Europe 1967  70.940   9556500 13149.0412       26.2
## 113     Belgium    Europe 1972  71.440   9709100 16672.1436       21.9
## 114     Belgium    Europe 1977  72.800   9821800 19117.9745       16.7
## 115     Belgium    Europe 1982  73.930   9856303 20979.8459       13.3
## 116     Belgium    Europe 1987  75.350   9870200 22525.5631       11.0
## 117     Belgium    Europe 1992  76.460  10045622 25575.5707        9.2
## 118     Belgium    Europe 1997  77.530  10199787 27561.1966        6.7
## 119     Belgium    Europe 2002  78.320  10311970 30485.8838        5.5
## 120     Belgium    Europe 2007  79.441  10392226 33692.6051        4.8
## 121       Benin    Africa 1952  38.223   1738315  1062.7522      343.0
## 122       Benin    Africa 1957  40.358   1925173   959.6011      330.0
## 123       Benin    Africa 1962  42.618   2151895   949.4991      308.0
## 124       Benin    Africa 1967  44.885   2427334  1035.8314      277.0
## 125       Benin    Africa 1972  47.014   2761407  1085.7969      258.0
## 126       Benin    Africa 1977  49.190   3168267  1029.1613      229.0
## 127       Benin    Africa 1982  50.904   3641603  1277.8976      208.0
## 128       Benin    Africa 1987  52.337   4243788  1225.8560      191.0
## 129       Benin    Africa 1992  53.919   4981671  1191.2077      169.0
## 130       Benin    Africa 1997  54.777   6066080  1232.9753      153.0
## 131       Benin    Africa 2002  54.406   7026113  1372.8779      137.0
## 132       Benin    Africa 2007  56.728   8078314  1441.2849      118.0
## 133     Bolivia  Americas 1952  40.414   2883315  2677.3263      317.0
## 134     Bolivia  Americas 1957  41.890   3211738  2127.6863      301.0
## 135     Bolivia  Americas 1962  43.428   3593918  2180.9725      278.0
## 136     Bolivia  Americas 1967  45.032   4040665  2586.8861      248.0
## 137     Bolivia  Americas 1972  46.714   4565872  2980.3313      218.0
## 138     Bolivia  Americas 1977  50.023   5079716  3548.0978      186.0
## 139     Bolivia  Americas 1982  53.859   5642224  3156.5105      161.0
## 140     Bolivia  Americas 1987  57.251   6156369  2753.6915      138.0
## 141     Bolivia  Americas 1992  59.957   6893451  2961.6997      115.0
## 142     Bolivia  Americas 1997  62.050   7693188  3326.1432       92.6
##  [ reached 'max' / getOption("max.print") -- omitted 1562 rows ]

Si prestaron atención, hicimos dos cosas distintas esta vez: elegimos dos variables para hacer el join: country e year ¿Por qué? Porque de esa manera podemos completar la información sobre la mortalidad infantil para cada combinación de país y año. Pero por otro lado, al nombre de la segunda columna le aclaramos que “year” en el primer data frame en realidad se llama “Year” en el segundo. Prueben que pasa si solo dejan “year” en esa segunda parte.

2.6 La mise en place: preparando el dataset de inmuebles

A esta altura vimos una gran cantidad de comandos para transformar datos con un interesante dataset como es gapminder. Sin embargo, probablemente hayan sido demasiados para procesarlos de una sola vez. Lo que vamos a hacer ahora es aplicarlo en nuestro objetivo inicial: transformar los datasetas tal como se descargan desde Properati hasta el dataset que trabajamos en el capítulo anterior. Vamos a usar varios de los comandos que ya vimos.

Vamos a trabajar con una versión levemente modificada de los datos descargados de Properati porque vamos a procesar una muestra estratificada por barrio y año. Esto quiere decir que tomamos aleatoriamente 30 observaciones (siempre que las hayan) de cada combinación barrio y año. Esto lo hacemos para reducir la cantidad de filas, que eran más de 400mil en el dataset original y logramos reducirlas sensiblemente, sin perder generalidad en nuestra explicación.

barriosOriginal <- read.table(file="https://github.com/datalab-UTDT/datasets/raw/master/barriosSample.csv",
                              sep = ";",
                              header = TRUE,
                              stringsAsFactors = FALSE)
dim(barriosOriginal) # Número de filas y de columnas
## [1] 4780   31
colnames(barriosOriginal) # Nombres de las columnas
##  [1] "BARRIOS"                    "COMUNA"                    
##  [3] "NUM_DE_BAR"                 "created_on"                
##  [5] "operation"                  "property_type"             
##  [7] "place_name"                 "place_with_parent_names"   
##  [9] "geonames_id"                "lat.lon"                   
## [11] "price"                      "currency"                  
## [13] "price_aprox_local_currency" "price_aprox_usd"           
## [15] "surface_in_m2"              "price_usd_per_m2"          
## [17] "floor"                      "rooms"                     
## [19] "expenses"                   "properati_url"             
## [21] "image_thumbnail"            "description"               
## [23] "title"                      "extra"                     
## [25] "surface_total_in_m2"        "surface_covered_in_m2"     
## [27] "price_per_m2"               "id"                        
## [29] "country_name"               "state_name"                
## [31] "year"

Recuerden que el dataset con el que trabajamos en el capítulo anterior tenia tan solo 6 variables, que contenían 1) los nombres de los barrios y 2) el valor de los precios en dólares para cada año (2013-2017).

Para empezar, vamos a quedarnos solo con las variables que son relevantes: barrios, precios en dolares y años

barriosOriginal <- barriosOriginal %>% select(BARRIOS, price_usd_per_m2, year)
str(barriosOriginal)
## 'data.frame':    4780 obs. of  3 variables:
##  $ BARRIOS         : chr  "AGRONOMIA" "AGRONOMIA" "AGRONOMIA" "AGRONOMIA" ...
##  $ price_usd_per_m2: num  1304 1642 1333 2800 1467 ...
##  $ year            : int  2013 2013 2013 2013 2013 2013 2013 2013 2013 2013 ...

Ahora, necesitamos calcular el precio PROMEDIO por barrio y año. Por suerte, ya conocemos las funciones group_by() y summarise(). Es todo lo que necesitamos para esta transformación:

barriosOriginal <- barriosOriginal %>%
                   group_by(BARRIOS, year) %>%
                   summarise(precioPromedio = mean(price_usd_per_m2))

Ya estamos bastante cerca de nuestro objetivo: contamos con un Data Frame donde se registra el precio promedio en USD del metro cuadrado de los inmuebles por barrio para el período 2013-2017. La diferencia con el dataset de la clase pasada es que este se presenta en formato largo y el anterior en formato ancho. La función spread, que ya vimos anteriormente, va a hacer lo que necesitamos

barriosOriginal <- barriosOriginal %>% spread(key = year, value = precioPromedio)
head(barriosOriginal, n = 3)
## # A tibble: 3 x 6
## # Groups:   BARRIOS [3]
##   BARRIOS   `2013` `2014` `2015` `2016` `2017`
##   <chr>      <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1 AGRONOMIA  1682.  1254.  1588.  2051.  1781.
## 2 ALMAGRO    2024.  1922.  1989.  1891.  2270.
## 3 BALVANERA  1857.  1791.  1908.  1642.  1668.

Ya casi estamos ! Lo único que nos falta es cambiar el nombre de las columnas. Para eso vamos a utilizar la función paste():

colnames(barriosOriginal)[2:6] <- paste('USDm2_',colnames(barriosOriginal)[2:6], sep="")
head(barriosOriginal, n =3)
## # A tibble: 3 x 6
## # Groups:   BARRIOS [3]
##   BARRIOS   USDm2_2013 USDm2_2014 USDm2_2015 USDm2_2016 USDm2_2017
##   <chr>          <dbl>      <dbl>      <dbl>      <dbl>      <dbl>
## 1 AGRONOMIA      1682.      1254.      1588.      2051.      1781.
## 2 ALMAGRO        2024.      1922.      1989.      1891.      2270.
## 3 BALVANERA      1857.      1791.      1908.      1642.      1668.

Lo que hace esta función es tomar vectores y concatenarlos entre sí. En este caso le pasamos dos vectores: uno de tipo character con un solo elemento (“USDm2_”) y otro que contiene la posición 2 a 6 del vector character colnames(barriosOriginal), es decir los nombres de las variables 2 a 6 del dataset barriosOriginal. En estos simples pasos ya construimos el dataset con el que trabajamos la clase anterior desde el formato que tenían cuando se descargaron desde el portal de datos.

2.7 Ejercicios

Vuelvan a cargar el data frame de gapminder y respondan las siguientes preguntas:

  1. ¿Cuál es la observación con mayor expectativa al necer de todo el dataset? ¿A qué país corresponde y en qué año?
  2. ¿Cuál es la expectativa de vida a nacer promedio por continente en 1952? ¿Y en 2007?
  3. ¿Cuánto aumento la expectativa de vida al nacer por continente entre 2007 y 1952?
  4. ¿Cuál fue el país, por continente, que más aumentó su expectativa de vida al nacer en términos absolutos?
  5. Entre 1952 y 2007 ¿Cuál fue el país que más aumento su PIB per cápita? ¿Y por continente?
  6. ¿Cuánto aumento el PIB per cápita de Argentina entre 1952 y2007? ¿Y entre 1977 y 2002?

  1. Este video resume en unos pocos minutos gran parte de lo que vamos a ver acá y es recomendable