野菜团子,R语言中文社区专栏作者
博客:https://ask.hellobi.com/blog/esperanca
tidyr包,tidyverse工具箱中的改锥和锤子,哪儿不顺眼修哪里,犀利得好比找茬儿的老板,专注把数据在长和宽的形态中互转,功能类似reshape2包,本篇顺带也回顾一下reshape2包。
1. reshape2包
1.1 melt函数
以airquality数据为例,先把变量名全改成小写,方便之后的处理
names(airquality) <- tolower(names(airquality))
melt函数用于宽数据转长数据,语法如下
melt(data, id.vars, measure.vars, variable.name = "variable", ..., na.rm = FALSE, value.name = "value", factorsAsStrings = TRUE)
第二个参数id用于指明需要保存的变量,第三个参数measure用于指明哪些变量,其名字都作为新生成的变量variable的因子,其取值作为新生成的变量value的取值。第三个参数不填的话,则默认除第二个参数指明的变量外,其余变量都作为第三个参数。举个例子
aqm <- melt(airquality,