tidyverse初认识

1 第一题 编写代码

利用nycflights13包的flights数据集是2013年从纽约三大机场(JFK、LGA、EWR)起飞的所有航班的准点数据,共336776条记录。

  • 计算纽约三大机场2013起飞航班数和平均延误时间(可使用group_by, summarise函数)

    flights |> 
      group_by(origin) |>#不同机场分类
      summarise(n=n(),dly=mean(dep_delay,na.rm=T))#n=航班数
    # A tibble: 3 × 3
      origin      n   dly
      <chr>   <int> <dbl>
    1 EWR    120835  15.1
    2 JFK    111279  12.1
    3 LGA    104662  10.3
  • 计算不同航空公司2013从纽约起飞航班数和平均延误时间

    flights |> 
      group_by(carrier) |>#不同航空公司分类
      summarise(n=n(),dly=mean(dep_delay,na.rm=T)) |> 
      arrange(desc(n))#按按航班数降序排列
    # A tibble: 16 × 3
       carrier     n   dly
       <chr>   <int> <dbl>
     1 UA      58665 12.1 
     2 B6      54635 13.0 
     3 EV      54173 20.0 
     4 DL      48110  9.26
     5 AA      32729  8.59
     6 MQ      26397 10.6 
     7 US      20536  3.78
     8 9E      18460 16.7 
     9 WN      12275 17.7 
    10 VX       5162 12.9 
    11 FL       3260 18.7 
    12 AS        714  5.80
    13 F9        685 20.2 
    14 YV        601 19.0 
    15 HA        342  4.90
    16 OO         32 12.6 
  • 计算纽约三大机场排名前三个目的地和平均飞行距离(可使用group_by, summarise, arrange, slice_max函数)

    flights |> 
      group_by(origin,dest) |>
      summarise(n=n(),dist=mean(distance)) |> 
      slice_max(n,n=3)
    `summarise()` has grouped output by 'origin'. You can override using the
    `.groups` argument.
    # A tibble: 9 × 4
    # Groups:   origin [3]
      origin dest      n  dist
      <chr>  <chr> <int> <dbl>
    1 EWR    ORD    6100   719
    2 EWR    BOS    5327   200
    3 EWR    SFO    5127  2565
    4 JFK    LAX   11262  2475
    5 JFK    SFO    8204  2586
    6 JFK    BOS    5898   187
    7 LGA    ATL   10263   762
    8 LGA    ORD    8857   733
    9 LGA    CLT    6168   544

2 第二题 解释代码

  1. 代码含义:利用tibble函数给iris(鸢尾花)增加数据框,arrange将数据进行排序,Species鸢尾花物种,提取以Sepal开头的列,desc进行降序排序

    tibble(iris) %>% 
      arrange(Species,across(starts_with("Sepal"), desc))
    # A tibble: 150 × 5
       Sepal.Length Sepal.Width Petal.Length Petal.Width Species
              <dbl>       <dbl>        <dbl>       <dbl> <fct>  
     1          5.8         4            1.2         0.2 setosa 
     2          5.7         4.4          1.5         0.4 setosa 
     3          5.7         3.8          1.7         0.3 setosa 
     4          5.5         4.2          1.4         0.2 setosa 
     5          5.5         3.5          1.3         0.2 setosa 
     6          5.4         3.9          1.7         0.4 setosa 
     7          5.4         3.9          1.3         0.4 setosa 
     8          5.4         3.7          1.5         0.2 setosa 
     9          5.4         3.4          1.7         0.2 setosa 
    10          5.4         3.4          1.5         0.4 setosa 
    # ℹ 140 more rows
  2. 代码含义:group_by(gender)按照性别对数据starwars进行分组,利用filter函数筛选出质量大于平均质量的数值,na.rm = TRUE忽略缺失值

    starwars %>% 
      group_by(gender) %>% 
      filter(mass > mean(mass, na.rm = TRUE))
    # A tibble: 15 × 14
    # Groups:   gender [3]
       name    height   mass hair_color skin_color eye_color birth_year sex   gender
       <chr>    <int>  <dbl> <chr>      <chr>      <chr>          <dbl> <chr> <chr> 
     1 Darth …    202  136   none       white      yellow          41.9 male  mascu…
     2 Owen L…    178  120   brown, gr… light      blue            52   male  mascu…
     3 Beru W…    165   75   brown      light      blue            47   fema… femin…
     4 Chewba…    228  112   brown      unknown    blue           200   male  mascu…
     5 Jabba …    175 1358   <NA>       green-tan… orange         600   herm… mascu…
     6 Jek To…    180  110   brown      fair       blue            NA   <NA>  <NA>  
     7 IG-88      200  140   none       metal      red             15   none  mascu…
     8 Bossk      190  113   none       green      red             53   male  mascu…
     9 Ayla S…    178   55   none       blue       hazel           48   fema… femin…
    10 Gregar…    185   85   black      dark       brown           NA   <NA>  <NA>  
    11 Lumina…    170   56.2 black      yellow     blue            58   fema… femin…
    12 Zam We…    168   55   blonde     fair, gre… yellow          NA   fema… femin…
    13 Shaak …    178   57   none       red, blue… black           NA   fema… femin…
    14 Grievo…    216  159   none       brown, wh… green, y…       NA   male  mascu…
    15 Tarfful    234  136   brown      brown      blue            NA   male  mascu…
    # ℹ 5 more variables: homeworld <chr>, species <chr>, films <list>,
    #   vehicles <list>, starships <list>
  3. 代码含义:选择名字、家乡、物种列,使用mutate across函数将name列转化为因子类型

    starwars %>%
      select(name, homeworld, species) %>%
      mutate(across(!name, as.factor))
    # A tibble: 87 × 3
       name               homeworld species
       <chr>              <fct>     <fct>  
     1 Luke Skywalker     Tatooine  Human  
     2 C-3PO              Tatooine  Droid  
     3 R2-D2              Naboo     Droid  
     4 Darth Vader        Tatooine  Human  
     5 Leia Organa        Alderaan  Human  
     6 Owen Lars          Tatooine  Human  
     7 Beru Whitesun Lars Tatooine  Human  
     8 R5-D4              Tatooine  Droid  
     9 Biggs Darklighter  Tatooine  Human  
    10 Obi-Wan Kenobi     Stewjon   Human  
    # ℹ 77 more rows
  4. 代码含义:利用tibble函数给增加mtcars数据框,group_by(vs)按vs(发动机气缸是否为V型)进行分类,mutate函数:修改现有变量,cut函数:分割连续变量,将hp(马力)切割成3组,group_by(hp_cut)按hp_cut进行分组

    tibble(mtcars) %>%
      group_by(vs) %>%
      mutate(hp_cut = cut(hp, 3)) %>%
      group_by(hp_cut)
    # A tibble: 32 × 12
    # Groups:   hp_cut [6]
         mpg   cyl  disp    hp  drat    wt  qsec    vs    am  gear  carb hp_cut     
       <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <fct>      
     1  21       6  160    110  3.9   2.62  16.5     0     1     4     4 (90.8,172] 
     2  21       6  160    110  3.9   2.88  17.0     0     1     4     4 (90.8,172] 
     3  22.8     4  108     93  3.85  2.32  18.6     1     1     4     1 (75.7,99.3]
     4  21.4     6  258    110  3.08  3.22  19.4     1     0     3     1 (99.3,123] 
     5  18.7     8  360    175  3.15  3.44  17.0     0     0     3     2 (172,254]  
     6  18.1     6  225    105  2.76  3.46  20.2     1     0     3     1 (99.3,123] 
     7  14.3     8  360    245  3.21  3.57  15.8     0     0     3     4 (172,254]  
     8  24.4     4  147.    62  3.69  3.19  20       1     0     4     2 (51.9,75.7]
     9  22.8     4  141.    95  3.92  3.15  22.9     1     0     4     2 (75.7,99.3]
    10  19.2     6  168.   123  3.92  3.44  18.3     1     0     4     4 (99.3,123] 
    # ℹ 22 more rows

3 第三题 查找帮助理解函数

阅读 https://dplyr.tidyverse.org/reference/mutate-joins.html 内容,说明4个数据集链接函数函数的作用。分别举一个实际例子演示并解释其输出结果。

  1. inner_join()

    1. 保留匹配的行:只有当 x 中的某行在 y 中有对应的匹配键值时,该行才会出现在结果中。

    2. 丢弃不匹配的行:如果 xy 中的某些行没有匹配的键值,则这些行不会出现在结果中。

    3. 合并列:结果数据框包含 x 的所有列和 y 中非键列的列。如果 xy 中有相同名称的非键列,则会通过 suffix 参数添加后缀以区分。

    # 加载 dplyr 包
    library(dplyr)
    
    # 查看 mtcars 数据集
    head(mtcars)
                       mpg cyl disp  hp drat    wt  qsec vs am gear carb
    Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
    Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
    Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
    Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
    Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
    Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
    # 创建 df1:包含 mpg、cyl 和 disp 列
    df1 <- mtcars %>% select(mpg, cyl, disp)
    
    # 创建 df2:包含 cyl 和 hp 列
    df2 <- mtcars %>% select(cyl, hp)
    
    # 使用 inner_join() 将 df1 和 df2 基于 cyl 列合并
    result <- inner_join(df1, df2, by = "cyl")
    Warning in inner_join(df1, df2, by = "cyl"): Detected an unexpected many-to-many relationship between `x` and `y`.
    ℹ Row 1 of `x` matches multiple rows in `y`.
    ℹ Row 1 of `y` matches multiple rows in `x`.
    ℹ If a many-to-many relationship is expected, set `relationship =
      "many-to-many"` to silence this warning.
    # 查看结果
    print(result)
         mpg cyl  disp  hp
    1   21.0   6 160.0 110
    2   21.0   6 160.0 110
    3   21.0   6 160.0 110
    4   21.0   6 160.0 105
    5   21.0   6 160.0 123
    6   21.0   6 160.0 123
    7   21.0   6 160.0 175
    8   21.0   6 160.0 110
    9   21.0   6 160.0 110
    10  21.0   6 160.0 110
    11  21.0   6 160.0 105
    12  21.0   6 160.0 123
    13  21.0   6 160.0 123
    14  21.0   6 160.0 175
    15  22.8   4 108.0  93
    16  22.8   4 108.0  62
    17  22.8   4 108.0  95
    18  22.8   4 108.0  66
    19  22.8   4 108.0  52
    20  22.8   4 108.0  65
    21  22.8   4 108.0  97
    22  22.8   4 108.0  66
    23  22.8   4 108.0  91
    24  22.8   4 108.0 113
    25  22.8   4 108.0 109
    26  21.4   6 258.0 110
    27  21.4   6 258.0 110
    28  21.4   6 258.0 110
    29  21.4   6 258.0 105
    30  21.4   6 258.0 123
    31  21.4   6 258.0 123
    32  21.4   6 258.0 175
    33  18.7   8 360.0 175
    34  18.7   8 360.0 245
    35  18.7   8 360.0 180
    36  18.7   8 360.0 180
    37  18.7   8 360.0 180
    38  18.7   8 360.0 205
    39  18.7   8 360.0 215
    40  18.7   8 360.0 230
    41  18.7   8 360.0 150
    42  18.7   8 360.0 150
    43  18.7   8 360.0 245
    44  18.7   8 360.0 175
    45  18.7   8 360.0 264
    46  18.7   8 360.0 335
    47  18.1   6 225.0 110
    48  18.1   6 225.0 110
    49  18.1   6 225.0 110
    50  18.1   6 225.0 105
    51  18.1   6 225.0 123
    52  18.1   6 225.0 123
    53  18.1   6 225.0 175
    54  14.3   8 360.0 175
    55  14.3   8 360.0 245
    56  14.3   8 360.0 180
    57  14.3   8 360.0 180
    58  14.3   8 360.0 180
    59  14.3   8 360.0 205
    60  14.3   8 360.0 215
    61  14.3   8 360.0 230
    62  14.3   8 360.0 150
    63  14.3   8 360.0 150
    64  14.3   8 360.0 245
    65  14.3   8 360.0 175
    66  14.3   8 360.0 264
    67  14.3   8 360.0 335
    68  24.4   4 146.7  93
    69  24.4   4 146.7  62
    70  24.4   4 146.7  95
    71  24.4   4 146.7  66
    72  24.4   4 146.7  52
    73  24.4   4 146.7  65
    74  24.4   4 146.7  97
    75  24.4   4 146.7  66
    76  24.4   4 146.7  91
    77  24.4   4 146.7 113
    78  24.4   4 146.7 109
    79  22.8   4 140.8  93
    80  22.8   4 140.8  62
    81  22.8   4 140.8  95
    82  22.8   4 140.8  66
    83  22.8   4 140.8  52
    84  22.8   4 140.8  65
    85  22.8   4 140.8  97
    86  22.8   4 140.8  66
    87  22.8   4 140.8  91
    88  22.8   4 140.8 113
    89  22.8   4 140.8 109
    90  19.2   6 167.6 110
    91  19.2   6 167.6 110
    92  19.2   6 167.6 110
    93  19.2   6 167.6 105
    94  19.2   6 167.6 123
    95  19.2   6 167.6 123
    96  19.2   6 167.6 175
    97  17.8   6 167.6 110
    98  17.8   6 167.6 110
    99  17.8   6 167.6 110
    100 17.8   6 167.6 105
    101 17.8   6 167.6 123
    102 17.8   6 167.6 123
    103 17.8   6 167.6 175
    104 16.4   8 275.8 175
    105 16.4   8 275.8 245
    106 16.4   8 275.8 180
    107 16.4   8 275.8 180
    108 16.4   8 275.8 180
    109 16.4   8 275.8 205
    110 16.4   8 275.8 215
    111 16.4   8 275.8 230
    112 16.4   8 275.8 150
    113 16.4   8 275.8 150
    114 16.4   8 275.8 245
    115 16.4   8 275.8 175
    116 16.4   8 275.8 264
    117 16.4   8 275.8 335
    118 17.3   8 275.8 175
    119 17.3   8 275.8 245
    120 17.3   8 275.8 180
    121 17.3   8 275.8 180
    122 17.3   8 275.8 180
    123 17.3   8 275.8 205
    124 17.3   8 275.8 215
    125 17.3   8 275.8 230
    126 17.3   8 275.8 150
    127 17.3   8 275.8 150
    128 17.3   8 275.8 245
    129 17.3   8 275.8 175
    130 17.3   8 275.8 264
    131 17.3   8 275.8 335
    132 15.2   8 275.8 175
    133 15.2   8 275.8 245
    134 15.2   8 275.8 180
    135 15.2   8 275.8 180
    136 15.2   8 275.8 180
    137 15.2   8 275.8 205
    138 15.2   8 275.8 215
    139 15.2   8 275.8 230
    140 15.2   8 275.8 150
    141 15.2   8 275.8 150
    142 15.2   8 275.8 245
    143 15.2   8 275.8 175
    144 15.2   8 275.8 264
    145 15.2   8 275.8 335
    146 10.4   8 472.0 175
    147 10.4   8 472.0 245
    148 10.4   8 472.0 180
    149 10.4   8 472.0 180
    150 10.4   8 472.0 180
    151 10.4   8 472.0 205
    152 10.4   8 472.0 215
    153 10.4   8 472.0 230
    154 10.4   8 472.0 150
    155 10.4   8 472.0 150
    156 10.4   8 472.0 245
    157 10.4   8 472.0 175
    158 10.4   8 472.0 264
    159 10.4   8 472.0 335
    160 10.4   8 460.0 175
    161 10.4   8 460.0 245
    162 10.4   8 460.0 180
    163 10.4   8 460.0 180
    164 10.4   8 460.0 180
    165 10.4   8 460.0 205
    166 10.4   8 460.0 215
    167 10.4   8 460.0 230
    168 10.4   8 460.0 150
    169 10.4   8 460.0 150
    170 10.4   8 460.0 245
    171 10.4   8 460.0 175
    172 10.4   8 460.0 264
    173 10.4   8 460.0 335
    174 14.7   8 440.0 175
    175 14.7   8 440.0 245
    176 14.7   8 440.0 180
    177 14.7   8 440.0 180
    178 14.7   8 440.0 180
    179 14.7   8 440.0 205
    180 14.7   8 440.0 215
    181 14.7   8 440.0 230
    182 14.7   8 440.0 150
    183 14.7   8 440.0 150
    184 14.7   8 440.0 245
    185 14.7   8 440.0 175
    186 14.7   8 440.0 264
    187 14.7   8 440.0 335
    188 32.4   4  78.7  93
    189 32.4   4  78.7  62
    190 32.4   4  78.7  95
    191 32.4   4  78.7  66
    192 32.4   4  78.7  52
    193 32.4   4  78.7  65
    194 32.4   4  78.7  97
    195 32.4   4  78.7  66
    196 32.4   4  78.7  91
    197 32.4   4  78.7 113
    198 32.4   4  78.7 109
    199 30.4   4  75.7  93
    200 30.4   4  75.7  62
    201 30.4   4  75.7  95
    202 30.4   4  75.7  66
    203 30.4   4  75.7  52
    204 30.4   4  75.7  65
    205 30.4   4  75.7  97
    206 30.4   4  75.7  66
    207 30.4   4  75.7  91
    208 30.4   4  75.7 113
    209 30.4   4  75.7 109
    210 33.9   4  71.1  93
    211 33.9   4  71.1  62
    212 33.9   4  71.1  95
    213 33.9   4  71.1  66
    214 33.9   4  71.1  52
    215 33.9   4  71.1  65
    216 33.9   4  71.1  97
    217 33.9   4  71.1  66
    218 33.9   4  71.1  91
    219 33.9   4  71.1 113
    220 33.9   4  71.1 109
    221 21.5   4 120.1  93
    222 21.5   4 120.1  62
    223 21.5   4 120.1  95
    224 21.5   4 120.1  66
    225 21.5   4 120.1  52
    226 21.5   4 120.1  65
    227 21.5   4 120.1  97
    228 21.5   4 120.1  66
    229 21.5   4 120.1  91
    230 21.5   4 120.1 113
    231 21.5   4 120.1 109
    232 15.5   8 318.0 175
    233 15.5   8 318.0 245
    234 15.5   8 318.0 180
    235 15.5   8 318.0 180
    236 15.5   8 318.0 180
    237 15.5   8 318.0 205
    238 15.5   8 318.0 215
    239 15.5   8 318.0 230
    240 15.5   8 318.0 150
    241 15.5   8 318.0 150
    242 15.5   8 318.0 245
    243 15.5   8 318.0 175
    244 15.5   8 318.0 264
    245 15.5   8 318.0 335
    246 15.2   8 304.0 175
    247 15.2   8 304.0 245
    248 15.2   8 304.0 180
    249 15.2   8 304.0 180
    250 15.2   8 304.0 180
    251 15.2   8 304.0 205
    252 15.2   8 304.0 215
    253 15.2   8 304.0 230
    254 15.2   8 304.0 150
    255 15.2   8 304.0 150
    256 15.2   8 304.0 245
    257 15.2   8 304.0 175
    258 15.2   8 304.0 264
    259 15.2   8 304.0 335
    260 13.3   8 350.0 175
    261 13.3   8 350.0 245
    262 13.3   8 350.0 180
    263 13.3   8 350.0 180
    264 13.3   8 350.0 180
    265 13.3   8 350.0 205
    266 13.3   8 350.0 215
    267 13.3   8 350.0 230
    268 13.3   8 350.0 150
    269 13.3   8 350.0 150
    270 13.3   8 350.0 245
    271 13.3   8 350.0 175
    272 13.3   8 350.0 264
    273 13.3   8 350.0 335
    274 19.2   8 400.0 175
    275 19.2   8 400.0 245
    276 19.2   8 400.0 180
    277 19.2   8 400.0 180
    278 19.2   8 400.0 180
    279 19.2   8 400.0 205
    280 19.2   8 400.0 215
    281 19.2   8 400.0 230
    282 19.2   8 400.0 150
    283 19.2   8 400.0 150
    284 19.2   8 400.0 245
    285 19.2   8 400.0 175
    286 19.2   8 400.0 264
    287 19.2   8 400.0 335
    288 27.3   4  79.0  93
    289 27.3   4  79.0  62
    290 27.3   4  79.0  95
    291 27.3   4  79.0  66
    292 27.3   4  79.0  52
    293 27.3   4  79.0  65
    294 27.3   4  79.0  97
    295 27.3   4  79.0  66
    296 27.3   4  79.0  91
    297 27.3   4  79.0 113
    298 27.3   4  79.0 109
    299 26.0   4 120.3  93
    300 26.0   4 120.3  62
    301 26.0   4 120.3  95
    302 26.0   4 120.3  66
    303 26.0   4 120.3  52
    304 26.0   4 120.3  65
    305 26.0   4 120.3  97
    306 26.0   4 120.3  66
    307 26.0   4 120.3  91
    308 26.0   4 120.3 113
    309 26.0   4 120.3 109
    310 30.4   4  95.1  93
    311 30.4   4  95.1  62
    312 30.4   4  95.1  95
    313 30.4   4  95.1  66
    314 30.4   4  95.1  52
    315 30.4   4  95.1  65
    316 30.4   4  95.1  97
    317 30.4   4  95.1  66
    318 30.4   4  95.1  91
    319 30.4   4  95.1 113
    320 30.4   4  95.1 109
    321 15.8   8 351.0 175
    322 15.8   8 351.0 245
    323 15.8   8 351.0 180
    324 15.8   8 351.0 180
    325 15.8   8 351.0 180
    326 15.8   8 351.0 205
    327 15.8   8 351.0 215
    328 15.8   8 351.0 230
    329 15.8   8 351.0 150
    330 15.8   8 351.0 150
    331 15.8   8 351.0 245
    332 15.8   8 351.0 175
    333 15.8   8 351.0 264
    334 15.8   8 351.0 335
    335 19.7   6 145.0 110
    336 19.7   6 145.0 110
    337 19.7   6 145.0 110
    338 19.7   6 145.0 105
    339 19.7   6 145.0 123
    340 19.7   6 145.0 123
    341 19.7   6 145.0 175
    342 15.0   8 301.0 175
    343 15.0   8 301.0 245
    344 15.0   8 301.0 180
    345 15.0   8 301.0 180
    346 15.0   8 301.0 180
    347 15.0   8 301.0 205
    348 15.0   8 301.0 215
    349 15.0   8 301.0 230
    350 15.0   8 301.0 150
    351 15.0   8 301.0 150
    352 15.0   8 301.0 245
    353 15.0   8 301.0 175
    354 15.0   8 301.0 264
    355 15.0   8 301.0 335
    356 21.4   4 121.0  93
    357 21.4   4 121.0  62
    358 21.4   4 121.0  95
    359 21.4   4 121.0  66
    360 21.4   4 121.0  52
    361 21.4   4 121.0  65
    362 21.4   4 121.0  97
    363 21.4   4 121.0  66
    364 21.4   4 121.0  91
    365 21.4   4 121.0 113
    366 21.4   4 121.0 109
    #输出结果:结果数据框包含 df1 的所有列(mpg、cyl、disp)和 df2 的非键列(hp)。每行表示在两个数据框中 cyl 值匹配的汽车数据。
  2. left_join()

    1. 保留所有 x 的行:无论 x 中的行是否在 y 中有匹配的键值,x 的所有行都会被保留。

    2. 添加 y 的列:将 y 中匹配的列添加到结果中。如果 x 中的某些行在 y 中没有匹配的键值,则这些行对应的列值为 NA

    3. 基于键匹配:通过指定的键(by 参数)进行匹配。默认情况下,left_join() 会自动匹配两个数据框中同名的列。

    # 加载 dplyr 包
    library(dplyr)
    
    # 创建 df1:包含 Sepal.Length、Sepal.Width 和 Species
    df1 <- iris %>% select(Sepal.Length, Sepal.Width, Species)
    
    # 创建 df2:包含 Species 和额外的统计信息(平均 Petal.Length 和 Petal.Width)
    df2 <- iris %>%
      group_by(Species) %>%
      summarise(
        Avg_Petal_Length = mean(Petal.Length),
        Avg_Petal_Width = mean(Petal.Width)
      )
    
    # 查看 df1 和 df2 的结构
    head(df1)
      Sepal.Length Sepal.Width Species
    1          5.1         3.5  setosa
    2          4.9         3.0  setosa
    3          4.7         3.2  setosa
    4          4.6         3.1  setosa
    5          5.0         3.6  setosa
    6          5.4         3.9  setosa
    head(df2)
    # A tibble: 3 × 3
      Species    Avg_Petal_Length Avg_Petal_Width
      <fct>                 <dbl>           <dbl>
    1 setosa                 1.46           0.246
    2 versicolor             4.26           1.33 
    3 virginica              5.55           2.03 
    # 使用 left_join() 将 df1 和 df2 基于 Species 列合并
    result <- left_join(df1, df2, by = "Species")
    
    # 查看结果
    print(result)
        Sepal.Length Sepal.Width    Species Avg_Petal_Length Avg_Petal_Width
    1            5.1         3.5     setosa            1.462           0.246
    2            4.9         3.0     setosa            1.462           0.246
    3            4.7         3.2     setosa            1.462           0.246
    4            4.6         3.1     setosa            1.462           0.246
    5            5.0         3.6     setosa            1.462           0.246
    6            5.4         3.9     setosa            1.462           0.246
    7            4.6         3.4     setosa            1.462           0.246
    8            5.0         3.4     setosa            1.462           0.246
    9            4.4         2.9     setosa            1.462           0.246
    10           4.9         3.1     setosa            1.462           0.246
    11           5.4         3.7     setosa            1.462           0.246
    12           4.8         3.4     setosa            1.462           0.246
    13           4.8         3.0     setosa            1.462           0.246
    14           4.3         3.0     setosa            1.462           0.246
    15           5.8         4.0     setosa            1.462           0.246
    16           5.7         4.4     setosa            1.462           0.246
    17           5.4         3.9     setosa            1.462           0.246
    18           5.1         3.5     setosa            1.462           0.246
    19           5.7         3.8     setosa            1.462           0.246
    20           5.1         3.8     setosa            1.462           0.246
    21           5.4         3.4     setosa            1.462           0.246
    22           5.1         3.7     setosa            1.462           0.246
    23           4.6         3.6     setosa            1.462           0.246
    24           5.1         3.3     setosa            1.462           0.246
    25           4.8         3.4     setosa            1.462           0.246
    26           5.0         3.0     setosa            1.462           0.246
    27           5.0         3.4     setosa            1.462           0.246
    28           5.2         3.5     setosa            1.462           0.246
    29           5.2         3.4     setosa            1.462           0.246
    30           4.7         3.2     setosa            1.462           0.246
    31           4.8         3.1     setosa            1.462           0.246
    32           5.4         3.4     setosa            1.462           0.246
    33           5.2         4.1     setosa            1.462           0.246
    34           5.5         4.2     setosa            1.462           0.246
    35           4.9         3.1     setosa            1.462           0.246
    36           5.0         3.2     setosa            1.462           0.246
    37           5.5         3.5     setosa            1.462           0.246
    38           4.9         3.6     setosa            1.462           0.246
    39           4.4         3.0     setosa            1.462           0.246
    40           5.1         3.4     setosa            1.462           0.246
    41           5.0         3.5     setosa            1.462           0.246
    42           4.5         2.3     setosa            1.462           0.246
    43           4.4         3.2     setosa            1.462           0.246
    44           5.0         3.5     setosa            1.462           0.246
    45           5.1         3.8     setosa            1.462           0.246
    46           4.8         3.0     setosa            1.462           0.246
    47           5.1         3.8     setosa            1.462           0.246
    48           4.6         3.2     setosa            1.462           0.246
    49           5.3         3.7     setosa            1.462           0.246
    50           5.0         3.3     setosa            1.462           0.246
    51           7.0         3.2 versicolor            4.260           1.326
    52           6.4         3.2 versicolor            4.260           1.326
    53           6.9         3.1 versicolor            4.260           1.326
    54           5.5         2.3 versicolor            4.260           1.326
    55           6.5         2.8 versicolor            4.260           1.326
    56           5.7         2.8 versicolor            4.260           1.326
    57           6.3         3.3 versicolor            4.260           1.326
    58           4.9         2.4 versicolor            4.260           1.326
    59           6.6         2.9 versicolor            4.260           1.326
    60           5.2         2.7 versicolor            4.260           1.326
    61           5.0         2.0 versicolor            4.260           1.326
    62           5.9         3.0 versicolor            4.260           1.326
    63           6.0         2.2 versicolor            4.260           1.326
    64           6.1         2.9 versicolor            4.260           1.326
    65           5.6         2.9 versicolor            4.260           1.326
    66           6.7         3.1 versicolor            4.260           1.326
    67           5.6         3.0 versicolor            4.260           1.326
    68           5.8         2.7 versicolor            4.260           1.326
    69           6.2         2.2 versicolor            4.260           1.326
    70           5.6         2.5 versicolor            4.260           1.326
    71           5.9         3.2 versicolor            4.260           1.326
    72           6.1         2.8 versicolor            4.260           1.326
    73           6.3         2.5 versicolor            4.260           1.326
    74           6.1         2.8 versicolor            4.260           1.326
    75           6.4         2.9 versicolor            4.260           1.326
    76           6.6         3.0 versicolor            4.260           1.326
    77           6.8         2.8 versicolor            4.260           1.326
    78           6.7         3.0 versicolor            4.260           1.326
    79           6.0         2.9 versicolor            4.260           1.326
    80           5.7         2.6 versicolor            4.260           1.326
    81           5.5         2.4 versicolor            4.260           1.326
    82           5.5         2.4 versicolor            4.260           1.326
    83           5.8         2.7 versicolor            4.260           1.326
    84           6.0         2.7 versicolor            4.260           1.326
    85           5.4         3.0 versicolor            4.260           1.326
    86           6.0         3.4 versicolor            4.260           1.326
    87           6.7         3.1 versicolor            4.260           1.326
    88           6.3         2.3 versicolor            4.260           1.326
    89           5.6         3.0 versicolor            4.260           1.326
    90           5.5         2.5 versicolor            4.260           1.326
    91           5.5         2.6 versicolor            4.260           1.326
    92           6.1         3.0 versicolor            4.260           1.326
    93           5.8         2.6 versicolor            4.260           1.326
    94           5.0         2.3 versicolor            4.260           1.326
    95           5.6         2.7 versicolor            4.260           1.326
    96           5.7         3.0 versicolor            4.260           1.326
    97           5.7         2.9 versicolor            4.260           1.326
    98           6.2         2.9 versicolor            4.260           1.326
    99           5.1         2.5 versicolor            4.260           1.326
    100          5.7         2.8 versicolor            4.260           1.326
    101          6.3         3.3  virginica            5.552           2.026
    102          5.8         2.7  virginica            5.552           2.026
    103          7.1         3.0  virginica            5.552           2.026
    104          6.3         2.9  virginica            5.552           2.026
    105          6.5         3.0  virginica            5.552           2.026
    106          7.6         3.0  virginica            5.552           2.026
    107          4.9         2.5  virginica            5.552           2.026
    108          7.3         2.9  virginica            5.552           2.026
    109          6.7         2.5  virginica            5.552           2.026
    110          7.2         3.6  virginica            5.552           2.026
    111          6.5         3.2  virginica            5.552           2.026
    112          6.4         2.7  virginica            5.552           2.026
    113          6.8         3.0  virginica            5.552           2.026
    114          5.7         2.5  virginica            5.552           2.026
    115          5.8         2.8  virginica            5.552           2.026
    116          6.4         3.2  virginica            5.552           2.026
    117          6.5         3.0  virginica            5.552           2.026
    118          7.7         3.8  virginica            5.552           2.026
    119          7.7         2.6  virginica            5.552           2.026
    120          6.0         2.2  virginica            5.552           2.026
    121          6.9         3.2  virginica            5.552           2.026
    122          5.6         2.8  virginica            5.552           2.026
    123          7.7         2.8  virginica            5.552           2.026
    124          6.3         2.7  virginica            5.552           2.026
    125          6.7         3.3  virginica            5.552           2.026
    126          7.2         3.2  virginica            5.552           2.026
    127          6.2         2.8  virginica            5.552           2.026
    128          6.1         3.0  virginica            5.552           2.026
    129          6.4         2.8  virginica            5.552           2.026
    130          7.2         3.0  virginica            5.552           2.026
    131          7.4         2.8  virginica            5.552           2.026
    132          7.9         3.8  virginica            5.552           2.026
    133          6.4         2.8  virginica            5.552           2.026
    134          6.3         2.8  virginica            5.552           2.026
    135          6.1         2.6  virginica            5.552           2.026
    136          7.7         3.0  virginica            5.552           2.026
    137          6.3         3.4  virginica            5.552           2.026
    138          6.4         3.1  virginica            5.552           2.026
    139          6.0         3.0  virginica            5.552           2.026
    140          6.9         3.1  virginica            5.552           2.026
    141          6.7         3.1  virginica            5.552           2.026
    142          6.9         3.1  virginica            5.552           2.026
    143          5.8         2.7  virginica            5.552           2.026
    144          6.8         3.2  virginica            5.552           2.026
    145          6.7         3.3  virginica            5.552           2.026
    146          6.7         3.0  virginica            5.552           2.026
    147          6.3         2.5  virginica            5.552           2.026
    148          6.5         3.0  virginica            5.552           2.026
    149          6.2         3.4  virginica            5.552           2.026
    150          5.9         3.0  virginica            5.552           2.026
    #结果解释:每行包含原始的 Sepal.Length 和 Sepal.Width,以及对应的物种平均花瓣长度和宽度。由于 Species 列在两个数据框中完全匹配,因此没有 NA 值出现。
  3. right_join()

    1. 保留所有 y 的行:无论 y 中的行是否在 x 中有匹配的键值,y 的所有行都会被保留。

    2. 添加 x 的列:将 x 中匹配的列添加到结果中。如果 y 中的某些行在 x 中没有匹配的键值,则这些行对应的列值为 NA

    3. 基于键匹配:通过指定的键(by 参数)进行匹配。

    # 加载 dplyr 包
    library(dplyr)
    
    # 查看 ToothGrowth 数据集
    head(ToothGrowth)
       len supp dose
    1  4.2   VC  0.5
    2 11.5   VC  0.5
    3  7.3   VC  0.5
    4  5.8   VC  0.5
    5  6.4   VC  0.5
    6 10.0   VC  0.5
    # 创建 df1:包含 len 和 supp 列
    df1 <- ToothGrowth %>% select(len, supp)
    
    # 创建 df2:包含 supp 和 dose 列,但只保留部分行
    df2 <- ToothGrowth %>% select(supp, dose) %>% filter(dose == 0.5 | dose == 1)
    
    # 使用 right_join() 将 df1 和 df2 基于 supp 列合并
    result <- right_join(df1, df2, by = "supp")
    Warning in right_join(df1, df2, by = "supp"): Detected an unexpected many-to-many relationship between `x` and `y`.
    ℹ Row 1 of `x` matches multiple rows in `y`.
    ℹ Row 1 of `y` matches multiple rows in `x`.
    ℹ If a many-to-many relationship is expected, set `relationship =
      "many-to-many"` to silence this warning.
    # 查看结果
    print(result)
          len supp dose
    1     4.2   VC  0.5
    2     4.2   VC  0.5
    3     4.2   VC  0.5
    4     4.2   VC  0.5
    5     4.2   VC  0.5
    6     4.2   VC  0.5
    7     4.2   VC  0.5
    8     4.2   VC  0.5
    9     4.2   VC  0.5
    10    4.2   VC  0.5
    11    4.2   VC  1.0
    12    4.2   VC  1.0
    13    4.2   VC  1.0
    14    4.2   VC  1.0
    15    4.2   VC  1.0
    16    4.2   VC  1.0
    17    4.2   VC  1.0
    18    4.2   VC  1.0
    19    4.2   VC  1.0
    20    4.2   VC  1.0
    21   11.5   VC  0.5
    22   11.5   VC  0.5
    23   11.5   VC  0.5
    24   11.5   VC  0.5
    25   11.5   VC  0.5
    26   11.5   VC  0.5
    27   11.5   VC  0.5
    28   11.5   VC  0.5
    29   11.5   VC  0.5
    30   11.5   VC  0.5
    31   11.5   VC  1.0
    32   11.5   VC  1.0
    33   11.5   VC  1.0
    34   11.5   VC  1.0
    35   11.5   VC  1.0
    36   11.5   VC  1.0
    37   11.5   VC  1.0
    38   11.5   VC  1.0
    39   11.5   VC  1.0
    40   11.5   VC  1.0
    41    7.3   VC  0.5
    42    7.3   VC  0.5
    43    7.3   VC  0.5
    44    7.3   VC  0.5
    45    7.3   VC  0.5
    46    7.3   VC  0.5
    47    7.3   VC  0.5
    48    7.3   VC  0.5
    49    7.3   VC  0.5
    50    7.3   VC  0.5
    51    7.3   VC  1.0
    52    7.3   VC  1.0
    53    7.3   VC  1.0
    54    7.3   VC  1.0
    55    7.3   VC  1.0
    56    7.3   VC  1.0
    57    7.3   VC  1.0
    58    7.3   VC  1.0
    59    7.3   VC  1.0
    60    7.3   VC  1.0
    61    5.8   VC  0.5
    62    5.8   VC  0.5
    63    5.8   VC  0.5
    64    5.8   VC  0.5
    65    5.8   VC  0.5
    66    5.8   VC  0.5
    67    5.8   VC  0.5
    68    5.8   VC  0.5
    69    5.8   VC  0.5
    70    5.8   VC  0.5
    71    5.8   VC  1.0
    72    5.8   VC  1.0
    73    5.8   VC  1.0
    74    5.8   VC  1.0
    75    5.8   VC  1.0
    76    5.8   VC  1.0
    77    5.8   VC  1.0
    78    5.8   VC  1.0
    79    5.8   VC  1.0
    80    5.8   VC  1.0
    81    6.4   VC  0.5
    82    6.4   VC  0.5
    83    6.4   VC  0.5
    84    6.4   VC  0.5
    85    6.4   VC  0.5
    86    6.4   VC  0.5
    87    6.4   VC  0.5
    88    6.4   VC  0.5
    89    6.4   VC  0.5
    90    6.4   VC  0.5
    91    6.4   VC  1.0
    92    6.4   VC  1.0
    93    6.4   VC  1.0
    94    6.4   VC  1.0
    95    6.4   VC  1.0
    96    6.4   VC  1.0
    97    6.4   VC  1.0
    98    6.4   VC  1.0
    99    6.4   VC  1.0
    100   6.4   VC  1.0
    101  10.0   VC  0.5
    102  10.0   VC  0.5
    103  10.0   VC  0.5
    104  10.0   VC  0.5
    105  10.0   VC  0.5
    106  10.0   VC  0.5
    107  10.0   VC  0.5
    108  10.0   VC  0.5
    109  10.0   VC  0.5
    110  10.0   VC  0.5
    111  10.0   VC  1.0
    112  10.0   VC  1.0
    113  10.0   VC  1.0
    114  10.0   VC  1.0
    115  10.0   VC  1.0
    116  10.0   VC  1.0
    117  10.0   VC  1.0
    118  10.0   VC  1.0
    119  10.0   VC  1.0
    120  10.0   VC  1.0
    121  11.2   VC  0.5
    122  11.2   VC  0.5
    123  11.2   VC  0.5
    124  11.2   VC  0.5
    125  11.2   VC  0.5
    126  11.2   VC  0.5
    127  11.2   VC  0.5
    128  11.2   VC  0.5
    129  11.2   VC  0.5
    130  11.2   VC  0.5
    131  11.2   VC  1.0
    132  11.2   VC  1.0
    133  11.2   VC  1.0
    134  11.2   VC  1.0
    135  11.2   VC  1.0
    136  11.2   VC  1.0
    137  11.2   VC  1.0
    138  11.2   VC  1.0
    139  11.2   VC  1.0
    140  11.2   VC  1.0
    141  11.2   VC  0.5
    142  11.2   VC  0.5
    143  11.2   VC  0.5
    144  11.2   VC  0.5
    145  11.2   VC  0.5
    146  11.2   VC  0.5
    147  11.2   VC  0.5
    148  11.2   VC  0.5
    149  11.2   VC  0.5
    150  11.2   VC  0.5
    151  11.2   VC  1.0
    152  11.2   VC  1.0
    153  11.2   VC  1.0
    154  11.2   VC  1.0
    155  11.2   VC  1.0
    156  11.2   VC  1.0
    157  11.2   VC  1.0
    158  11.2   VC  1.0
    159  11.2   VC  1.0
    160  11.2   VC  1.0
    161   5.2   VC  0.5
    162   5.2   VC  0.5
    163   5.2   VC  0.5
    164   5.2   VC  0.5
    165   5.2   VC  0.5
    166   5.2   VC  0.5
    167   5.2   VC  0.5
    168   5.2   VC  0.5
    169   5.2   VC  0.5
    170   5.2   VC  0.5
    171   5.2   VC  1.0
    172   5.2   VC  1.0
    173   5.2   VC  1.0
    174   5.2   VC  1.0
    175   5.2   VC  1.0
    176   5.2   VC  1.0
    177   5.2   VC  1.0
    178   5.2   VC  1.0
    179   5.2   VC  1.0
    180   5.2   VC  1.0
    181   7.0   VC  0.5
    182   7.0   VC  0.5
    183   7.0   VC  0.5
    184   7.0   VC  0.5
    185   7.0   VC  0.5
    186   7.0   VC  0.5
    187   7.0   VC  0.5
    188   7.0   VC  0.5
    189   7.0   VC  0.5
    190   7.0   VC  0.5
    191   7.0   VC  1.0
    192   7.0   VC  1.0
    193   7.0   VC  1.0
    194   7.0   VC  1.0
    195   7.0   VC  1.0
    196   7.0   VC  1.0
    197   7.0   VC  1.0
    198   7.0   VC  1.0
    199   7.0   VC  1.0
    200   7.0   VC  1.0
    201  16.5   VC  0.5
    202  16.5   VC  0.5
    203  16.5   VC  0.5
    204  16.5   VC  0.5
    205  16.5   VC  0.5
    206  16.5   VC  0.5
    207  16.5   VC  0.5
    208  16.5   VC  0.5
    209  16.5   VC  0.5
    210  16.5   VC  0.5
    211  16.5   VC  1.0
    212  16.5   VC  1.0
    213  16.5   VC  1.0
    214  16.5   VC  1.0
    215  16.5   VC  1.0
    216  16.5   VC  1.0
    217  16.5   VC  1.0
    218  16.5   VC  1.0
    219  16.5   VC  1.0
    220  16.5   VC  1.0
    221  16.5   VC  0.5
    222  16.5   VC  0.5
    223  16.5   VC  0.5
    224  16.5   VC  0.5
    225  16.5   VC  0.5
    226  16.5   VC  0.5
    227  16.5   VC  0.5
    228  16.5   VC  0.5
    229  16.5   VC  0.5
    230  16.5   VC  0.5
    231  16.5   VC  1.0
    232  16.5   VC  1.0
    233  16.5   VC  1.0
    234  16.5   VC  1.0
    235  16.5   VC  1.0
    236  16.5   VC  1.0
    237  16.5   VC  1.0
    238  16.5   VC  1.0
    239  16.5   VC  1.0
    240  16.5   VC  1.0
    241  15.2   VC  0.5
    242  15.2   VC  0.5
    243  15.2   VC  0.5
    244  15.2   VC  0.5
    245  15.2   VC  0.5
    246  15.2   VC  0.5
    247  15.2   VC  0.5
    248  15.2   VC  0.5
    249  15.2   VC  0.5
    250  15.2   VC  0.5
    251  15.2   VC  1.0
    252  15.2   VC  1.0
    253  15.2   VC  1.0
    254  15.2   VC  1.0
    255  15.2   VC  1.0
    256  15.2   VC  1.0
    257  15.2   VC  1.0
    258  15.2   VC  1.0
    259  15.2   VC  1.0
    260  15.2   VC  1.0
    261  17.3   VC  0.5
    262  17.3   VC  0.5
    263  17.3   VC  0.5
    264  17.3   VC  0.5
    265  17.3   VC  0.5
    266  17.3   VC  0.5
    267  17.3   VC  0.5
    268  17.3   VC  0.5
    269  17.3   VC  0.5
    270  17.3   VC  0.5
    271  17.3   VC  1.0
    272  17.3   VC  1.0
    273  17.3   VC  1.0
    274  17.3   VC  1.0
    275  17.3   VC  1.0
    276  17.3   VC  1.0
    277  17.3   VC  1.0
    278  17.3   VC  1.0
    279  17.3   VC  1.0
    280  17.3   VC  1.0
    281  22.5   VC  0.5
    282  22.5   VC  0.5
    283  22.5   VC  0.5
    284  22.5   VC  0.5
    285  22.5   VC  0.5
    286  22.5   VC  0.5
    287  22.5   VC  0.5
    288  22.5   VC  0.5
    289  22.5   VC  0.5
    290  22.5   VC  0.5
    291  22.5   VC  1.0
    292  22.5   VC  1.0
    293  22.5   VC  1.0
    294  22.5   VC  1.0
    295  22.5   VC  1.0
    296  22.5   VC  1.0
    297  22.5   VC  1.0
    298  22.5   VC  1.0
    299  22.5   VC  1.0
    300  22.5   VC  1.0
    301  17.3   VC  0.5
    302  17.3   VC  0.5
    303  17.3   VC  0.5
    304  17.3   VC  0.5
    305  17.3   VC  0.5
    306  17.3   VC  0.5
    307  17.3   VC  0.5
    308  17.3   VC  0.5
    309  17.3   VC  0.5
    310  17.3   VC  0.5
    311  17.3   VC  1.0
    312  17.3   VC  1.0
    313  17.3   VC  1.0
    314  17.3   VC  1.0
    315  17.3   VC  1.0
    316  17.3   VC  1.0
    317  17.3   VC  1.0
    318  17.3   VC  1.0
    319  17.3   VC  1.0
    320  17.3   VC  1.0
    321  13.6   VC  0.5
    322  13.6   VC  0.5
    323  13.6   VC  0.5
    324  13.6   VC  0.5
    325  13.6   VC  0.5
    326  13.6   VC  0.5
    327  13.6   VC  0.5
    328  13.6   VC  0.5
    329  13.6   VC  0.5
    330  13.6   VC  0.5
    331  13.6   VC  1.0
    332  13.6   VC  1.0
    333  13.6   VC  1.0
    334  13.6   VC  1.0
    335  13.6   VC  1.0
    336  13.6   VC  1.0
    337  13.6   VC  1.0
    338  13.6   VC  1.0
    339  13.6   VC  1.0
    340  13.6   VC  1.0
    341  14.5   VC  0.5
    342  14.5   VC  0.5
    343  14.5   VC  0.5
    344  14.5   VC  0.5
    345  14.5   VC  0.5
    346  14.5   VC  0.5
    347  14.5   VC  0.5
    348  14.5   VC  0.5
    349  14.5   VC  0.5
    350  14.5   VC  0.5
    351  14.5   VC  1.0
    352  14.5   VC  1.0
    353  14.5   VC  1.0
    354  14.5   VC  1.0
    355  14.5   VC  1.0
    356  14.5   VC  1.0
    357  14.5   VC  1.0
    358  14.5   VC  1.0
    359  14.5   VC  1.0
    360  14.5   VC  1.0
    361  18.8   VC  0.5
    362  18.8   VC  0.5
    363  18.8   VC  0.5
    364  18.8   VC  0.5
    365  18.8   VC  0.5
    366  18.8   VC  0.5
    367  18.8   VC  0.5
    368  18.8   VC  0.5
    369  18.8   VC  0.5
    370  18.8   VC  0.5
    371  18.8   VC  1.0
    372  18.8   VC  1.0
    373  18.8   VC  1.0
    374  18.8   VC  1.0
    375  18.8   VC  1.0
    376  18.8   VC  1.0
    377  18.8   VC  1.0
    378  18.8   VC  1.0
    379  18.8   VC  1.0
    380  18.8   VC  1.0
    381  15.5   VC  0.5
    382  15.5   VC  0.5
    383  15.5   VC  0.5
    384  15.5   VC  0.5
    385  15.5   VC  0.5
    386  15.5   VC  0.5
    387  15.5   VC  0.5
    388  15.5   VC  0.5
    389  15.5   VC  0.5
    390  15.5   VC  0.5
    391  15.5   VC  1.0
    392  15.5   VC  1.0
    393  15.5   VC  1.0
    394  15.5   VC  1.0
    395  15.5   VC  1.0
    396  15.5   VC  1.0
    397  15.5   VC  1.0
    398  15.5   VC  1.0
    399  15.5   VC  1.0
    400  15.5   VC  1.0
    401  23.6   VC  0.5
    402  23.6   VC  0.5
    403  23.6   VC  0.5
    404  23.6   VC  0.5
    405  23.6   VC  0.5
    406  23.6   VC  0.5
    407  23.6   VC  0.5
    408  23.6   VC  0.5
    409  23.6   VC  0.5
    410  23.6   VC  0.5
    411  23.6   VC  1.0
    412  23.6   VC  1.0
    413  23.6   VC  1.0
    414  23.6   VC  1.0
    415  23.6   VC  1.0
    416  23.6   VC  1.0
    417  23.6   VC  1.0
    418  23.6   VC  1.0
    419  23.6   VC  1.0
    420  23.6   VC  1.0
    421  18.5   VC  0.5
    422  18.5   VC  0.5
    423  18.5   VC  0.5
    424  18.5   VC  0.5
    425  18.5   VC  0.5
    426  18.5   VC  0.5
    427  18.5   VC  0.5
    428  18.5   VC  0.5
    429  18.5   VC  0.5
    430  18.5   VC  0.5
    431  18.5   VC  1.0
    432  18.5   VC  1.0
    433  18.5   VC  1.0
    434  18.5   VC  1.0
    435  18.5   VC  1.0
    436  18.5   VC  1.0
    437  18.5   VC  1.0
    438  18.5   VC  1.0
    439  18.5   VC  1.0
    440  18.5   VC  1.0
    441  33.9   VC  0.5
    442  33.9   VC  0.5
    443  33.9   VC  0.5
    444  33.9   VC  0.5
    445  33.9   VC  0.5
    446  33.9   VC  0.5
    447  33.9   VC  0.5
    448  33.9   VC  0.5
    449  33.9   VC  0.5
    450  33.9   VC  0.5
    451  33.9   VC  1.0
    452  33.9   VC  1.0
    453  33.9   VC  1.0
    454  33.9   VC  1.0
    455  33.9   VC  1.0
    456  33.9   VC  1.0
    457  33.9   VC  1.0
    458  33.9   VC  1.0
    459  33.9   VC  1.0
    460  33.9   VC  1.0
    461  25.5   VC  0.5
    462  25.5   VC  0.5
    463  25.5   VC  0.5
    464  25.5   VC  0.5
    465  25.5   VC  0.5
    466  25.5   VC  0.5
    467  25.5   VC  0.5
    468  25.5   VC  0.5
    469  25.5   VC  0.5
    470  25.5   VC  0.5
    471  25.5   VC  1.0
    472  25.5   VC  1.0
    473  25.5   VC  1.0
    474  25.5   VC  1.0
    475  25.5   VC  1.0
    476  25.5   VC  1.0
    477  25.5   VC  1.0
    478  25.5   VC  1.0
    479  25.5   VC  1.0
    480  25.5   VC  1.0
    481  26.4   VC  0.5
    482  26.4   VC  0.5
    483  26.4   VC  0.5
    484  26.4   VC  0.5
    485  26.4   VC  0.5
    486  26.4   VC  0.5
    487  26.4   VC  0.5
    488  26.4   VC  0.5
    489  26.4   VC  0.5
    490  26.4   VC  0.5
    491  26.4   VC  1.0
    492  26.4   VC  1.0
    493  26.4   VC  1.0
    494  26.4   VC  1.0
    495  26.4   VC  1.0
    496  26.4   VC  1.0
    497  26.4   VC  1.0
    498  26.4   VC  1.0
    499  26.4   VC  1.0
    500  26.4   VC  1.0
    501  32.5   VC  0.5
    502  32.5   VC  0.5
    503  32.5   VC  0.5
    504  32.5   VC  0.5
    505  32.5   VC  0.5
    506  32.5   VC  0.5
    507  32.5   VC  0.5
    508  32.5   VC  0.5
    509  32.5   VC  0.5
    510  32.5   VC  0.5
    511  32.5   VC  1.0
    512  32.5   VC  1.0
    513  32.5   VC  1.0
    514  32.5   VC  1.0
    515  32.5   VC  1.0
    516  32.5   VC  1.0
    517  32.5   VC  1.0
    518  32.5   VC  1.0
    519  32.5   VC  1.0
    520  32.5   VC  1.0
    521  26.7   VC  0.5
    522  26.7   VC  0.5
    523  26.7   VC  0.5
    524  26.7   VC  0.5
    525  26.7   VC  0.5
    526  26.7   VC  0.5
    527  26.7   VC  0.5
    528  26.7   VC  0.5
    529  26.7   VC  0.5
    530  26.7   VC  0.5
    531  26.7   VC  1.0
    532  26.7   VC  1.0
    533  26.7   VC  1.0
    534  26.7   VC  1.0
    535  26.7   VC  1.0
    536  26.7   VC  1.0
    537  26.7   VC  1.0
    538  26.7   VC  1.0
    539  26.7   VC  1.0
    540  26.7   VC  1.0
    541  21.5   VC  0.5
    542  21.5   VC  0.5
    543  21.5   VC  0.5
    544  21.5   VC  0.5
    545  21.5   VC  0.5
    546  21.5   VC  0.5
    547  21.5   VC  0.5
    548  21.5   VC  0.5
    549  21.5   VC  0.5
    550  21.5   VC  0.5
    551  21.5   VC  1.0
    552  21.5   VC  1.0
    553  21.5   VC  1.0
    554  21.5   VC  1.0
    555  21.5   VC  1.0
    556  21.5   VC  1.0
    557  21.5   VC  1.0
    558  21.5   VC  1.0
    559  21.5   VC  1.0
    560  21.5   VC  1.0
    561  23.3   VC  0.5
    562  23.3   VC  0.5
    563  23.3   VC  0.5
    564  23.3   VC  0.5
    565  23.3   VC  0.5
    566  23.3   VC  0.5
    567  23.3   VC  0.5
    568  23.3   VC  0.5
    569  23.3   VC  0.5
    570  23.3   VC  0.5
    571  23.3   VC  1.0
    572  23.3   VC  1.0
    573  23.3   VC  1.0
    574  23.3   VC  1.0
    575  23.3   VC  1.0
    576  23.3   VC  1.0
    577  23.3   VC  1.0
    578  23.3   VC  1.0
    579  23.3   VC  1.0
    580  23.3   VC  1.0
    581  29.5   VC  0.5
    582  29.5   VC  0.5
    583  29.5   VC  0.5
    584  29.5   VC  0.5
    585  29.5   VC  0.5
    586  29.5   VC  0.5
    587  29.5   VC  0.5
    588  29.5   VC  0.5
    589  29.5   VC  0.5
    590  29.5   VC  0.5
    591  29.5   VC  1.0
    592  29.5   VC  1.0
    593  29.5   VC  1.0
    594  29.5   VC  1.0
    595  29.5   VC  1.0
    596  29.5   VC  1.0
    597  29.5   VC  1.0
    598  29.5   VC  1.0
    599  29.5   VC  1.0
    600  29.5   VC  1.0
    601  15.2   OJ  0.5
    602  15.2   OJ  0.5
    603  15.2   OJ  0.5
    604  15.2   OJ  0.5
    605  15.2   OJ  0.5
    606  15.2   OJ  0.5
    607  15.2   OJ  0.5
    608  15.2   OJ  0.5
    609  15.2   OJ  0.5
    610  15.2   OJ  0.5
    611  15.2   OJ  1.0
    612  15.2   OJ  1.0
    613  15.2   OJ  1.0
    614  15.2   OJ  1.0
    615  15.2   OJ  1.0
    616  15.2   OJ  1.0
    617  15.2   OJ  1.0
    618  15.2   OJ  1.0
    619  15.2   OJ  1.0
    620  15.2   OJ  1.0
    621  21.5   OJ  0.5
    622  21.5   OJ  0.5
    623  21.5   OJ  0.5
    624  21.5   OJ  0.5
    625  21.5   OJ  0.5
    626  21.5   OJ  0.5
    627  21.5   OJ  0.5
    628  21.5   OJ  0.5
    629  21.5   OJ  0.5
    630  21.5   OJ  0.5
    631  21.5   OJ  1.0
    632  21.5   OJ  1.0
    633  21.5   OJ  1.0
    634  21.5   OJ  1.0
    635  21.5   OJ  1.0
    636  21.5   OJ  1.0
    637  21.5   OJ  1.0
    638  21.5   OJ  1.0
    639  21.5   OJ  1.0
    640  21.5   OJ  1.0
    641  17.6   OJ  0.5
    642  17.6   OJ  0.5
    643  17.6   OJ  0.5
    644  17.6   OJ  0.5
    645  17.6   OJ  0.5
    646  17.6   OJ  0.5
    647  17.6   OJ  0.5
    648  17.6   OJ  0.5
    649  17.6   OJ  0.5
    650  17.6   OJ  0.5
    651  17.6   OJ  1.0
    652  17.6   OJ  1.0
    653  17.6   OJ  1.0
    654  17.6   OJ  1.0
    655  17.6   OJ  1.0
    656  17.6   OJ  1.0
    657  17.6   OJ  1.0
    658  17.6   OJ  1.0
    659  17.6   OJ  1.0
    660  17.6   OJ  1.0
    661   9.7   OJ  0.5
    662   9.7   OJ  0.5
    663   9.7   OJ  0.5
    664   9.7   OJ  0.5
    665   9.7   OJ  0.5
    666   9.7   OJ  0.5
    667   9.7   OJ  0.5
    668   9.7   OJ  0.5
    669   9.7   OJ  0.5
    670   9.7   OJ  0.5
    671   9.7   OJ  1.0
    672   9.7   OJ  1.0
    673   9.7   OJ  1.0
    674   9.7   OJ  1.0
    675   9.7   OJ  1.0
    676   9.7   OJ  1.0
    677   9.7   OJ  1.0
    678   9.7   OJ  1.0
    679   9.7   OJ  1.0
    680   9.7   OJ  1.0
    681  14.5   OJ  0.5
    682  14.5   OJ  0.5
    683  14.5   OJ  0.5
    684  14.5   OJ  0.5
    685  14.5   OJ  0.5
    686  14.5   OJ  0.5
    687  14.5   OJ  0.5
    688  14.5   OJ  0.5
    689  14.5   OJ  0.5
    690  14.5   OJ  0.5
    691  14.5   OJ  1.0
    692  14.5   OJ  1.0
    693  14.5   OJ  1.0
    694  14.5   OJ  1.0
    695  14.5   OJ  1.0
    696  14.5   OJ  1.0
    697  14.5   OJ  1.0
    698  14.5   OJ  1.0
    699  14.5   OJ  1.0
    700  14.5   OJ  1.0
    701  10.0   OJ  0.5
    702  10.0   OJ  0.5
    703  10.0   OJ  0.5
    704  10.0   OJ  0.5
    705  10.0   OJ  0.5
    706  10.0   OJ  0.5
    707  10.0   OJ  0.5
    708  10.0   OJ  0.5
    709  10.0   OJ  0.5
    710  10.0   OJ  0.5
    711  10.0   OJ  1.0
    712  10.0   OJ  1.0
    713  10.0   OJ  1.0
    714  10.0   OJ  1.0
    715  10.0   OJ  1.0
    716  10.0   OJ  1.0
    717  10.0   OJ  1.0
    718  10.0   OJ  1.0
    719  10.0   OJ  1.0
    720  10.0   OJ  1.0
    721   8.2   OJ  0.5
    722   8.2   OJ  0.5
    723   8.2   OJ  0.5
    724   8.2   OJ  0.5
    725   8.2   OJ  0.5
    726   8.2   OJ  0.5
    727   8.2   OJ  0.5
    728   8.2   OJ  0.5
    729   8.2   OJ  0.5
    730   8.2   OJ  0.5
    731   8.2   OJ  1.0
    732   8.2   OJ  1.0
    733   8.2   OJ  1.0
    734   8.2   OJ  1.0
    735   8.2   OJ  1.0
    736   8.2   OJ  1.0
    737   8.2   OJ  1.0
    738   8.2   OJ  1.0
    739   8.2   OJ  1.0
    740   8.2   OJ  1.0
    741   9.4   OJ  0.5
    742   9.4   OJ  0.5
    743   9.4   OJ  0.5
    744   9.4   OJ  0.5
    745   9.4   OJ  0.5
    746   9.4   OJ  0.5
    747   9.4   OJ  0.5
    748   9.4   OJ  0.5
    749   9.4   OJ  0.5
    750   9.4   OJ  0.5
    751   9.4   OJ  1.0
    752   9.4   OJ  1.0
    753   9.4   OJ  1.0
    754   9.4   OJ  1.0
    755   9.4   OJ  1.0
    756   9.4   OJ  1.0
    757   9.4   OJ  1.0
    758   9.4   OJ  1.0
    759   9.4   OJ  1.0
    760   9.4   OJ  1.0
    761  16.5   OJ  0.5
    762  16.5   OJ  0.5
    763  16.5   OJ  0.5
    764  16.5   OJ  0.5
    765  16.5   OJ  0.5
    766  16.5   OJ  0.5
    767  16.5   OJ  0.5
    768  16.5   OJ  0.5
    769  16.5   OJ  0.5
    770  16.5   OJ  0.5
    771  16.5   OJ  1.0
    772  16.5   OJ  1.0
    773  16.5   OJ  1.0
    774  16.5   OJ  1.0
    775  16.5   OJ  1.0
    776  16.5   OJ  1.0
    777  16.5   OJ  1.0
    778  16.5   OJ  1.0
    779  16.5   OJ  1.0
    780  16.5   OJ  1.0
    781   9.7   OJ  0.5
    782   9.7   OJ  0.5
    783   9.7   OJ  0.5
    784   9.7   OJ  0.5
    785   9.7   OJ  0.5
    786   9.7   OJ  0.5
    787   9.7   OJ  0.5
    788   9.7   OJ  0.5
    789   9.7   OJ  0.5
    790   9.7   OJ  0.5
    791   9.7   OJ  1.0
    792   9.7   OJ  1.0
    793   9.7   OJ  1.0
    794   9.7   OJ  1.0
    795   9.7   OJ  1.0
    796   9.7   OJ  1.0
    797   9.7   OJ  1.0
    798   9.7   OJ  1.0
    799   9.7   OJ  1.0
    800   9.7   OJ  1.0
    801  19.7   OJ  0.5
    802  19.7   OJ  0.5
    803  19.7   OJ  0.5
    804  19.7   OJ  0.5
    805  19.7   OJ  0.5
    806  19.7   OJ  0.5
    807  19.7   OJ  0.5
    808  19.7   OJ  0.5
    809  19.7   OJ  0.5
    810  19.7   OJ  0.5
    811  19.7   OJ  1.0
    812  19.7   OJ  1.0
    813  19.7   OJ  1.0
    814  19.7   OJ  1.0
    815  19.7   OJ  1.0
    816  19.7   OJ  1.0
    817  19.7   OJ  1.0
    818  19.7   OJ  1.0
    819  19.7   OJ  1.0
    820  19.7   OJ  1.0
    821  23.3   OJ  0.5
    822  23.3   OJ  0.5
    823  23.3   OJ  0.5
    824  23.3   OJ  0.5
    825  23.3   OJ  0.5
    826  23.3   OJ  0.5
    827  23.3   OJ  0.5
    828  23.3   OJ  0.5
    829  23.3   OJ  0.5
    830  23.3   OJ  0.5
    831  23.3   OJ  1.0
    832  23.3   OJ  1.0
    833  23.3   OJ  1.0
    834  23.3   OJ  1.0
    835  23.3   OJ  1.0
    836  23.3   OJ  1.0
    837  23.3   OJ  1.0
    838  23.3   OJ  1.0
    839  23.3   OJ  1.0
    840  23.3   OJ  1.0
    841  23.6   OJ  0.5
    842  23.6   OJ  0.5
    843  23.6   OJ  0.5
    844  23.6   OJ  0.5
    845  23.6   OJ  0.5
    846  23.6   OJ  0.5
    847  23.6   OJ  0.5
    848  23.6   OJ  0.5
    849  23.6   OJ  0.5
    850  23.6   OJ  0.5
    851  23.6   OJ  1.0
    852  23.6   OJ  1.0
    853  23.6   OJ  1.0
    854  23.6   OJ  1.0
    855  23.6   OJ  1.0
    856  23.6   OJ  1.0
    857  23.6   OJ  1.0
    858  23.6   OJ  1.0
    859  23.6   OJ  1.0
    860  23.6   OJ  1.0
    861  26.4   OJ  0.5
    862  26.4   OJ  0.5
    863  26.4   OJ  0.5
    864  26.4   OJ  0.5
    865  26.4   OJ  0.5
    866  26.4   OJ  0.5
    867  26.4   OJ  0.5
    868  26.4   OJ  0.5
    869  26.4   OJ  0.5
    870  26.4   OJ  0.5
    871  26.4   OJ  1.0
    872  26.4   OJ  1.0
    873  26.4   OJ  1.0
    874  26.4   OJ  1.0
    875  26.4   OJ  1.0
    876  26.4   OJ  1.0
    877  26.4   OJ  1.0
    878  26.4   OJ  1.0
    879  26.4   OJ  1.0
    880  26.4   OJ  1.0
    881  20.0   OJ  0.5
    882  20.0   OJ  0.5
    883  20.0   OJ  0.5
    884  20.0   OJ  0.5
    885  20.0   OJ  0.5
    886  20.0   OJ  0.5
    887  20.0   OJ  0.5
    888  20.0   OJ  0.5
    889  20.0   OJ  0.5
    890  20.0   OJ  0.5
    891  20.0   OJ  1.0
    892  20.0   OJ  1.0
    893  20.0   OJ  1.0
    894  20.0   OJ  1.0
    895  20.0   OJ  1.0
    896  20.0   OJ  1.0
    897  20.0   OJ  1.0
    898  20.0   OJ  1.0
    899  20.0   OJ  1.0
    900  20.0   OJ  1.0
    901  25.2   OJ  0.5
    902  25.2   OJ  0.5
    903  25.2   OJ  0.5
    904  25.2   OJ  0.5
    905  25.2   OJ  0.5
    906  25.2   OJ  0.5
    907  25.2   OJ  0.5
    908  25.2   OJ  0.5
    909  25.2   OJ  0.5
    910  25.2   OJ  0.5
    911  25.2   OJ  1.0
    912  25.2   OJ  1.0
    913  25.2   OJ  1.0
    914  25.2   OJ  1.0
    915  25.2   OJ  1.0
    916  25.2   OJ  1.0
    917  25.2   OJ  1.0
    918  25.2   OJ  1.0
    919  25.2   OJ  1.0
    920  25.2   OJ  1.0
    921  25.8   OJ  0.5
    922  25.8   OJ  0.5
    923  25.8   OJ  0.5
    924  25.8   OJ  0.5
    925  25.8   OJ  0.5
    926  25.8   OJ  0.5
    927  25.8   OJ  0.5
    928  25.8   OJ  0.5
    929  25.8   OJ  0.5
    930  25.8   OJ  0.5
    931  25.8   OJ  1.0
    932  25.8   OJ  1.0
    933  25.8   OJ  1.0
    934  25.8   OJ  1.0
    935  25.8   OJ  1.0
    936  25.8   OJ  1.0
    937  25.8   OJ  1.0
    938  25.8   OJ  1.0
    939  25.8   OJ  1.0
    940  25.8   OJ  1.0
    941  21.2   OJ  0.5
    942  21.2   OJ  0.5
    943  21.2   OJ  0.5
    944  21.2   OJ  0.5
    945  21.2   OJ  0.5
    946  21.2   OJ  0.5
    947  21.2   OJ  0.5
    948  21.2   OJ  0.5
    949  21.2   OJ  0.5
    950  21.2   OJ  0.5
    951  21.2   OJ  1.0
    952  21.2   OJ  1.0
    953  21.2   OJ  1.0
    954  21.2   OJ  1.0
    955  21.2   OJ  1.0
    956  21.2   OJ  1.0
    957  21.2   OJ  1.0
    958  21.2   OJ  1.0
    959  21.2   OJ  1.0
    960  21.2   OJ  1.0
    961  14.5   OJ  0.5
    962  14.5   OJ  0.5
    963  14.5   OJ  0.5
    964  14.5   OJ  0.5
    965  14.5   OJ  0.5
    966  14.5   OJ  0.5
    967  14.5   OJ  0.5
    968  14.5   OJ  0.5
    969  14.5   OJ  0.5
    970  14.5   OJ  0.5
    971  14.5   OJ  1.0
    972  14.5   OJ  1.0
    973  14.5   OJ  1.0
    974  14.5   OJ  1.0
    975  14.5   OJ  1.0
    976  14.5   OJ  1.0
    977  14.5   OJ  1.0
    978  14.5   OJ  1.0
    979  14.5   OJ  1.0
    980  14.5   OJ  1.0
    981  27.3   OJ  0.5
    982  27.3   OJ  0.5
    983  27.3   OJ  0.5
    984  27.3   OJ  0.5
    985  27.3   OJ  0.5
    986  27.3   OJ  0.5
    987  27.3   OJ  0.5
    988  27.3   OJ  0.5
    989  27.3   OJ  0.5
    990  27.3   OJ  0.5
    991  27.3   OJ  1.0
    992  27.3   OJ  1.0
    993  27.3   OJ  1.0
    994  27.3   OJ  1.0
    995  27.3   OJ  1.0
    996  27.3   OJ  1.0
    997  27.3   OJ  1.0
    998  27.3   OJ  1.0
    999  27.3   OJ  1.0
    1000 27.3   OJ  1.0
    1001 25.5   OJ  0.5
    1002 25.5   OJ  0.5
    1003 25.5   OJ  0.5
    1004 25.5   OJ  0.5
    1005 25.5   OJ  0.5
    1006 25.5   OJ  0.5
    1007 25.5   OJ  0.5
    1008 25.5   OJ  0.5
    1009 25.5   OJ  0.5
    1010 25.5   OJ  0.5
    1011 25.5   OJ  1.0
    1012 25.5   OJ  1.0
    1013 25.5   OJ  1.0
    1014 25.5   OJ  1.0
    1015 25.5   OJ  1.0
    1016 25.5   OJ  1.0
    1017 25.5   OJ  1.0
    1018 25.5   OJ  1.0
    1019 25.5   OJ  1.0
    1020 25.5   OJ  1.0
    1021 26.4   OJ  0.5
    1022 26.4   OJ  0.5
    1023 26.4   OJ  0.5
    1024 26.4   OJ  0.5
    1025 26.4   OJ  0.5
    1026 26.4   OJ  0.5
    1027 26.4   OJ  0.5
    1028 26.4   OJ  0.5
    1029 26.4   OJ  0.5
    1030 26.4   OJ  0.5
    1031 26.4   OJ  1.0
    1032 26.4   OJ  1.0
    1033 26.4   OJ  1.0
    1034 26.4   OJ  1.0
    1035 26.4   OJ  1.0
    1036 26.4   OJ  1.0
    1037 26.4   OJ  1.0
    1038 26.4   OJ  1.0
    1039 26.4   OJ  1.0
    1040 26.4   OJ  1.0
    1041 22.4   OJ  0.5
    1042 22.4   OJ  0.5
    1043 22.4   OJ  0.5
    1044 22.4   OJ  0.5
    1045 22.4   OJ  0.5
    1046 22.4   OJ  0.5
    1047 22.4   OJ  0.5
    1048 22.4   OJ  0.5
    1049 22.4   OJ  0.5
    1050 22.4   OJ  0.5
    1051 22.4   OJ  1.0
    1052 22.4   OJ  1.0
    1053 22.4   OJ  1.0
    1054 22.4   OJ  1.0
    1055 22.4   OJ  1.0
    1056 22.4   OJ  1.0
    1057 22.4   OJ  1.0
    1058 22.4   OJ  1.0
    1059 22.4   OJ  1.0
    1060 22.4   OJ  1.0
    1061 24.5   OJ  0.5
    1062 24.5   OJ  0.5
    1063 24.5   OJ  0.5
    1064 24.5   OJ  0.5
    1065 24.5   OJ  0.5
    1066 24.5   OJ  0.5
    1067 24.5   OJ  0.5
    1068 24.5   OJ  0.5
    1069 24.5   OJ  0.5
    1070 24.5   OJ  0.5
    1071 24.5   OJ  1.0
    1072 24.5   OJ  1.0
    1073 24.5   OJ  1.0
    1074 24.5   OJ  1.0
    1075 24.5   OJ  1.0
    1076 24.5   OJ  1.0
    1077 24.5   OJ  1.0
    1078 24.5   OJ  1.0
    1079 24.5   OJ  1.0
    1080 24.5   OJ  1.0
    1081 24.8   OJ  0.5
    1082 24.8   OJ  0.5
    1083 24.8   OJ  0.5
    1084 24.8   OJ  0.5
    1085 24.8   OJ  0.5
    1086 24.8   OJ  0.5
    1087 24.8   OJ  0.5
    1088 24.8   OJ  0.5
    1089 24.8   OJ  0.5
    1090 24.8   OJ  0.5
    1091 24.8   OJ  1.0
    1092 24.8   OJ  1.0
    1093 24.8   OJ  1.0
    1094 24.8   OJ  1.0
    1095 24.8   OJ  1.0
    1096 24.8   OJ  1.0
    1097 24.8   OJ  1.0
    1098 24.8   OJ  1.0
    1099 24.8   OJ  1.0
    1100 24.8   OJ  1.0
    1101 30.9   OJ  0.5
    1102 30.9   OJ  0.5
    1103 30.9   OJ  0.5
    1104 30.9   OJ  0.5
    1105 30.9   OJ  0.5
    1106 30.9   OJ  0.5
    1107 30.9   OJ  0.5
    1108 30.9   OJ  0.5
    1109 30.9   OJ  0.5
    1110 30.9   OJ  0.5
    1111 30.9   OJ  1.0
    1112 30.9   OJ  1.0
    1113 30.9   OJ  1.0
    1114 30.9   OJ  1.0
    1115 30.9   OJ  1.0
    1116 30.9   OJ  1.0
    1117 30.9   OJ  1.0
    1118 30.9   OJ  1.0
    1119 30.9   OJ  1.0
    1120 30.9   OJ  1.0
    1121 26.4   OJ  0.5
    1122 26.4   OJ  0.5
    1123 26.4   OJ  0.5
    1124 26.4   OJ  0.5
    1125 26.4   OJ  0.5
    1126 26.4   OJ  0.5
    1127 26.4   OJ  0.5
    1128 26.4   OJ  0.5
    1129 26.4   OJ  0.5
    1130 26.4   OJ  0.5
    1131 26.4   OJ  1.0
    1132 26.4   OJ  1.0
    1133 26.4   OJ  1.0
    1134 26.4   OJ  1.0
    1135 26.4   OJ  1.0
    1136 26.4   OJ  1.0
    1137 26.4   OJ  1.0
    1138 26.4   OJ  1.0
    1139 26.4   OJ  1.0
    1140 26.4   OJ  1.0
    1141 27.3   OJ  0.5
    1142 27.3   OJ  0.5
    1143 27.3   OJ  0.5
    1144 27.3   OJ  0.5
    1145 27.3   OJ  0.5
    1146 27.3   OJ  0.5
    1147 27.3   OJ  0.5
    1148 27.3   OJ  0.5
    1149 27.3   OJ  0.5
    1150 27.3   OJ  0.5
    1151 27.3   OJ  1.0
    1152 27.3   OJ  1.0
    1153 27.3   OJ  1.0
    1154 27.3   OJ  1.0
    1155 27.3   OJ  1.0
    1156 27.3   OJ  1.0
    1157 27.3   OJ  1.0
    1158 27.3   OJ  1.0
    1159 27.3   OJ  1.0
    1160 27.3   OJ  1.0
    1161 29.4   OJ  0.5
    1162 29.4   OJ  0.5
    1163 29.4   OJ  0.5
    1164 29.4   OJ  0.5
    1165 29.4   OJ  0.5
    1166 29.4   OJ  0.5
    1167 29.4   OJ  0.5
    1168 29.4   OJ  0.5
    1169 29.4   OJ  0.5
    1170 29.4   OJ  0.5
    1171 29.4   OJ  1.0
    1172 29.4   OJ  1.0
    1173 29.4   OJ  1.0
    1174 29.4   OJ  1.0
    1175 29.4   OJ  1.0
    1176 29.4   OJ  1.0
    1177 29.4   OJ  1.0
    1178 29.4   OJ  1.0
    1179 29.4   OJ  1.0
    1180 29.4   OJ  1.0
    1181 23.0   OJ  0.5
    1182 23.0   OJ  0.5
    1183 23.0   OJ  0.5
    1184 23.0   OJ  0.5
    1185 23.0   OJ  0.5
    1186 23.0   OJ  0.5
    1187 23.0   OJ  0.5
    1188 23.0   OJ  0.5
    1189 23.0   OJ  0.5
    1190 23.0   OJ  0.5
    1191 23.0   OJ  1.0
    1192 23.0   OJ  1.0
    1193 23.0   OJ  1.0
    1194 23.0   OJ  1.0
    1195 23.0   OJ  1.0
    1196 23.0   OJ  1.0
    1197 23.0   OJ  1.0
    1198 23.0   OJ  1.0
    1199 23.0   OJ  1.0
    1200 23.0   OJ  1.0
    #输出结果中,df2 的所有行都被保留,而 df1 中的 len 列根据 supp 的匹配情况被添加到结果中
  4. full_join()

    1. 保留所有行:无论 xy 中的行是否匹配,所有行都会被保留。

    2. 合并列:将 xy 中的所有列合并到结果中。

    3. 基于键匹配:通过指定的键(by 参数)进行匹配。

    4. 处理不匹配的行:如果某个数据框中的行在另一个数据框中没有匹配的键值,则结果中对应的列将填充为 NA

    # 加载 dplyr 包
    library(dplyr)
    
    # 创建 df1:包含 mpg、cyl 和 disp 列
    df1 <- mtcars %>% select(mpg, cyl, disp)
    
    # 创建 df2:包含 cyl、hp 和 wt 列,但只选择部分行,并添加额外的行
    df2 <- mtcars %>% 
      select(cyl, hp, wt) %>% 
      slice(1:10) %>%  # 只选择前 10 行
      bind_rows(data.frame(cyl = c(4, 6, 8), hp = c(NA, NA, NA), wt = c(NA, NA, NA)))  # 添加额外的行
    
    # 使用 full_join() 将 df1 和 df2 基于 cyl 列合并
    result <- full_join(df1, df2, by = "cyl")
    Warning in full_join(df1, df2, by = "cyl"): Detected an unexpected many-to-many relationship between `x` and `y`.
    ℹ Row 1 of `x` matches multiple rows in `y`.
    ℹ Row 1 of `y` matches multiple rows in `x`.
    ℹ If a many-to-many relationship is expected, set `relationship =
      "many-to-many"` to silence this warning.
    # 查看结果
    print(result)
         mpg cyl  disp  hp    wt
    1   21.0   6 160.0 110 2.620
    2   21.0   6 160.0 110 2.875
    3   21.0   6 160.0 110 3.215
    4   21.0   6 160.0 105 3.460
    5   21.0   6 160.0 123 3.440
    6   21.0   6 160.0  NA    NA
    7   21.0   6 160.0 110 2.620
    8   21.0   6 160.0 110 2.875
    9   21.0   6 160.0 110 3.215
    10  21.0   6 160.0 105 3.460
    11  21.0   6 160.0 123 3.440
    12  21.0   6 160.0  NA    NA
    13  22.8   4 108.0  93 2.320
    14  22.8   4 108.0  62 3.190
    15  22.8   4 108.0  95 3.150
    16  22.8   4 108.0  NA    NA
    17  21.4   6 258.0 110 2.620
    18  21.4   6 258.0 110 2.875
    19  21.4   6 258.0 110 3.215
    20  21.4   6 258.0 105 3.460
    21  21.4   6 258.0 123 3.440
    22  21.4   6 258.0  NA    NA
    23  18.7   8 360.0 175 3.440
    24  18.7   8 360.0 245 3.570
    25  18.7   8 360.0  NA    NA
    26  18.1   6 225.0 110 2.620
    27  18.1   6 225.0 110 2.875
    28  18.1   6 225.0 110 3.215
    29  18.1   6 225.0 105 3.460
    30  18.1   6 225.0 123 3.440
    31  18.1   6 225.0  NA    NA
    32  14.3   8 360.0 175 3.440
    33  14.3   8 360.0 245 3.570
    34  14.3   8 360.0  NA    NA
    35  24.4   4 146.7  93 2.320
    36  24.4   4 146.7  62 3.190
    37  24.4   4 146.7  95 3.150
    38  24.4   4 146.7  NA    NA
    39  22.8   4 140.8  93 2.320
    40  22.8   4 140.8  62 3.190
    41  22.8   4 140.8  95 3.150
    42  22.8   4 140.8  NA    NA
    43  19.2   6 167.6 110 2.620
    44  19.2   6 167.6 110 2.875
    45  19.2   6 167.6 110 3.215
    46  19.2   6 167.6 105 3.460
    47  19.2   6 167.6 123 3.440
    48  19.2   6 167.6  NA    NA
    49  17.8   6 167.6 110 2.620
    50  17.8   6 167.6 110 2.875
    51  17.8   6 167.6 110 3.215
    52  17.8   6 167.6 105 3.460
    53  17.8   6 167.6 123 3.440
    54  17.8   6 167.6  NA    NA
    55  16.4   8 275.8 175 3.440
    56  16.4   8 275.8 245 3.570
    57  16.4   8 275.8  NA    NA
    58  17.3   8 275.8 175 3.440
    59  17.3   8 275.8 245 3.570
    60  17.3   8 275.8  NA    NA
    61  15.2   8 275.8 175 3.440
    62  15.2   8 275.8 245 3.570
    63  15.2   8 275.8  NA    NA
    64  10.4   8 472.0 175 3.440
    65  10.4   8 472.0 245 3.570
    66  10.4   8 472.0  NA    NA
    67  10.4   8 460.0 175 3.440
    68  10.4   8 460.0 245 3.570
    69  10.4   8 460.0  NA    NA
    70  14.7   8 440.0 175 3.440
    71  14.7   8 440.0 245 3.570
    72  14.7   8 440.0  NA    NA
    73  32.4   4  78.7  93 2.320
    74  32.4   4  78.7  62 3.190
    75  32.4   4  78.7  95 3.150
    76  32.4   4  78.7  NA    NA
    77  30.4   4  75.7  93 2.320
    78  30.4   4  75.7  62 3.190
    79  30.4   4  75.7  95 3.150
    80  30.4   4  75.7  NA    NA
    81  33.9   4  71.1  93 2.320
    82  33.9   4  71.1  62 3.190
    83  33.9   4  71.1  95 3.150
    84  33.9   4  71.1  NA    NA
    85  21.5   4 120.1  93 2.320
    86  21.5   4 120.1  62 3.190
    87  21.5   4 120.1  95 3.150
    88  21.5   4 120.1  NA    NA
    89  15.5   8 318.0 175 3.440
    90  15.5   8 318.0 245 3.570
    91  15.5   8 318.0  NA    NA
    92  15.2   8 304.0 175 3.440
    93  15.2   8 304.0 245 3.570
    94  15.2   8 304.0  NA    NA
    95  13.3   8 350.0 175 3.440
    96  13.3   8 350.0 245 3.570
    97  13.3   8 350.0  NA    NA
    98  19.2   8 400.0 175 3.440
    99  19.2   8 400.0 245 3.570
    100 19.2   8 400.0  NA    NA
    101 27.3   4  79.0  93 2.320
    102 27.3   4  79.0  62 3.190
    103 27.3   4  79.0  95 3.150
    104 27.3   4  79.0  NA    NA
    105 26.0   4 120.3  93 2.320
    106 26.0   4 120.3  62 3.190
    107 26.0   4 120.3  95 3.150
    108 26.0   4 120.3  NA    NA
    109 30.4   4  95.1  93 2.320
    110 30.4   4  95.1  62 3.190
    111 30.4   4  95.1  95 3.150
    112 30.4   4  95.1  NA    NA
    113 15.8   8 351.0 175 3.440
    114 15.8   8 351.0 245 3.570
    115 15.8   8 351.0  NA    NA
    116 19.7   6 145.0 110 2.620
    117 19.7   6 145.0 110 2.875
    118 19.7   6 145.0 110 3.215
    119 19.7   6 145.0 105 3.460
    120 19.7   6 145.0 123 3.440
    121 19.7   6 145.0  NA    NA
    122 15.0   8 301.0 175 3.440
    123 15.0   8 301.0 245 3.570
    124 15.0   8 301.0  NA    NA
    125 21.4   4 121.0  93 2.320
    126 21.4   4 121.0  62 3.190
    127 21.4   4 121.0  95 3.150
    128 21.4   4 121.0  NA    NA
    #full_join() 保留了df1和df2中的所有行,无论它们是否在另一个数据框中有匹配的键值。对于 df1 中没有匹配的行(即 df2 中不存在的行),hp 和 wt 列的值将填充为 NA。对于 df2 中没有匹配的行(即额外添加的 3 行),mpg 和 disp 列的值将填充为 NA