Bonjour à tous,
Je suis débutant en Rstudio et j'aimerai faire une Partial Least Square regression. Cependant, j'ai un problème avec cette fonction. J'ai fait l'exemple proposé par R avec les données de "gasoline" et tout marchait. Mais, une fois que je veux faire les mêmes manipulations avec mes données, cela ne fonctionne plus.
J'ai donc plusieurs questions concernant cette fonction.
QUESTION 1
Mes données que vous trouverez en pièce jointes sont composés de 4 variables avec 2200 observations. J'aimerai construire un modèle permettant de prédire la "nitrogenConcentration" en fonction de la "reflectance" des différentes "lettreFiltres" ET de savoir quels "filtres" sont les plus pertinents dans ce modèle.
Mon code R est le suivant :
Cependant, quand je lance la dernière ligne, j'ai une erreur qui est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 # 1. importation donnée # ------------------------- data1 <- read.table("tableReflec.txt", header = TRUE) # 2. unstack data # ----------------- #unstack nitrogen content unstack_Nc <- unstack(data1,nitrogenContent ~ lettreFiltre) Nc <- unstack_Nc[,1] remove(unstack_Nc) #unstack reflectance unstack_reflec <- unstack(data1, reflectance ~ lettreFiltre) myName <- paste("reflectance",names(unstack_reflec),sep = ".") names(unstack_reflec)<-myName remove(myName) # 3. Données comprenant Nc et la reflectance pour les différents filtres # ------------------------------------------------------------------------------ #ré-organisation des données dataReflec <- data.frame(Nc) dataReflec <-cbind(dataReflec, unstack_reflec) # 4. PLS # ------- # tools -> install package -> PLS library(pls) model1 <-plsr(Nc ~ reflectance, ncomp = 10, data = dataReflec, validation = "LOO")
Je ne comprends pas pourquoi cette fonction fonctionne avec "gasoline" et pas avec mes data. Quelqu'un peut-il m'aider ? Qu'est ce que je dois faire pour que cela fonctionne ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Error in eval(expr, envir, enclos) : object 'reflectance' not found
QUESTION 2
En faisant des recherches sur internet pour mon problème, je suis tombé sur une autre fonction qui est la plsreg1 qu'il est possible d'obtenir avec le package "plsdepot". Quelqu'un peut m'expliquer la différence entre cette fonction et la fonction plsr ? De plus, j'ai l'impression qu'il y a peu d'information sur la plsreg1. Je n'ai pas trouvé d'exemple utilisant cette fonction sur le net. Si quelqu'un a des infos, je suis preneur !
QUESTION 3
Je cherche à connaitre les filtres les plus pertinents à partir de la PLS. Quelle serait la fonction me permettant de savoir cela ?
Voila, je sais que cela fait beaucoup de question et je vous remercie d'avance pour le temps que vous consacrerez pour y répondre.
Partager