[R] Get 3 values not only 1
varin sacha
v@r|n@@ch@ @end|ng |rom y@hoo@|r
Wed Jan 27 21:35:23 CET 2021
Dear R-experts,
Here below my R code working but I would like to get 3 values not only 1. The value I get is, according to my R code, the variance value. My goal is to get 3 values : the bias value, the variance value and the MSE value. How to solve my problem ?
Many thanks.
####################
# Data
PIB.hab<-c(12000,34000,25000,43000,12500,32400,76320,45890,76345,90565,76580,45670,23450,34560,65430,65435,56755,87655,90755,45675)
ISQ.2018<-c(564,587,489,421,478,499,521,510,532,476,421,467,539,521,478,532,449,487,465,500)
Dataset=data.frame(ISQ.2018,PIB.hab)
#plot
plot(ISQ.2018,PIB.hab)
plot(ISQ.2018,PIB.hab, main="Droite de régression linéaire", xlab="Score ISQ 2018", ylab="PIB/hab")
#OLS fit
fit1<-lm(PIB.hab~ISQ.2018)
lines(ISQ.2018, fitted(fit1), col="blue", lwd=2)
# Create a list to store the results
lst<-list()
# This statement does the repetitions (looping)
for(i in 1 :1000)
{
n=dim(Dataset)[1]
p=0.667
sam<-sample(1 :n,floor(p*n),replace=FALSE)
Training <-Dataset [sam,]
Testing <- Dataset [-sam,]
fit2<-lm(PIB.hab~ISQ.2018)
ypred<-predict(fit2,newdata=Testing)
y<-Dataset[-sam,]$PIB.hab
MSE <- mean((y-ypred)^2)
biais <- mean(ypred-y)
variance <-mean((ypred- mean(ypred))^2)
lst[i]<-MSE
lst[i]<-biais
lst[i]<-variance
}
mean(unlist(lst))
####################
More information about the R-help
mailing list