非常新的r。
我正在尝试将矩阵中的多个变量标准化,除了最后一列有一个分类因子变量(在这种情况下是好/不好)。
我有没有办法在不影响分类列的情况下规范化数据?我试图在保持分类列的同时进行规范化,但似乎无法再将其添加回来。
minimum <- apply(mywines[,-12],2,min)
maximum <- apply(mywines[,-12],2,max)
mywinesNorm <- scale(mywines[,-12],center=minimum,scale=(maximum-minimum))
我仍然需要第12列来构建有监督的模型。
答案 0 :(得分:0)
简短版本是您可以使用cbind
简单地重新附加列。然而,它只是稍微复杂一点。 scale
返回矩阵而非数据框。为了混合数字和因子,您需要data.frame,而不是矩阵。因此,在cbind之前,您需要将缩放后的矩阵转换回data.frame。
mywinesNorm = cbind(as.data.frame(mywinesNorm), mywines[ ,12])
另一种方法是只更改数据:
mywines[ ,12] = scale(mywines[ ,12])