美文网首页R语言学习R语言作图
R语言常用的数据处理的包(2)

R语言常用的数据处理的包(2)

作者: 单细胞空间交响乐 | 来源:发表于2019-09-25 17:54 被阅读0次

    这一节我们来复习一下shape2的用法:
    reshape2包的主要功能函数是melt()和cast(),其实现了长数据和宽数据之间的转换。

    melt的功能

    用处:将列名作为行的值,减少列的个数,增加行的个数。
    用法: melt(data, id.vars, measure.vars, variable.name = "variable", ..., na.rm = FALSE, value.name = "value")
    其中id.vars是指定固定的列(原始的列仍然在列名上)
    measure.vars是需要合并的列
    variable.name是指合并后原来列名的新名字
    value.name是相对应的值的新名字

    library(reshape2)
    md <- melt(airquality, id=c("Month", "Day"))
    head(md, 20)
    ##    Month Day variable value
    ## 1      5   1    Ozone    41
    ## 2      5   2    Ozone    36
    ## 3      5   3    Ozone    12
    ## 4      5   4    Ozone    18
    ## 5      5   5    Ozone    NA
    ## 6      5   6    Ozone    28
    ## 7      5   7    Ozone    23
    ## 8      5   8    Ozone    19
    ## 9      5   9    Ozone     8
    ## 10     5  10    Ozone    NA
    ## 11     5  11    Ozone     7
    ## 12     5  12    Ozone    16
    ## 13     5  13    Ozone    11
    ## 14     5  14    Ozone    14
    ## 15     5  15    Ozone    18
    ## 16     5  16    Ozone    14
    ## 17     5  17    Ozone    34
    ## 18     5  18    Ozone     6
    ## 19     5  19    Ozone    30
    ## 20     5  20    Ozone    11
    

    可以发现,标为id的变量都没有改变,而其他变量都变成一个新生变量的值,另外一列变量记录对应的数值结果。

    md <- melt(airquality, id.vars = c("Month", "Day"), value.name = "New_Value", variable.name = "Class")
    head(md, 20)
    ##    Month Day Class New_Value
    ## 1      5   1 Ozone        41
    ## 2      5   2 Ozone        36
    ## 3      5   3 Ozone        12
    ## 4      5   4 Ozone        18
    ## 5      5   5 Ozone        NA
    ## 6      5   6 Ozone        28
    ## 7      5   7 Ozone        23
    ## 8      5   8 Ozone        19
    ## 9      5   9 Ozone         8
    ## 10     5  10 Ozone        NA
    ## 11     5  11 Ozone         7
    ## 12     5  12 Ozone        16
    ## 13     5  13 Ozone        11
    ## 14     5  14 Ozone        14
    ## 15     5  15 Ozone        18
    ## 16     5  16 Ozone        14
    ## 17     5  17 Ozone        34
    ## 18     5  18 Ozone         6
    ## 19     5  19 Ozone        30
    ## 20     5  20 Ozone        11
    

    上述的用法是melt函数的标准用法。

    相关文章

      网友评论

        本文标题:R语言常用的数据处理的包(2)

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