[prev in list] [next in list] [prev in thread] [next in thread] 

List:       r-help
Subject:    Re: [R] Get 3 values not only 1
From:       jim holtman <jholtman () gmail ! com>
Date:       2021-01-27 20:58:58
Message-ID: CAAxdm-5o6sfvJdiz=qPgKfC7Q0kfYkxra5WdfK=-OKOpWgO9Rg () mail ! gmail ! com
[Download RAW message or body]

Is this what you are after?  You need to store a vector in the list:

> ####################
> # 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]] <- c(MSE = MSE,
+                    biais = biais,
+                    variance = variance)
+   # lst[i]<-MSE
+   # lst[i]<-biais
+   # lst[i]<-variance
+
+ }
> 
> # convert to a matrix
> 
> x <- as.matrix(do.call(rbind, lst))
> colMeans(x)
           MSE         biais      variance
  5.418175e+08 -4.524548e+01  6.321856e+07
> 

Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.


Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.


On Wed, Jan 27, 2021 at 12:37 PM varin sacha via R-help
<r-help@r-project.org> wrote:
> 
> 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))
> ####################
> 
> ______________________________________________
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic