# How to implement reduced-rank regression in R?

How can I fit reduced-rank regression with continuous response in R?

I found the package VGAM but it only fits for discrete distributions...

• I do not know R, but reduced-rank regression has an explicit solution via standard regression and SVD, so it should not be difficult to implement manually. – amoeba says Reinstate Monica Nov 27 '14 at 0:07
• I'd be surprised is VGAM didn't do this; it has plenty of continuous distribution family functions (though note I haven't looked in detail at the RRR function in VGAM recently). You can also do something that is known as reduced rank regression with the vegan package. We call this Redundancy Analysis (RDA) but it also goes by the name reduced rank regression. And as @amoeba says, RDA can be computed by doing fit <- fitted(lm(Y ~ X, data = foo)) then prcomp(fit). If this is what you want, then rda() in vegan would be a good start. – Reinstate Monica - G. Simpson Nov 27 '14 at 14:29
• @amoeba we may be talking about slightly different methods - RDA gets called a lot of things. We implement it in rda() via QR decomposition and SVD for efficiency, but that method gets the same result as the R code I showed in the comment earlier. Which makes me think what we do, which has been called reduced rank regression, is not the reduced rank regression the OP is looking for :-) – Reinstate Monica - G. Simpson Nov 27 '14 at 18:03
• Thank you all, I'll try to use this. I'm still trying to understand the rank reduced model – Daniel Falbel Nov 28 '14 at 11:02