Bonjour à tous,

Je souhaite utiliser une méthode de ré-échantillonnage (en l'occurrence le bootstrap) sur un jeu de donnés de faible effectif afin de réaliser une régression linéaire simple pour chaque échantillon. Je souhaite avoir en sortie la moyenne des r², la moyenne des RMSE 'root mean squared error' et la moyenne des PE 'pourcentages d'erreur' et c'est précisément là où je bloque.

Voici mon code:

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
29
30
 
n<-20
set.seed (150)
d<-data.frame (y=runif(n), x=(runif (n))*3.2)
N<-length(d[,1])
B<-50 #pour le nombre de répétitions
idx<-sample(1:N, N, replace=TRUE) #ré-échantillonnage
stor.r2<-rep(0,50) #calcule du r² à chaque répétition
stor.rmse<-rep(0,50) # idem pour le RMSE
stor.pe<-rep(0,50) # idem pour le PE
library(Metrics) #ceci pour utiliser la fonction rmse
 
for(i in 1:B){
  idx<-sample(1:N, N, replace=TRUE)
  new.data<-d[idx,]
  model<-lm(y~x,data=new.data)
  predicted[i]<-predict(model, d)
  stor.r2[i]<-mean(model$r.squared)
  stor.rmse[i]<-mean(rmse(predicted))
 
} #pour le PE je n'ai pas su écrire de code
 
Error in mse(actual, predicted) : 
  argument "predicted" is missing, with no default
In addition: Warning messages:
1: 'newdata' avait 14 lignes mais les variables trouvées ont 100 lignes 
2: In predicted[i] <- predict(modbayadh, bayadhmay) :
  number of items to replace is not a multiple of replacement length
3: In mean.default(modbayadh$r.squared) :
  l'argument n'est ni numérique, ni logique : renvoi de NA
Pourrais-je avoir de l'aide?
Merci