[R] Mimicking SPSS weighted least squares
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Mon Mar 10 23:35:43 CET 2008
Rolf Turner wrote:
> On 11/03/2008, at 4:04 AM, Ben Domingue wrote:
>
>
>> Howdy,
>> In SPSS, there are 2 ways to weight a least squares regression:
>> 1. You can do it from the regression menu.
>> 2. You can set a global weight switch from the data menu.
>> These two options have no, in my experience, been equivalent.
>> Now, when I run lm in R with the weights= switch set accordingly, I
>> get the same set of results you would see with option #1 in SPSS.
>> Does anybody know how to duplicate option #2 from SPSS in R?
>>
>
> I think it's up to you to find out what ``option #2 from SPSS'' actually
> *does*. If you know that, then you can (with a modicum of effort)
> duplicate that option in R. The help file for lm() tells you that
> R uses the weights by minimizing sum(w*e^2) where w = weights and
> e = ``errors'' or residuals.
>
>
>
I believe case weighting in SPSS effectively replicates the relevant row
(not sure if anything sensible comes out if weights are non-integer). So
lm(...., data=mydata[rep(1:nrow(mydata),w),])
or thereabouts should do it. Might not be too efficient though.
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list