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

这一节我们来复习一下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函数的标准用法。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 好想知道你到底学到了什么?然后打算怎么应用在你的生活中。 经过这21天的学习,有专业方法的知识,也有18个小知...
    流年七里香农庄阅读 142评论 0 0
  • 2019年6月13日 星期四 小雨 最近迷上了听书,一来让过劳的眼睛得以休息,二来播讲人绘声绘色的...
    天籁悠然阅读 811评论 13 15
  • 能力越大,责任越大,当你真的有能力担当一些事情的时候,才会意识到自己的责任也成了正比,当我接触微商,开始做微商,慢...
    魔纤灵儿阅读 139评论 0 0