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