R语言 melt()函数使用

对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
R语言 melt()函数使用_第1张图片

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中,这里保留了原始数据。
R语言 melt()函数使用_第2张图片

testdata <- melt(data,
            measure.vars = c("MS2_Ratio","MS3_Ratio"),variable.name = "Sample",value.name = "x")

删除了id.vars,可以看到原始的列不再保留
R语言 melt()函数使用_第3张图片

你可能感兴趣的:(R语言 melt()函数使用)