if( !require('alr3') ){ install.paokages('alr3', dependencies=TRUE, repos='http://cran.rstudio.com/') } library(alr3) plot(C ~ Temp, data=segreg, xlab='Temperature', ylab='Energy consumption') grid() profRSS1 = function(gamma){ deviance(lm(C ~ pmax(0, Temp - gamma), data=segreg)) } profRSS2 = Vectorize(profRSS1, 'gamma') # Evaluate the profile likelihood at each of the original gamma = segreg$Temp # profLike = profRSS2(segreg$Temp) wmi = which.min(profLike) plot(profRSS2(Temp) ~ Temp, data=segreg, type='l', xlab=expression(gamma), ylab='Profile RSS') abline(v=segreg$Temp[wmi], col='blue') grid() tempVals = seq(35, 50, by=0.01) #tempVals = seq(35, 50, length.out=50) all.emps = sort(c(segreg$Temp, tempVals)) profLike = profRSS2(all.emps) wmi = which.min(profLike) plot(profRSS2(all.emps) ~ all.emps, type='b', xlab=expression(gamma), ylab='Profile RSS', pch=19, cex=0.5) abline(v=all.emps[wmi], col='blue') grid()