数据data中有一个名为“Y”的四分类变量,分别为A、B、C、D。怎样用R语言手动设置哑变量?
时间: 2024-05-13 16:20:34 浏览: 125
使用R语言的model.matrix()函数可以手动设置哑变量,代码如下:
```R
# 假设数据data中Y列为四分类变量,如下所示
# data$Y <- c("A", "B", "C", "D", "B", "C", "A", "D", "B", "C")
# 手动设置哑变量
dummy_vars <- model.matrix(~ Y - 1, data = data)
# 输出结果
dummy_vars
```
解释:
- `~ Y - 1`表示Y列作为自变量,去掉常数项;
- `data = data`表示数据来源于data;
- `dummy_vars`是生成的哑变量矩阵。
输出结果如下:
```
YA YB YC YD
1 1 0 0 0
2 0 1 0 0
3 0 0 1 0
4 0 0 0 1
5 0 1 0 0
6 0 0 1 0
7 1 0 0 0
8 0 0 0 1
9 0 1 0 0
10 0 0 1 0
```
其中,每行表示一个数据样本,每列表示一个哑变量,对应原来Y列中的四个分类。例如第一行表示的是Y为A的数据样本,对应的哑变量为YA=1,其余为0。
阅读全文