融入r中的data.table

时间:2016-11-10 22:36:56

标签: r data.table

所以我使用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个观察结果。也许它可能创造了重复或类似的东西。佩妮为你的想法?

1 个答案:

答案 0 :(得分:0)

我认为你的代码是正确的,你只是不了解熔化是如何工作的。 Melt将您的数据转换为长格式,看起来您的代码正常工作,因为您有13个变量和5000个观察值,因此当转换为长格式时,您将得到13 * 5000 = 65000个观测值。

但是,在长格式中,不应将行视为单个观察,而是将其作为单个度量实例。因此,在长格式中,您会注意到生成的熔化data.table看起来像。

Date Total.Events Unique.Events变量值

因此,对于三个度量的每个唯一组合,您将有十三行,每行将是一个变量值对。