美文网首页
R for Data Science(笔记) ---关联数据(j

R for Data Science(笔记) ---关联数据(j

作者: 生信小鹏 | 来源:发表于2021-08-15 17:44 被阅读0次
    R for Data Science
    R for Data Science

    想了一下还是做一个笔记目录,这样能够方便查询

    R for Data Science(笔记) ---数据变换(filter使用)
    R for Data Science(笔记) ---数据变换(select基础使用)
    R for Data Science(笔记) ---数据变换(select组合其他函数)
    R for Data Science(笔记) ---数据变换(创建新的变量)
    R for Data Science(笔记) ---数据变换(行排序)
    R for Data Science(笔记) ---数据变换(归纳总结)
    R for Data Science(笔记) ---数据整理(Pivot相关函数)
    R for Data Science(笔记) ---数据整理(分列和合并)

    tidy流处理数据的大量运用,我想这与管道符%>% 的使用,数据处理动词化,有着很重要的关系。

    用最少的时间,解决最重要的、最常见的问题,我把这称为是高效;剩余的难点,我把其称为提高。

    这次学习的是数据框的合并问题,也就是用到函数join相关函数

    这个函数能做什么?

    类似与基础函数的merge函数,几个数据框存储着不同类型的数据,但是有相同的数据项,通过相同的数据项,就可以将几个数据框数据进行合并。

    具体示例

    例如 x,y两项数据,左侧的列名是合并标的,1,2是两者都有,3,4是各自特有,



    对于这两个数据合并,有这样一些合并类型

    inner join函数合并

    可以看到,这个函数就是只选择两个数据集中关键值相同的进行合并。

    操作代码

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

    此外,还有几项合并方式



    语法还是很简明的,哪一侧就指代以某一侧未准进行合并。

    代码实现也很简洁方便

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

    当然还会出现,某一数据集中有重复的关键值。在实际操作中,我没有遇到这样的实际需求,使用频率好像不高。但是依然把书中解析放在这里。



    可以看出,重复的会依次与另一个数据集进行组合,这就是排列组合的问题了

    列名不一样,怎么操作?

    很多时候,可能两个数据集中,要合并的标的内容一致,但是列名不一致。这个时候的操作如下:
    在操作的函数中的参数进行指定,by = c("a" = "b"), 其中a和b分别是两个数据集中的列名。

    刚开始接触R时,操作不熟悉,使用重命名的方法,使得两个数据集中需要合并的数据列名保持一致,然后再合并。

    自带筛选性质的合并

    上面的都是强制合并,也就是,如果没有,那么就形成空值,缺失值。还有两个函数自带筛选性质。semi_join(x, y)anti_join(x, y)

    semi_join(x, y) 保留 x 中与 y 中匹配的所有观察值
    anti_join(x, y) 删除 x 中与 y 中匹配的所有观察

    semi_join(x, y)图示
    anti_join(x, y) 图示

    与merge函数的比较

    dplyr merge
    inner_join(x, y) merge(x, y)
    left_join(x, y) merge(x, y, all.x = TRUE)
    right_join(x, y) merge(x, y, all.y = TRUE)
    full_join(x, y) merge(x, y, all.x = TRUE, all.y = TRUE)

    当然,我自己使用过程中还使用过,先进行行列筛选,顺序排列,使用cbind()函数合并两个数据集,达到目的就好。

    相关文章

      网友评论

          本文标题:R for Data Science(笔记) ---关联数据(j

          本文链接:https://www.haomeiwen.com/subject/vlhwpltx.html