美文网首页
R 函数学习 - melt(),cast()

R 函数学习 - melt(),cast()

作者: Thinkando | 来源:发表于2020-05-18 15:27 被阅读0次

    reshape2包:

    • melt-把宽格式数据转化成长格式。
    • cast-把长格式数据转化成宽格式。(dcast-输出时返回一个数据框。acast-输出时返回一个向量/矩阵/数组。)
    • cast 函数的作用除了还原数据外,还可以对数据进行整合。
    • dcast 输出数据框。公式的左边每个变量都会作为结果中的一列,而右边的变量被当成因子类型,每个水平都会在结果中产生一列。

    tidyr包:

    • gather-把宽度较大的数据转换成一个更长的形式,它类比于从reshape2包中融合函数的功能
    • spread-把长的数据转换成一个更宽的形式,它类比于从reshape2包中铸造函数的功能。

    data.table包:

    • data.table的函数melt 和dcast 是增强包reshape2里同名函数的扩展
    melt(data, id.vars, measure.vars, variable.name = "variable", ..., na.rm = FALSE, value.name = "value")
    其中id.vars是指定固定的列(原始的列仍然在列名上)
    measure.vars是需要合并的列
    variable.name是指合并后原来列名的新名字
    value.name是相对应的值的新名字
    
    > library(data.table)
    > ID <- c(NA,1,2,2)
    > Time <- c(1,2,NA,1)
    > X1 <- c(5,3,NA,2)
    > X2 <- c(NA,5,1,4)
    > mydata <- data.table(ID,Time,X1,X2)
    > mydata
       ID Time X1 X2
    1: NA    1  5 NA
    2:  1    2  3  5
    3:  2   NA NA  1
    4:  2    1  2  4
    > md <- melt(mydata, id=c("ID","Time"))
    > md
       ID Time variable value
    1: NA    1       X1     5
    2:  1    2       X1     3
    3:  2   NA       X1    NA
    4:  2    1       X1     2
    5: NA    1       X2    NA
    6:  1    2       X2     5
    7:  2   NA       X2     1
    8:  2    1       X2     4
    
    image.png

    相关文章

      网友评论

          本文标题:R 函数学习 - melt(),cast()

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