【发布时间】:2015-12-22 07:11:09
【问题描述】:
您好,我是 R 新手,我希望有人能给我一些关于构建回归模型的提示。我有一些类似于下面的示例数据的示例数据,其中包含路径变量等分类变量。我想将这些分类变量转换为如下所示的“转换数据”之类的二进制变量,因此我可以使用它们创建一个回归模型,以根据每个路径上的音量预测 WaitTime。在 python 中有一个叫做 getdummies 的函数可以很好地做到这一点。如果有人可以给我关于 r 中类似函数的提示,或者提供一种使用分类变量构建回归模型的方法。我将不胜感激。我的最终目标是建立回归模型,然后找到每条路径的音量值,这将使 WaitTIme 最小化。任何关于这方面的提示都将不胜感激。
样本数据:
Path WaitTime Volume
AD_IB 195 3
GMC_DT 154 4
CD_ADT 192 2
Ord_IB 326 1
转换后的数据:AD_IB GMC_DT CD_ADT Ord_IB WaitTime Volume
1 0 0 0 195 3
0 1 0 0 154 4
0 0 1 0 192 2
0 0 0 1 326 1
【问题讨论】:
-
Path 中有多少个类别?您可以使用 table(data$Path) 或 unique(data$Path) 检查它是否是 data.frame。我问,因为从你的例子来看,没有重复的值。如果您只想创建虚拟变量,那么您可以直接使用它或创建一个因子,然后使用 lm() 运行模型。
-
您是否尝试过将分类变量添加到模型中会发生什么?
-
您不需要这样做。回归函数会自动为您创建虚拟向量。如果您确实需要了解回归函数在“幕后”使用了什么,请查看
?model.matrix。 -
除了人们所说的,如果你还想这样做:
setDT(data)[,AD_IB:= ifelse(Path=="AD_IB", 1, 0)]
标签: r regression