【问题标题】:what does "~0" mean in the R model matrixR模型矩阵中的“~0”是什么意思
【发布时间】:2020-01-12 07:44:31
【问题描述】:

我正在尝试理解 R (model.matrix) 中的模型矩阵,将分类变量转换为虚拟变量并遇到以下代码

# Option 2: use model.matrix() to convert all categorical variables in the data frame into a set of dummy variables. We must then turn the resulting data matrix back into 
# a data frame for further work.
xtotal <- model.matrix(~ 0 + REMODEL, data = df)
xtotal <- as.data.frame(xtotal)

有人可以帮我理解这里的“~0”是什么意思吗?代码试图做什么?

【问题讨论】:

    标签: r model.matrix


    【解决方案1】:

    + 0 表示模型不会有截距,即一列 1。在存在因子变量的情况下,当存在截距时,将删除其中一个级别,以确保模型矩阵是满秩的,这在普通最小二乘回归中是必需的。当截距不存在时,因子的所有水平都可以保留。

    因此,此代码是一种将因子转换为矩阵的方法,其中存在所有级别的虚拟变量。省略 + 0 会将其中一个假人替换为一列 1,这可能对您的目的没有用。

    【讨论】:

      猜你喜欢
      • 2020-05-03
      • 2015-05-27
      • 1970-01-01
      • 2018-12-29
      • 2012-08-17
      • 2021-01-24
      • 2015-03-20
      • 2020-01-07
      • 2018-09-10
      相关资源
      最近更新 更多