【发布时间】:2021-09-17 23:41:00
【问题描述】:
我有一个像这样的数据框:
dat <- tribble(
~isHot, ~isCrispy, ~Restaurant,
1, 0, "A",
0, 0, "B",
1, 1, "B",
0, 0, "C"
)
> dat
# A tibble: 4 × 3
isHot isCrispy Restaurant
<dbl> <dbl> <chr>
1 1 0 A
2 0 0 B
3 1 1 B
4 0 0 C
我想为所有分类变量创建虚拟变量以获得以下输出:
isHot isCrispy Restaurant_A Restuarant_B
1 1 0 1 0
2 0 0 0 1
3 1 1 0 1
4 0 0 0 0
我可以通过 tidyverse 语法做到这一点吗?我不想使用recipes、fastdummies 或其他包。
编辑:
我希望代码适用于所有分类变量。在这个例子中,只有一个分类变量,但如果还有更多呢? 我希望能够采用特征名称并创建假人。 例如,如果有另一个名为 City 的分类特征,我会有虚拟变量,如..City_A、City_B 等。
【问题讨论】:
-
你为什么要那个?如果要执行回归,则无需显式构建模型矩阵。首先。
lm(y ~ ., dat)就足够了。
标签: r