R语言中分类变量转换成哑变量,再如何将所有变量组合成一个矩阵?请给出代码
时间: 2024-05-09 19:19:25 浏览: 190
将分类变量转换成哑变量可以使用R语言中的`model.matrix()`函数。下面是一个例子:
```R
# 创建一个包含分类变量的数据框
df <- data.frame(id = 1:5,
gender = c("M", "F", "M", "M", "F"),
race = c("White", "Black", "Asian", "Hispanic", "White"))
# 将分类变量转换成哑变量
dummy_vars <- model.matrix(~ gender + race, data = df)
# 将哑变量和原始数据框中的其他变量组合成一个矩阵
combined_matrix <- cbind(df$id, dummy_vars)
# 查看结果
combined_matrix
```
输出结果:
```
df$id genderF raceAsian raceBlack raceHispanic raceWhite
1 1 0 0 0 0 1
2 2 1 0 1 0 0
3 3 0 1 0 0 0
4 4 0 0 0 1 0
5 5 1 0 0 0 1
```
这里使用了`cbind()`函数将原始数据框中的id变量和哑变量组合成一个矩阵。
阅读全文