我想创建一个多项式特征(GarageGrade),通过乘法将车库质量(GarageQual)与车库条件(GarageCond)结合起来。GarageQual 和 GarageCond 的值以字符形式给出:Po(差)、Fa(一般)、TA(典型)、Gd(良好)、Ex(优秀)。
str(combi$GarageQual)
返回:chr [1:2919] “TA” “TA” “TA” “TA” “TA” “TA” “TA” “TA” “Fa” “Gd” “TA” ...
str(combi$GarageCond)
返回:chr [1:2919] “TA” “TA” “TA” “TA” “TA” “TA” “TA” “TA” “TA” “TA” “TA” ...
首先,我考虑了它们:
combi$GarageQual <- factor(combi$GarageQual)
str(combi$GarageQual)
返回:因子 w/ 5 个级别 "Ex","Fa","Gd",..: 5 5 5 5 5 5 5 5 2 3 ..
combi$GarageCond <- factor(combi$GarageCond)
str(combi$GarageCond)
返回: > 因子 w/ 5 个级别 "Ex","Fa","Gd",..: 5 5 5 5 5 5 5 5 5 ...
现在我想替换因子级别名称的向量
c("NA", "Po", "Fa", "TA", "Gd", "Ex")
带有数字向量
c(0, 1, 2, 3, 4, 5)
所以这些变量可以相乘以创建一个组合特征,如下所示:
combi$GarageGrade <- combi$GarageQual * combi$GarageCond
实现结合 GarageQual 和 GarageCond 的综合 GarageGradevariable 最终目标的最佳方法是什么?我是否应该从一开始就考虑级别,还是应该直接用数字替换字符?如果是这样,我该怎么做?