美文网首页生物信息学札记
R dplyr 函数介绍之 mutate(), transmut

R dplyr 函数介绍之 mutate(), transmut

作者: 天地本无心 | 来源:发表于2020-08-27 10:54 被阅读0次

    数据分析中,我们最常接触的数据格式为数据框,而对数据框最常见的操作就是添加新的列,这时候我们就可以使用mutate函数来完成相应的工作。

    我们演示中使用的数据集为gcookbook里的drunk数据集。drunk数据集反应的是,1970年1月1日至6月27日期间因为醉酒被Tower Bridge和Lambeth Magistrate地方法院判处有罪的人数,数据是根据年龄和性别来进行分类的。

    #install.packages("gcookbook") 
    > require(gcookbook)
    > require(tidyverse)
    
    Loading required package: gcookbook
    > drunk
         sex 0-29 30-39 40-49 50-59 60+
    1   male  185   207   260   180  71
    2 female    4    13    10     7  10
    

    我们接下来演示一下,如何对数据进行添加新列的操作。

    操作1: 根据文件的行数增加新的一列,并命名为rowid。
    > require(tidyverse)
    > drunk %>% 
    +     mutate(rowid = row_number())
         sex 0-29 30-39 40-49 50-59 60+ rowid
    1   male  185   207   260   180  71     1
    2 female    4    13    10     7  10     2
    
    操作2: 根据已有的列创造新的列(变量),新增变量放在数据框的最后边。
    > drunk %>% 
    +     mutate(older_than_30 = `30-39`+ `40-49`+ `50-59` + `60+`,
    +            older_than_40 = `40-49` + `50-59` + `60+`,
    +            older_than_50 = `50-59` + `60+`)
         sex 0-29 30-39 40-49 50-59 60+ older_than_30 older_than_40 older_than_50
    1   male  185   207   260   180  71           718           511           251
    2 female    4    13    10     7  10            40            27            17
    

    需要解释一下的是,上面的类似于30-39不是单引号,因为数字不能充当变量名,这么需要这么操作。通过上述操作,我们看到数据框确实添加了三列。

    操作3: 根据已有的列创造新的列,并且仅仅保存新增变量,这是需要用到的函数是transmute()
    > drunk %>% 
    +     transmute(older_than_30 = `30-39`+ `40-49`+ `50-59` + `60+`,
    +               older_than_40 = `40-49` + `50-59` + `60+`,
    +               older_than_50 = `50-59` + `60+`)
      older_than_30 older_than_40 older_than_50
    1           718           511           251
    2            40            27            17
    
    小结:
    • %>%是tidyverse包里面用来进行管道化操作的函数。
    • mutate()用来增加新的列,新增列通常在原数据框的最后面。
    • transmute()函数用来仅仅保存新增的列。

    相关文章

      网友评论

        本文标题:R dplyr 函数介绍之 mutate(), transmut

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