[R] lm() of one matrix against another

baptiste Auguié ba208 at exeter.ac.uk
Sat Apr 12 16:19:03 CEST 2008


Hello R list,


I have two matrices of identical dimensions, and I want to fit a  
straight line for each pair of columns and plot the resulting lines.  
I got it to work with a for loop, but there must be a better way,


> n<-5
> N<-10
>
> data.x<-matrix(1:(n*N),ncol=n)
> data.y<-matrix(1:(n*N) + rnorm(n*N,sd=1),ncol=n)
>
> matplot(data.x,data.y,t="p",pch=1:n,bty="n")
>
> for (ii in 1:n)
> {
> test <- lm(y~x,data=list(x=data.x[,ii],y=data.y[,ii]) )
> lines(data.x[,ii],test$coefficients[1] + test$coefficients[2] *  
> data.x[,ii],lty=2,col=ii)
> }



Thanks,

baptiste


_____________________________

Baptiste Auguié

Physics Department
University of Exeter
Stocker Road,
Exeter, Devon,
EX4 4QL, UK

Phone: +44 1392 264187

http://newton.ex.ac.uk/research/emag
http://projects.ex.ac.uk/atto



More information about the R-help mailing list