[R] to create a fuction for removing outlier

Methekar, Pushpa (GE Transportation, Non-GE) pushpa.methekar at ge.com
Tue Dec 30 09:43:59 CET 2014


Hi all,
Thanks for your support. sorry for inconvenience cause due to lack of information. here is my all  r- program .


#### read in data
raw=read.csv(file.choose(),header = T, stringsAsFactors=FALSE)

str(raw)

####conversion from factor to numeric of xs
raw$Engine.Speed <- as.numeric(raw$Engine.Speed)
raw$Engine.Power<- as.numeric(raw$Engine.Power)
raw$Diesel.LHV <- as.numeric(raw$Diesel.LHV)
raw$NG.LHV <- as.numeric(raw$NG.LHV)
raw$Compressor.Inlet.Temperature <- as.numeric(raw$Compressor.Inlet.Temperature)
raw$Int.Mfld.Temp<- as.numeric(raw$Int.Mfld.Temp)
raw$Cmd.Advance.Angle<- as.numeric(raw$Cmd.Advance.Angle)
raw$Cmd.Fuel.Rail.Press.Manual<- as.numeric(raw$Cmd.Fuel.Rail.Press.Manual)
raw$X..NG.by.Energy<- as.numeric(sub("%","",raw$X..NG.by.Energy))/100


####conversion from factor to numeric of Ys
raw$Pre.Turb.Temp.L <- as.numeric(raw$Pre.Turb.Temp.L)
raw$Avg.PCP <- as.numeric(raw$Avg.PCP)
raw$BSHC <- as.numeric(raw$BSHC)
raw$BSCO <- as.numeric(raw$BSCO)
raw$GETS.cBSNOx <- as.numeric(raw$GETS.cBSNOx)
raw$Avg.COV.GIMEP <- as.numeric(raw$Avg.COV.GIMEP)
raw$Intake.Manifold.Pressure <- as.numeric(raw$Intake.Manifold.Pressure)
raw$Emiss..1..EPA.MAF..Dry. <- as.numeric(sub(",","",raw$Emiss..1..EPA.MAF..Dry.))
raw$Turbo.Speed <- as.numeric(raw$Turbo.Speed)


#### create a matrix plot of scatter plot
xs=raw[c("Engine.Speed","X..NG.by.Energy","Int.Mfld.Temp","Cmd.Advance.Angle","Engine.Power","Cmd.Fuel.Rail.Press.Manual","Compressor.Inlet.Temperature","Diesel.LHV","NG.LHV")]

ys=raw[c("Pre.Turb.Temp.L","Avg.PCP","BSHC","BSCO","GETS.cBSNOx","Avg.COV.GIMEP","Turbo.Speed","Intake.Manifold.Pressure","Emiss..1..EPA.MAF..Dry.")]
pairs(xs,main="x's")
pairs(ys,main="y's")

### calculate correlation coefficient
xs[is.na(xs)] <- 0 #replace all NA with 0
cor(xs)
ys[is.na(ys)] <- 0 #replace all NA with 0
cor(ys)
cor(xs,ys,method = "spearman")
pairs(xs,ys)
save.image(file="plotting.RData")


## make data frame of x's and y's
xsys=data.frame(xs,ys)

library(MASS)
#### first order multiple linear regression
fitted.modely1.temp.l <- rlm( Pre.Turb.Temp.L~X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV,data=xsys)

fitted.modely2.avg.pcp <- rlm( Avg.PCP~X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV,data=xsys)

fitted.modely3.bshc <- rlm( BSHC~X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV,data=xsys)

fitted.modely4.bsco <- rlm(BSCO~X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV,data=xsys)

fitted.modely5.gets <- rlm(GETS.cBSNOx~X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV,data=xsys)

fitted.modely6.gimep <- rlm(Avg.COV.GIMEP~X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV,data=xsys)

fitted.modely7.ts <- rlm( Turbo.Speed ~X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV,data=xsys)

fitted.modely8.imp <- rlm(Intake.Manifold.Pressure ~X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV,data=xsys)

fitted.modely9.maf <- rlm( Emiss..1..EPA.MAF..Dry. ~X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV,data=xsys)



#### comlete second order multiple linear regression
secfitted.modely1.temp.l<-lm(Pre.Turb.Temp.L ~poly(Engine.Speed,2)+poly(X..NG.by.Energy,2)+poly(Int.Mfld.Temp,2)+poly(Cmd.Advance.Angle,2)+poly(Engine.Power,2)+poly(Cmd.Fuel.Rail.Press.Manual,2)
                             +poly(Compressor.Inlet.Temperature,2)+poly(Diesel.LHV,2)+poly(NG.LHV,2)
                             +Engine.Speed*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                             +X..NG.by.Energy*(Engine.Speed+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                             +Int.Mfld.Temp*(X..NG.by.Energy+Engine.Speed+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                             +Cmd.Advance.Angle*(X..NG.by.Energy+Int.Mfld.Temp+Engine.Speed+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                             +Engine.Power*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Speed+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                             +Cmd.Fuel.Rail.Press.Manual*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Engine.Speed+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                             +Compressor.Inlet.Temperature*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Engine.Speed+Diesel.LHV+NG.LHV)
                             +Diesel.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Engine.Speed+NG.LHV)
                             +NG.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+Engine.Speed),data=xsys)

secfitted.modely2.avg.pcp<-lm(Avg.PCP ~poly(Engine.Speed,2)+poly(X..NG.by.Energy,2)+poly(Int.Mfld.Temp,2)+poly(Cmd.Advance.Angle,2)+poly(Engine.Power,2)+poly(Cmd.Fuel.Rail.Press.Manual,2)
                              +poly(Compressor.Inlet.Temperature,2)+poly(Diesel.LHV,2)+poly(NG.LHV,2)
                              +Engine.Speed*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                              +X..NG.by.Energy*(Engine.Speed+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                              +Int.Mfld.Temp*(X..NG.by.Energy+Engine.Speed+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                              +Cmd.Advance.Angle*(X..NG.by.Energy+Int.Mfld.Temp+Engine.Speed+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                              +Engine.Power*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Speed+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                              +Cmd.Fuel.Rail.Press.Manual*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Engine.Speed+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                              +Compressor.Inlet.Temperature*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Engine.Speed+Diesel.LHV+NG.LHV)
                              +Diesel.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Engine.Speed+NG.LHV)
                              +NG.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+Engine.Speed),data=xsys)

secfitted.modely3.bshc<-lm( BSHC ~poly(Engine.Speed,2)+poly(X..NG.by.Energy,2)+poly(Int.Mfld.Temp,2)+poly(Cmd.Advance.Angle,2)+poly(Engine.Power,2)+poly(Cmd.Fuel.Rail.Press.Manual,2)
                           +poly(Compressor.Inlet.Temperature,2)+poly(Diesel.LHV,2)+poly(NG.LHV,2)
                            +Engine.Speed*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +X..NG.by.Energy*(Engine.Speed+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +Int.Mfld.Temp*(X..NG.by.Energy+Engine.Speed+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +Cmd.Advance.Angle*(X..NG.by.Energy+Int.Mfld.Temp+Engine.Speed+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +Engine.Power*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Speed+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +Cmd.Fuel.Rail.Press.Manual*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Engine.Speed+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +Compressor.Inlet.Temperature*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Engine.Speed+Diesel.LHV+NG.LHV)
                            +Diesel.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Engine.Speed+NG.LHV)
                            +NG.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+Engine.Speed),data=xsys)


secfitted.modely4.bsco<-lm( BSCO ~poly(Engine.Speed,2)+poly(X..NG.by.Energy,2)+poly(Int.Mfld.Temp,2)+poly(Cmd.Advance.Angle,2)+poly(Engine.Power,2)+poly(Cmd.Fuel.Rail.Press.Manual,2)
                            +poly(Compressor.Inlet.Temperature,2)+poly(Diesel.LHV,2)+poly(NG.LHV,2)
                            +Engine.Speed*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +X..NG.by.Energy*(Engine.Speed+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +Int.Mfld.Temp*(X..NG.by.Energy+Engine.Speed+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +Cmd.Advance.Angle*(X..NG.by.Energy+Int.Mfld.Temp+Engine.Speed+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +Engine.Power*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Speed+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +Cmd.Fuel.Rail.Press.Manual*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Engine.Speed+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +Compressor.Inlet.Temperature*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Engine.Speed+Diesel.LHV+NG.LHV)
                            +Diesel.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Engine.Speed+NG.LHV)
                            +NG.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+Engine.Speed),data=xsys)



secfitted.modely5.gets<-lm( GETS.cBSNOx ~poly(Engine.Speed,2)+poly(X..NG.by.Energy,2)+poly(Int.Mfld.Temp,2)+poly(Cmd.Advance.Angle,2)+poly(Engine.Power,2)+poly(Cmd.Fuel.Rail.Press.Manual,2)
                            +poly(Compressor.Inlet.Temperature,2)+poly(Diesel.LHV,2)+poly(NG.LHV,2)
                            +Engine.Speed*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +X..NG.by.Energy*(Engine.Speed+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +Int.Mfld.Temp*(X..NG.by.Energy+Engine.Speed+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +Cmd.Advance.Angle*(X..NG.by.Energy+Int.Mfld.Temp+Engine.Speed+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +Engine.Power*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Speed+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +Cmd.Fuel.Rail.Press.Manual*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Engine.Speed+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                            +Compressor.Inlet.Temperature*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Engine.Speed+Diesel.LHV+NG.LHV)
                            +Diesel.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Engine.Speed+NG.LHV)
                            +NG.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+Engine.Speed),data=xsys)



secfitted.modely6.gimep<-lm( Avg.COV.GIMEP ~poly(Engine.Speed,2)+poly(X..NG.by.Energy,2)+poly(Int.Mfld.Temp,2)+poly(Cmd.Advance.Angle,2)+poly(Engine.Power,2)+poly(Cmd.Fuel.Rail.Press.Manual,2)
                             +poly(Compressor.Inlet.Temperature,2)+poly(Diesel.LHV,2)+poly(NG.LHV,2)
                             +Engine.Speed*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                             +X..NG.by.Energy*(Engine.Speed+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                             +Int.Mfld.Temp*(X..NG.by.Energy+Engine.Speed+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                             +Cmd.Advance.Angle*(X..NG.by.Energy+Int.Mfld.Temp+Engine.Speed+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                             +Engine.Power*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Speed+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                             +Cmd.Fuel.Rail.Press.Manual*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Engine.Speed+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                             +Compressor.Inlet.Temperature*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Engine.Speed+Diesel.LHV+NG.LHV)
                             +Diesel.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Engine.Speed+NG.LHV)
                             +NG.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+Engine.Speed),data=xsys)

secfitted.modely7.ts<-lm( Turbo.Speed ~poly(Engine.Speed,2)+poly(X..NG.by.Energy,2)+poly(Int.Mfld.Temp,2)+poly(Cmd.Advance.Angle,2)+poly(Engine.Power,2)+poly(Cmd.Fuel.Rail.Press.Manual,2)
                          +poly(Compressor.Inlet.Temperature,2)+poly(Diesel.LHV,2)+poly(NG.LHV,2)
                          +Engine.Speed*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                          +X..NG.by.Energy*(Engine.Speed+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                          +Int.Mfld.Temp*(X..NG.by.Energy+Engine.Speed+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                          +Cmd.Advance.Angle*(X..NG.by.Energy+Int.Mfld.Temp+Engine.Speed+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                          +Engine.Power*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Speed+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                          +Cmd.Fuel.Rail.Press.Manual*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Engine.Speed+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                          +Compressor.Inlet.Temperature*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Engine.Speed+Diesel.LHV+NG.LHV)
                          +Diesel.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Engine.Speed+NG.LHV)
                          +NG.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+Engine.Speed),data=xsys)



secfitted.modely8.imp<-lm( Intake.Manifold.Pressure ~poly(Engine.Speed,2)+poly(X..NG.by.Energy,2)+poly(Int.Mfld.Temp,2)+poly(Cmd.Advance.Angle,2)+poly(Engine.Power,2)+poly(Cmd.Fuel.Rail.Press.Manual,2)
                           +poly(Compressor.Inlet.Temperature,2)+poly(Diesel.LHV,2)+poly(NG.LHV,2)
                           +Engine.Speed*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                           +X..NG.by.Energy*(Engine.Speed+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                           +Int.Mfld.Temp*(X..NG.by.Energy+Engine.Speed+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                           +Cmd.Advance.Angle*(X..NG.by.Energy+Int.Mfld.Temp+Engine.Speed+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                           +Engine.Power*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Speed+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                           +Cmd.Fuel.Rail.Press.Manual*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Engine.Speed+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                           +Compressor.Inlet.Temperature*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Engine.Speed+Diesel.LHV+NG.LHV)
                           +Diesel.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Engine.Speed+NG.LHV)
                           +NG.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+Engine.Speed),data=xsys)


secfitted.modely9.maf<-lm(Emiss..1..EPA.MAF..Dry.~poly(Engine.Speed,2)+poly(X..NG.by.Energy,2)+poly(Int.Mfld.Temp,2)+poly(Cmd.Advance.Angle,2)+poly(Engine.Power,2)+poly(Cmd.Fuel.Rail.Press.Manual,2)
                          +poly(Compressor.Inlet.Temperature,2)+poly(Diesel.LHV,2)+poly(NG.LHV,2)
                          +Engine.Speed*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                          +X..NG.by.Energy*(Engine.Speed+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                          +Int.Mfld.Temp*(X..NG.by.Energy+Engine.Speed+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                          +Cmd.Advance.Angle*(X..NG.by.Energy+Int.Mfld.Temp+Engine.Speed+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                          +Engine.Power*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Speed+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                          +Cmd.Fuel.Rail.Press.Manual*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Engine.Speed+Compressor.Inlet.Temperature+Diesel.LHV+NG.LHV)
                          +Compressor.Inlet.Temperature*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Engine.Speed+Diesel.LHV+NG.LHV)
                          +Diesel.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Engine.Speed+NG.LHV)
                          +NG.LHV*(X..NG.by.Energy+Int.Mfld.Temp+Cmd.Advance.Angle+Engine.Power+Cmd.Fuel.Rail.Press.Manual+Compressor.Inlet.Temperature+Diesel.LHV+Engine.Speed),data=xsys)


####stepwise forward regression for first order

step(fitted.modely1.temp.l,direction="forward")
step(fitted.modely2.avg.pcp,direction="forward")
step(fitted.modely3.bshc,direction="forward")
step(fitted.modely4.bsco,direction="forward")
step(fitted.modely5.gets,direction="forward")
step(fitted.modely6.gimep,direction="forward")
step(fitted.modely7.ts,direction="forward")
step(fitted.modely8.imp,direction="forward")
step(fitted.modely9.maf,direction="forward")


step(fitted.modely1.temp.l,direction="backward")
step(fitted.modely2.avg.pcp,direction="backward")
step(fitted.modely3.bshc,direction="backward")
step(fitted.modely4.bsco,direction="backward")
step(fitted.modely5.gets,direction="backward")
step(fitted.modely6.gimep,direction="backward")
step(fitted.modely7.ts,direction="backward")
step(fitted.modely8.imp,direction="backward")
step(fitted.modely9.maf,direction="backward")


now after this step I want to find out outliers in each fitted model and remove them from xsys data set and update it .
Ii want a function which will find one by one outlier and remove it .
The condition is that outlier would be consider as outlier if its r student I greater than +3 and -3.
I want all in loop and repeat loop  till no outlier is remained.


More information about the R-help mailing list