> lm(y ~ x-1) > solve(crossprod(x), t(x))%*%y # probably this can be done more > efficiently You could do crossprod(x,y) instead of t(x))%*%y