Capítulo 5 Comprobar presencia o ausencia de un registros en un data frame con información adicional

5.1 Planteamiento

  • Dado un data frame de referencia con un listado de registros identificados por un código único.
  • Dado otros data frames con información adicional de todos o algunos de los registros inluidos en el data frame de referencia identificados con el mísmo código único.
  • Interesa incluir en el data frame de referencia, información sobre que elementos de este data frame de referencia tienen información adicional y cuales no.

5.2 Datos de partida

Se dispone de los siguientes data frames:

  • dfFus: Data frame de referencia con el lisado completo de los registros
  • dfLx: Data frame con información adicional de un determinado grupo de registros.
  • dfNy: Data frame con información adicional de un grupo de otro grupo de registros.

Características:

  • Todos los registros incluidos en dfLx y todos los registros incluidos en dfNy, están incluidos en dfFus
  • Hay registros de dfFus que no están ni en dfLx ni en dfNy
  • Hay registros que están incluidos en dfLx y en dfNy
  • Hay registros que estań en dfLx o en dfNy pero no en ambos

5.3 Información adicional en dfLx

Los códigos de los registros que tienen información adicional en dfLx están identificados en dfLx$IdL.

Se genera el vector con estos valores: VInL = dfLx$Idl

En el data frame de referencia dfFus, se añade una nueva columna:

  • Se le asigna el nombre test L = TeL
  • El valor es de tipo TRUE/FALSE, con el siguiente criterio
    • Si el registro está incluido en VInL –> TRUE
    • Si el registro NO está incluido en VInL –> FALSE

Código:

  • dfFus$TeL = FALSE: Se genera la nueva columna y se le asigna FALSE como valor por defecto - dfFus$TeL[dfFus$IdL %in% VInL] = TRUE: Se utiliza el operador %in% asignar el valor TRUE a dfFus\(TeL cuando identificador dfFus\)IdL está incluido en el vector VInL
dfFus$TeL = FALSE
dfFus$TeL[dfFus$IdL %in% VInL] = TRUE
##     IdL        Ltr Nmr   TeL
## 1     1  Alcachofa   1 FALSE
## 2     2   Coliflor   1  TRUE
## 3     3   Adelante   1 FALSE
## 4     4 Agricultor   1  TRUE
## 5     5  Alcachofa   2 FALSE
## 6     6   Coliflor   2  TRUE
## 7     7   Adelante   2 FALSE
## 8     8 Agricultor   2  TRUE
## 9     9  Alcachofa   3 FALSE
## 10   10   Coliflor   3  TRUE
## 11   11   Adelante   3 FALSE
## 12   12 Agricultor   3  TRUE
## 13   13  Alcachofa   4 FALSE
## 14   14   Coliflor   4  TRUE
## 15   15   Adelante   4 FALSE
## 16   16 Agricultor   4  TRUE
## 17   17  Alcachofa   5 FALSE
## 18   18   Coliflor   5  TRUE
## 19   19   Adelante   5 FALSE
## 20   20 Agricultor   5  TRUE
## 21   21  Alcachofa   6 FALSE
## 22   22   Coliflor   6  TRUE
## 23   23   Adelante   6 FALSE
## 24   24 Agricultor   6  TRUE
## 25   25  Alcachofa   7 FALSE
## 26   26   Coliflor   7  TRUE
## 27   27   Adelante   7 FALSE
## 28   28 Agricultor   7  TRUE
## 29   29  Alcachofa   8 FALSE
## 30   30   Coliflor   8  TRUE
## 31   31   Adelante   8 FALSE
## 32   32 Agricultor   8  TRUE
## 33   33  Alcachofa   9 FALSE
## 34   34   Coliflor   9  TRUE
## 35   35   Adelante   9 FALSE
## 36   36 Agricultor   9  TRUE
## 37   37  Alcachofa  10 FALSE
## 38   38   Coliflor  10  TRUE
## 39   39   Adelante  10 FALSE
## 40   40 Agricultor  10  TRUE
## 41   41  Alcachofa  11 FALSE
## 42   42   Coliflor  11  TRUE
## 43   43   Adelante  11 FALSE
## 44   44 Agricultor  11  TRUE
## 45   45  Alcachofa  12 FALSE
## 46   46   Coliflor  12  TRUE
## 47   47   Adelante  12 FALSE
## 48   48 Agricultor  12  TRUE
## 49   49  Alcachofa  13 FALSE
## 50   50   Coliflor  13  TRUE
## 51   51   Adelante  13 FALSE
## 52   52 Agricultor  13  TRUE
## 53   53  Alcachofa  14 FALSE
## 54   54   Coliflor  14  TRUE
## 55   55   Adelante  14 FALSE
## 56   56 Agricultor  14  TRUE
## 57   57  Alcachofa  15 FALSE
## 58   58   Coliflor  15  TRUE
## 59   59   Adelante  15 FALSE
## 60   60 Agricultor  15  TRUE
## 61   61  Alcachofa  16 FALSE
## 62   62   Coliflor  16  TRUE
## 63   63   Adelante  16 FALSE
## 64   64 Agricultor  16  TRUE
## 65   65  Alcachofa  17 FALSE
## 66   66   Coliflor  17  TRUE
## 67   67   Adelante  17 FALSE
## 68   68 Agricultor  17  TRUE
## 69   69  Alcachofa  18 FALSE
## 70   70   Coliflor  18  TRUE
## 71   71   Adelante  18 FALSE
## 72   72 Agricultor  18  TRUE
## 73   73  Alcachofa  19 FALSE
## 74   74   Coliflor  19  TRUE
## 75   75   Adelante  19 FALSE
## 76   76 Agricultor  19  TRUE
## 77   77  Alcachofa  20 FALSE
## 78   78   Coliflor  20  TRUE
## 79   79   Adelante  20 FALSE
## 80   80 Agricultor  20  TRUE
## 81   81  Alcachofa  21 FALSE
## 82   82   Coliflor  21  TRUE
## 83   83   Adelante  21 FALSE
## 84   84 Agricultor  21  TRUE
## 85   85  Alcachofa  22 FALSE
## 86   86   Coliflor  22  TRUE
## 87   87   Adelante  22 FALSE
## 88   88 Agricultor  22  TRUE
## 89   89  Alcachofa  23 FALSE
## 90   90   Coliflor  23  TRUE
## 91   91   Adelante  23 FALSE
## 92   92 Agricultor  23  TRUE
## 93   93  Alcachofa  24 FALSE
## 94   94   Coliflor  24  TRUE
## 95   95   Adelante  24 FALSE
## 96   96 Agricultor  24  TRUE
## 97   97  Alcachofa  25 FALSE
## 98   98   Coliflor  25  TRUE
## 99   99   Adelante  25 FALSE
## 100 100 Agricultor  25  TRUE

5.4 Información adicional en dfNy

Los códigos de los registros que tienen información adicional en dfLx están identificados en dfNy$IdN.

Se genera el vector con estos valores: VInN = dfNy$IdN

En el data frame de referencia dfFus, se añade una nueva columna:

  • Se le asigna el nombre test N = TeN
  • El valor es de tipo TRUE/FALSE, con el siguiente criterio
    • Si el registro está incluido en VInN –> TRUE
    • Si el registro NO está incluido en VInN –> FALSE
##     IdL        Ltr Nmr   TeL   TeN
## 1     1  Alcachofa   1 FALSE FALSE
## 2     2   Coliflor   1  TRUE FALSE
## 3     3   Adelante   1 FALSE  TRUE
## 4     4 Agricultor   1  TRUE FALSE
## 5     5  Alcachofa   2 FALSE FALSE
## 6     6   Coliflor   2  TRUE  TRUE
## 7     7   Adelante   2 FALSE FALSE
## 8     8 Agricultor   2  TRUE FALSE
## 9     9  Alcachofa   3 FALSE  TRUE
## 10   10   Coliflor   3  TRUE FALSE
## 11   11   Adelante   3 FALSE FALSE
## 12   12 Agricultor   3  TRUE  TRUE
## 13   13  Alcachofa   4 FALSE FALSE
## 14   14   Coliflor   4  TRUE FALSE
## 15   15   Adelante   4 FALSE  TRUE
## 16   16 Agricultor   4  TRUE FALSE
## 17   17  Alcachofa   5 FALSE FALSE
## 18   18   Coliflor   5  TRUE  TRUE
## 19   19   Adelante   5 FALSE FALSE
## 20   20 Agricultor   5  TRUE FALSE
## 21   21  Alcachofa   6 FALSE  TRUE
## 22   22   Coliflor   6  TRUE FALSE
## 23   23   Adelante   6 FALSE FALSE
## 24   24 Agricultor   6  TRUE  TRUE
## 25   25  Alcachofa   7 FALSE FALSE
## 26   26   Coliflor   7  TRUE FALSE
## 27   27   Adelante   7 FALSE  TRUE
## 28   28 Agricultor   7  TRUE FALSE
## 29   29  Alcachofa   8 FALSE FALSE
## 30   30   Coliflor   8  TRUE  TRUE
## 31   31   Adelante   8 FALSE FALSE
## 32   32 Agricultor   8  TRUE FALSE
## 33   33  Alcachofa   9 FALSE  TRUE
## 34   34   Coliflor   9  TRUE FALSE
## 35   35   Adelante   9 FALSE FALSE
## 36   36 Agricultor   9  TRUE  TRUE
## 37   37  Alcachofa  10 FALSE FALSE
## 38   38   Coliflor  10  TRUE FALSE
## 39   39   Adelante  10 FALSE  TRUE
## 40   40 Agricultor  10  TRUE FALSE
## 41   41  Alcachofa  11 FALSE FALSE
## 42   42   Coliflor  11  TRUE  TRUE
## 43   43   Adelante  11 FALSE FALSE
## 44   44 Agricultor  11  TRUE FALSE
## 45   45  Alcachofa  12 FALSE  TRUE
## 46   46   Coliflor  12  TRUE FALSE
## 47   47   Adelante  12 FALSE FALSE
## 48   48 Agricultor  12  TRUE  TRUE
## 49   49  Alcachofa  13 FALSE FALSE
## 50   50   Coliflor  13  TRUE FALSE
## 51   51   Adelante  13 FALSE  TRUE
## 52   52 Agricultor  13  TRUE FALSE
## 53   53  Alcachofa  14 FALSE FALSE
## 54   54   Coliflor  14  TRUE  TRUE
## 55   55   Adelante  14 FALSE FALSE
## 56   56 Agricultor  14  TRUE FALSE
## 57   57  Alcachofa  15 FALSE  TRUE
## 58   58   Coliflor  15  TRUE FALSE
## 59   59   Adelante  15 FALSE FALSE
## 60   60 Agricultor  15  TRUE  TRUE
## 61   61  Alcachofa  16 FALSE FALSE
## 62   62   Coliflor  16  TRUE FALSE
## 63   63   Adelante  16 FALSE  TRUE
## 64   64 Agricultor  16  TRUE FALSE
## 65   65  Alcachofa  17 FALSE FALSE
## 66   66   Coliflor  17  TRUE  TRUE
## 67   67   Adelante  17 FALSE FALSE
## 68   68 Agricultor  17  TRUE FALSE
## 69   69  Alcachofa  18 FALSE  TRUE
## 70   70   Coliflor  18  TRUE FALSE
## 71   71   Adelante  18 FALSE FALSE
## 72   72 Agricultor  18  TRUE  TRUE
## 73   73  Alcachofa  19 FALSE FALSE
## 74   74   Coliflor  19  TRUE FALSE
## 75   75   Adelante  19 FALSE  TRUE
## 76   76 Agricultor  19  TRUE FALSE
## 77   77  Alcachofa  20 FALSE FALSE
## 78   78   Coliflor  20  TRUE  TRUE
## 79   79   Adelante  20 FALSE FALSE
## 80   80 Agricultor  20  TRUE FALSE
## 81   81  Alcachofa  21 FALSE  TRUE
## 82   82   Coliflor  21  TRUE FALSE
## 83   83   Adelante  21 FALSE FALSE
## 84   84 Agricultor  21  TRUE  TRUE
## 85   85  Alcachofa  22 FALSE FALSE
## 86   86   Coliflor  22  TRUE FALSE
## 87   87   Adelante  22 FALSE  TRUE
## 88   88 Agricultor  22  TRUE FALSE
## 89   89  Alcachofa  23 FALSE FALSE
## 90   90   Coliflor  23  TRUE  TRUE
## 91   91   Adelante  23 FALSE FALSE
## 92   92 Agricultor  23  TRUE FALSE
## 93   93  Alcachofa  24 FALSE  TRUE
## 94   94   Coliflor  24  TRUE FALSE
## 95   95   Adelante  24 FALSE FALSE
## 96   96 Agricultor  24  TRUE  TRUE
## 97   97  Alcachofa  25 FALSE FALSE
## 98   98   Coliflor  25  TRUE FALSE
## 99   99   Adelante  25 FALSE  TRUE
## 100 100 Agricultor  25  TRUE FALSE