2、R-reshape2-melt

1、melt:         短数据转长数据

(1)、融合的数据为数组、表以及矩阵,melt的表达式为:

melt(data, varnames = names(dimnames(data)), ..., na.rm = FALSE, as.is = FALSE, value.name = "value")长

na.rm表示缺失值处理办法,value.name用于重命名值所在列的名称

(2)、融合的数据为数据框,melt的表达式为:(主要的)

melt(data, id.vars, measure.vars, variable.name = "variable", ..., na.rm = FALSE, value.name = "value", factorsAsStrings = TRUE)

id.vars            :设置融合后单独显示的变量,可以用变量位置及名称表示,没写表示使用所有非measure.vars值

measure.vars  :通常根据id.vars 设置的变化而变化,也可以用变量位置及名称表示

variable.name  :name of variable used to store measured variable names

value.name     name of variable used to store values

(3)、融合的数据为列表,melt的表达式为:

melt(data, ..., level = 1)/

2、melt的例子:

x<-data.frame(id=1:6,

              name=c("wang","zhang","li","chen","zhao","song"),
              shuxue=c(89,85,68,79,96,53),
              yuwen=c(77,68,86,87,92,63))
melt(x,id.vars=c("id","name"))                                  #id参数表示第1,2列不变
melt(x,id.vars=1:2,variable.name="kemu",value.name="zhi")
melt(x,measure.vars=c("id","name"))

 

原文地址:https://www.cnblogs.com/renping/p/6885787.html