[R] qr.solve and lm

Vladimir Eremeev wl2776 at gmail.com
Tue May 15 12:27:00 CEST 2007


Dear R experts,

I have a Matlab code which I am translating to R in order to examine and
enhance it.
First of all, I need to reproduce in R the results which were already
obtained in Matlab (to make sure that everything is correct).

There are some matrix manipulations and '\' operation among them in the
code.

I have the following data frame

> ABS.df
           Pro        syn             unk                 Chl                 
Y                  Nh            V1
1  0.056524968 0.04387755 -0.073925372 0.026477146 0.083527021 0.0031950622 
0.02164793
2  0.066456284 0.05992579 -0.094609497 0.031772575 0.054881164 0.0022078221 
0.01358594
3  0.036383887 0.04601113 -0.061213302 0.021181717 0.026713530 0.0011716424 
0.00824816
4  0.020419528 0.03803340 -0.044517584 0.013935340 0.019204991 0.0008763467 
0.00577604
5  0.010209764 0.02968460 -0.030418334 0.009476031 0.013806924 0.0006554761 
0.00376991
6  0.006033043 0.02666976 -0.025735131 0.006967670 0.009778344 0.0004838437 
0.00441753
7  0.004733618 0.01168831 -0.009732966 0.006688963 0.002351775 0.0001380701 
0.00403229
8  0.000000000 0.00000000  0.000000000 0.000000000 0.000000000 0.0000000000
-0.00060456
9  0.000000000 0.00000000  0.000000000 0.000000000 0.000000000 0.0000000000
-0.00000003
11 0.241505077 0.45843930 -0.611308847 0.000000000 0.000000000 0.0584138174 
0.07397018
21 0.226065730 0.41703452 -0.558270870 0.000000000 0.000000000 0.0516895121 
0.07460447
31 0.211956969 0.37139373 -0.495174662 0.000000000 0.000000000 0.0426347324 
0.07189945
41 0.206558807 0.35022863 -0.466337208 0.000000000 0.000000000 0.0392775042 
0.06943217
51 0.197535970 0.33100673 -0.441656561 0.000000000 0.000000000 0.0363102112 
0.06912282
61 0.186798904 0.31656506 -0.416287992 0.000000000 0.000000000 0.0335613531 
0.06595377
71 0.156005203 0.24868275 -0.329660100 0.000000000 0.000000000 0.0250152915 
0.06399879
81 0.153751864 0.23900952 -0.324902567 0.000000000 0.000000000 0.0232553862 
0.05981515
91 0.144414605 0.22782217 -0.297243170 0.000000000 0.000000000 0.0209515025 
0.05981442

> qr.solve(ABS.df[,1:6],ABS.df[,7])
       Pro        syn        unk        Chl          Y         Nh 
 0.3877544  0.4282277  0.2221960 -0.8668715  0.2821082 -1.3696411 

This reproduces the Matlab's numbers 
However, I used to lm, its syntax seems to me more clear.

?lm says that it uses QR decomposition to fit the model.
Trying it:

>  coef(lm(V1~Pro+syn+unk+Chl+Y+Nh,data=ABS.df))
 (Intercept)          Pro          syn          unk          Chl           
Y           Nh 
 0.001640184  0.417253116  0.351472810  0.196977369 -0.899729874 
0.265585292 -1.181526491 

Numbers differ.
Obviously, I don't understand something. 
Please, could you clarify, what?
Thank you.

-- 
View this message in context: http://www.nabble.com/qr.solve-and-lm-tf3757650.html#a10620299
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list