Dear All, I've been trying to run a Weighted Least Squares (WLS) regression:
Dependent variables: a 60*200 matrix (*Rit*) with 200 companies and 60 dates for each company Independent variables: a 60*4 matrix (*Ft*) with 4 factors and 60 dates for each factor Weights: a 60*200 matrix (*Wit*) with weights for 200 companies and 60 dates for each company The WLS regression I would like to run is: (Wit)*Rit = a*(Wit*F1t) + b*(Wit*F2t) + c*(Wit*F3t) + d*(Wit*F4t) + eit Ideally, I want to run WLS regressions for each company i (i.e., 200 WLS regressions in total), in each regression using weights from column i in matrix *Wit* ,and in the end obtain a 60*4 matrix with coefficients and a 200*60 matrix with residuals. However, when I run: /lm(Rit ~ Ft, weights=Wit)/ it fails because weights argument can only be vector not matrix. I have been searching old posts but couldn't find any solutions. I'm wondering if there is any other function or way to do this? I would really appreciate for your help. Thanks, Victor -- View this message in context: http://r.789695.n4.nabble.com/WLS-regression-lm-with-weights-as-a-matrix-tp3668577p3668577.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.