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"))