对data frame操作
需要确定哪些变量是id变量( id variables),哪些是测量变量(measured variables)。如果只提供其中一个(id.var或measure.vars), melt将假定数据集中的未指定的其余变量属于另一个变量(即若只指定了id.var的对象,其余变量属于measure.vars)。如果不提供,melt将假设因素和字符变量是id variables,并且所有其他的是measured variables。
其实变换前提就是指定哪些数据是id variables,哪些是measured variables
melt(data,id.vars,measure.vars,variable.name=“variable”,…,na.rm=FALSE,value.name=“value”,
factorsAsStrings=TRUE)
具体操作help(melt)
简化版:
id.vars:你不想改变的数据列
measure.vars:你要melt的数据
variable.name:melt操作后,为新列变量取名
value.name:新列对应值的变量名
原始数据如下
'>- data
testdata <- melt(data,id.vars=c("MS2_Ratio","MS3_Ratio"),
measure.vars = c("MS2_Ratio","MS3_Ratio"),variable.name = "Sample",value.name = "x")
MS2_Ratio与MS3_Ratio列的数据合并为了x类,数据属于的样本名在对应的Sample中,这里保留了原始数据。
testdata <- melt(data,
measure.vars = c("MS2_Ratio","MS3_Ratio"),variable.name = "Sample",value.name = "x")
删除了id.vars,可以看到原始的列不再保留