Comment pré-traiter les fonctionnalités lorsque certaines d’entre elles sont des facteurs?
Ma question est liée à cette une concernant les catégories de données (facteurs R) lors de l'utilisation de l'accent circonflexe paquet. Je comprends bien le message lié que si vous utilisez la formule "interface", certaines fonctionnalités peuvent être des facteurs et de la formation fonctionnera très bien. Ma question est comment puis-je l'échelle les données avec le preProcess()
fonction? Si j'ai essayer de le faire sur un bloc de données avec certaines colonnes en tant que facteurs, j'obtiens ce message d'erreur:
Error in preProcess.default(etitanic, method = c("center", "scale")) :
all columns of x must be numeric
Voir ici un exemple de code:
library(earth)
data(etitanic)
a <- preProcess(etitanic, method=c("center", "scale"))
b <- predict(etitanic, a)
Merci.
source d'informationauteur mchangun
Vous devez vous connecter pour publier un commentaire.
C'est vraiment le même problème que le post que vous liez.
preProcess
ne fonctionne que sur des données numériques et vous avez:Vous ne pouvez pas centre et de l'échelle
pclass
ousex
comme-est de sorte qu'ils doivent être convertis à des variables nominales. Vous pouvez utilisermodel.matrix
ou signe dudummyVars
pour ce faire:La
-1
se débarrasser de l'ordonnée à l'origine. Maintenant, vous pouvez exécuterpreProcess
sur cet objet.btw faire
preProcess
ignorer les données non numériques est sur ma "to do" liste, mais il peut provoquer des erreurs de gens ne font pas attention.Max
Voici un moyen rapide pour exclure les facteurs ou tout ce que vous souhaitez à partir de l'examen:
Vous pouvez passer tout ce que vous voulez dans
ppWrapper
et elle sera transmise àpreProcess
.