我正在尝试使用以下方程式在R中应用线性模型。
bg_away_OPA_lm <- lm(OPA ~ Venue_Team + Venue_DirectionJetlag_Team + Venue_DirectionJetlag_Against - 1, data=bg_away)
我的变量Venue_DirectionJetlag_Team
和Venue_DirectionJetlag_Against
属于类别,每个类别有6个类别。我知道函数lm自己将伪变量中的类别变量转换为0或1。但是,我只想考虑每个类别中的4个类别(总计8个),而不是正常地将每个类别分割成12个类别。
更准确地说,每个类别分别为:
家东 西方 远东 西客 相同的 相同
我需要我的lm只考虑Home,Away和East,West的组合。我不希望它与Same一起考虑。
有什么办法吗?
我是通过创建一个新的数据集来做到这一点的,我将其删除如下:
df_bg_cg_a <- spread(df_bg, Venue_DirectionJetlag_Team,Jet_Lag_boolean, fill = 0) %>%
spread(Venue_DirectionJetlag_Against,Jet_Lag_boolean_against, fill = 0) %>%
spread(Venue_Team, Indicator, fill = 0) %>%
select(-c(HomeSame, AwaySame, Venue, X1))
名为boolean和indicator的变量的值为1或0,代表我希望每个虚拟列获取的值。
但是,我想在相同的lm函数中执行此操作。否则,我需要在模型中一一定义8个变量。有什么想法吗?