[R] strucchange breakpoints r-squared

Achim Zeileis Achim.Zeileis at uibk.ac.at
Mon Jan 21 08:47:03 CET 2013

On Sun, 20 Jan 2013, Geoffrey Smith wrote:

> Can anyone please tell me how to get the r-squared output from a 
> piecewise (segmented) regression using the strucchange package?  Here is 
> the R code I have tried thus far.
> library(lmtest)
> library(strucchange)
> data <- ts(c(rnorm(30), runif(30)), frequency = 12, start = c(2005, 01))
> bpts <- breakpoints(data ~ 1)

You can rather easily compute the R-squared by hand:


Alternatively, you can fit a segmented linear regression with lm() by 
using the factor coding the segments and then extract the R-squared as 

m <- lm(data ~ breakfactor(bpts))

Finally, the R-squared is just a simple transformation of the residual sum 
of squares. Hence, you can also compute it via

1 - summary(bpts)$RSS[1,-1] / summary(bpts)$RSS[1,1]

Personally, I prefer to either look at RSS directly or at penalized 
measures such as BIC/AIC, which is why RSS/BIC are included in summaries 
and plots and R-squared is not.


> print(bpts)
> summary(bpts)
> coeftest(bpts)
> 	[[alternative HTML version deleted]]
> ______________________________________________
> R-help at r-project.org mailing list
> 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.

More information about the R-help mailing list