我正在研究一个预测问题,我在R中构建一个决策树,我有几个分类变量,我想在我的训练和测试集中对它们进行一次性热编码.我设法用我的训练数据做到:
temps <- X_train
tt <- subset(temps, select = -output)
oh <- data.frame(model.matrix(~ . -1, tt), CLASS = temps$output)
Run Code Online (Sandbox Code Playgroud)
但我找不到在我的测试集上应用相同编码的方法,我该怎么做?
我是 R 新手。我的数据如下所示:
df <- data.frame(a=c(1, 1, 2, 3, 8, 9, 1, 3), b = c(5, 4, 3, 8, 6, 1, 0, 2), x = c(4, 3, 8, 9, 1, 8, 2, 3))
> df
a b x
1 1 5 4
2 1 4 3
3 2 3 8
4 3 8 9
5 8 6 1
6 9 1 8
7 1 0 2
8 3 2 3
Run Code Online (Sandbox Code Playgroud)
我需要编写一个函数来将该列x与其他列相乘(这里只是a,b但我有 30-40)。
目前我已经编写了一个 for …