R语言中的inner

xiaoxiao2021-03-01  34

在R for Data Science中,作者用了非常直观的例子解释了上面的四个概念。说明如下:

我们的数据集是这样的:

x <- tribble(   ~key, ~val_x,   1, "x1",   2, "x2",   3, "x3" ) y <- tribble(   ~key, ~val_y,   1, "y1",   2, "y2",   4, "y3" )

可以看出,x与y的key都有1,2,但是x的key里面有3,y的key里面有4.

下面我们来看这四个概念:

1. inner_join

x %>%   inner_join(y, by = "key")

其结果是

key val_x val_y   <dbl> <chr> <chr>      1 x1    y1         2 x2    y2

可以看出,此时基于key的连接只保留了共同的key值1与2对应的数据;

2. full_join

x %>%   full_join(y, by = "key")

其结果是

key val_x val_y   <dbl> <chr> <chr>   1 x1    y1   

  2 x2    y2   

  3 x3    NA      4 NA    y3

可以看出,此时基于key的连接保留了所有key值对应的数据,当相应的值不存在的时候,用NA代替;

3. left_join

x %>%   left_join(y, by = "key")

此时的结果为 <dbl> <chr> <chr>     1 x1    y1        2 x2    y2        3 x3    NA 

可以看出, 此时基于key的连接只保留了x对应的key值的数据,当相应的值不存在的时候,用NA代替;

4.  right_join

x %>%   right_join(y, by = "key")

此时的结果为

key val_x val_y   <dbl> <chr> <chr> 1 x1    y1    2 x2    y2    4 NA   y3

可以看出,此时基于key的连接只保留了y对应的key值的数据,当相应的值不存在的时候,用NA代替。 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载请注明原文地址: https://www.6miu.com/read-3143218.html

最新回复(0)