美文网首页
reshape包使用

reshape包使用

作者: DumplingLucky | 来源:发表于2021-04-06 07:57 被阅读0次

    reshape包

    reshape包是一套重构和整合数据的绝妙的万能工具。

    #安装

    install.packages("reshape")

    大致来说,你首先需要将数据“融合(melt)”,以使每一行都是一个唯一标识符-变量组合。然后将数据“重铸(cast)”为你想要的任何形状。

    1. 融合

    每个测量变量独占一行,行中带有要唯一确定这个测量所需的标识符变量。

    有了融合后的数据,可以使用cast()函数将它重铸为任意形状。

    2. 重铸

    cast()函数读取已融合的的数据,并使用你提供的公式和一个(可选的)用于整合数据的函数将其重塑。调用格式为:

    newdata <- cast(md, formula, FUN)

    其中md为已融合的数据,formula描述了想要的最后的结果,而FUN是(可选的)数据整合函数。其接受的公式形如:

    rowvar1 + rowvar2 + ... ~ colvar1 + colvar2 + ...

    这个公式中,rowvar1 + rowvar2 + ...定义了要划掉的变量集合,以确定各行的内容,而colvar1 + colvar2 + ...则定义了要划掉的,确定各列内容的变量集合。

    3. 示例:

    ID <- c(1,1,2,2)

    Time <- c(1,2,1,2)

    X1 <- c(5,3,6,2)

    X2 <- c(6,5,1,4)

    mydata <- cbind(ID,Time,X1,X2)

    mydata <- as.data.frame(mydata)

    mydata

    初始表格

    3.1 先融合:

    md <- melt(mydata, id=c("ID", "Time")

    md

    融合数据

    3.2.1 执行整合

    (a)

    cast(md, ID ~ variable, mean)

    重塑整合后

    (b)

    cast(md, Time ~ variable, mean)

    重塑整合后

    (c)

    cast(md, ID ~ Time, mean)

    重塑整合后

    3.2.2 不执行整合

    (a)

    cast(md, ID + Time ~ variable)

    重塑数据

    (b)

    cast(md, ID + variable ~ Time)

    重塑数据

    (c)

    cast(md, ID ~ variable + Time)

    重塑数据

    相关文章

      网友评论

          本文标题:reshape包使用

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