in order to make it more robust .

If there are NA values in our X and Y variables, the results for all the statistics will be NA

* (see also the video: **http://www.screenr.com/loS8**)*, that is not nice, so it´s better to write a warning and stop the analysis to check our data set.

So the new script is:

monitor3<-function(x,y){

x1<-is.na(x)

y1<-is.na(y)

if(mean(x1|y1)>0){

print(“There are NA values in X or Y, remove these samples for calculation”)

}else{

n<-length(y)

res<-y-x

par(mfrow=c(2,2))

hist(res,col=”blue”)

plot(x~y,xlab=”predicted”,ylab=”reference”)

abline(0,1,col=”blue”)

l<-seq(1:n)

plot(res~l,col=2)

abline(h=0,col=”blue”)

boxplot(x,y,col=”green”)

{rmsep<-sqrt(sum((y-x)^2)/n)

cat(“RMSEP:”,rmsep,”\n”)}

{(bias<-mean(res))

cat(“Bias :”,bias,”\n”)}

{sep<-sd(res)

cat(“SEP :”,sep,”\n”)}

{r<-cor(x,y)

cat(“Corr :”,r,”\n”)}

{rsq<-(r^2)

cat(“RSQ :”,rsq,”\n”)}

}

}

After having some samples with NA values (not reference value for that sample or not predicted value) the output will be:

“There are NA values in X or Y, remove these samples for calculation”

If not it will continue with the calculations:

RMSEP: 0.4373108

Bias : 0.03814815

SEP : 0.4439425

Corr : 0.4864254

RSQ : 0.2366097

__Possible improvements I think right now:__

*The function gives me the position of the samples with NA values, so location is easier *

or

* that the function removes these samples and the calculations can be done without them.*

*Related*

To

**leave a comment** for the author, please follow the link and comment on their blog:

** NIR-Quimiometría**.

R-bloggers.com offers

**daily e-mail updates** about

R news and

tutorials on topics such as:

Data science,

Big Data, R jobs, visualization (

ggplot2,

Boxplots,

maps,

animation), programming (

RStudio,

Sweave,

LaTeX,

SQL,

Eclipse,

git,

hadoop,

Web Scraping) statistics (

regression,

PCA,

time series,

trading) and more...

If you got this far, why not

__subscribe for updates__ from the site? Choose your flavor:

e-mail,

twitter,

RSS, or

facebook...

**Tags:** "R" Chemometrics