美文网首页ggplot集锦
R数据分组且合并重复的列

R数据分组且合并重复的列

作者: 生信云笔记 | 来源:发表于2020-07-19 11:01 被阅读0次

    在用R语言做数据处理时,通常使用的数据类型是数据框(可类比于excel表格,这样脑海中会有一个直观的印象)。那么数据清理过程中就会需要做各种变化和统计,比如按某些变量来分组并合并重复的数据,那么这个小的需求该如何实现呢?下面我们看看如何来实现这个要求。

    #例如现有数据框df格式如下:
    name group  num  color  id
    test1  g1  2  blue  1
    test2  g2  3   red  2
    test2  g2  3  red  5
    test3  g3  4  yellow  3
    test5  g4  5  green  4
    #可以看出id列值为2、5的两行前面几列都是一样的,需要合并成如下格式:
    name group  num  color  id
    test1  g1  2  blue  1
    test2  g2  3   red  2,5
    test3  g3  4  yellow  3
    test5  g4  5  green  4h
    

    对于这个需求我们有两种方法可以完成,一是使用数据清理神奇dplyrR包;二是使用R中基础的分组统计函数aggregate,代码如下:

    #方法1
    library(dplyr)
    df1 <- df %>% group_by(name,group,num,color) %>% summarise(id = paste(id, collapse = ", ")) #可以指定任意分割符
    
    #方法2
    df1 <- aggregate(df[5], df[-5], unique)
    # 或者
    df2 <- aggregate(df[5], df[-5], function(X) paste(unique(X), collapse=", ")) #可以指定任意分割符
    

    现在是不是觉得实现这个需求很简单,你也学会了么?手打文稿不容易,希望各位看官们留下身影帮忙点个赞再走呗!!!

    相关文章

      网友评论

        本文标题:R数据分组且合并重复的列

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