所以我使用data table
在R工作,大约有5000个观察。我已经将所有这些新的等级变量发展到他们自己的类别(例如,grade1,grade2,grade3等),现在我想将它们组合成一个名为Grade
的变量。我使用了这个命令:
DT.m1 = melt(
MathSummary,
id.vars = c("Date", "Total.Events", "Unique.Events"),
measure.vars = c("Gradeprek", "Grade1", "Grade2", "Grade3", "Grade4",
"Grade5", "Grade6", "Grade7", "Grade8",
"Algebra1", "Algebra2", "Geometry", "Precalculus"),
value.factor=TRUE, na.rm=TRUE
)
然而,当结果出来时,它给了我65000个观察结果。也许它可能创造了重复或类似的东西。佩妮为你的想法?
答案 0 :(得分:0)
我认为你的代码是正确的,你只是不了解熔化是如何工作的。 Melt将您的数据转换为长格式,看起来您的代码正常工作,因为您有13个变量和5000个观察值,因此当转换为长格式时,您将得到13 * 5000 = 65000个观测值。
但是,在长格式中,不应将行视为单个观察,而是将其作为单个度量实例。因此,在长格式中,您会注意到生成的熔化data.table看起来像。
Date Total.Events Unique.Events变量值
因此,对于三个度量的每个唯一组合,您将有十三行,每行将是一个变量值对。