Predict avec la fonction plsda

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Aurore Laurent
Messages : 8
Enregistré le : 15 Mar 2017, 09:15

Predict avec la fonction plsda

Messagepar Aurore Laurent » 18 Déc 2017, 16:37

Bonjour,

J'ai quelques soucis concernant la fonction predict pour un modèle crée avec la fonction plsda. R m'affiche cette erreur et j'avoue ne pas comprendre pourquoi puisque j'ai déjà utilisé cette même procédure sans soucis :

Code : Tout sélectionner

Error in predict.mvr(object, newdata = newdata) :
  'newdata' n'a pas le bon nombre de colonnes


Voici mon code

Code : Tout sélectionner

i=4
Groupe="Sexe"
Vars=c("PC1", "PC6", "PC7")

nrow(Train)
60


head(Train[Vars])
                    PC1         PC6         PC7
A24_S02_O068 -12.763877 -0.22706494  0.04538986
A24_S02_O022   7.392696  0.40603732 -0.04374719
A24_S02_O101  42.068073  0.46890998 -0.07008232
A24_S02_O070 -31.111669  0.07207056 -0.05219199
A24_S02_O037 -11.854237  0.12300261  0.05336882
A24_S02_O100  11.969026 -0.24487772 -0.04692794

head(Train[Groupe])
               Sexe
A24_S02_O068 Female
A24_S02_O022   Male
A24_S02_O101 Female
A24_S02_O070 Female
A24_S02_O037 Female
A24_S02_O100 Female


model_plsda=plsda(X = Train[Vars], Y = Train[[Groupe]], ncomp = 2)


predict(model_plsda, Train[-i, Vars],type="class")$class$max.dist[,2]




En vous remerciant,

Aurore Laurent

Mickael Canouil
Messages : 1315
Enregistré le : 04 Avr 2011, 08:53
Contact :

Re: Predict avec la fonction plsda

Messagepar Mickael Canouil » 19 Déc 2017, 09:22

Bonjour,

Code : Tout sélectionner

R> plsda
Error: object 'plsda' not found

Pourriez-vous indiquer le nom du package contenant cette fonction?
Éventuellement, un exemple reproductible: viewtopic.php?f=1&t=7638

D'un point de vue générale, j'imagine que "plsda" renvoie un objet (list ou S4) contenant un champ "data" (que vous avez du fournir initialement dans la fonction "plsda").
"Predict" s'attend à ce que les dimensions de "newdata" soit les mêmes (particulièrement le nombre de colonnes) que "data", or ce n'est visiblement pas le cas.

Autre chose, en regardant votre code (deux dernières lignes), je vous recommande de ne pas utiliser de variables globales, mais les noms des variables de votre data.frame et l'argument "data" des fonctions. Il sera de cette façon plus facile pour vous d'identifier les éventuelles problèmes.

Cordialement,
Mickaël
mickael.canouil.fr | rlille.fr


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité