The 'systemfit' function in systemfit 0.7-3 CRAN package seems to have a problem with formulas that contain transformed (eg. log) variables. If I have my data in a data frame, apparently systemfit doesn't "pass" the information of where the variables should be taken to the transforming function.
I'm not entirely sure if this is a bug or just a limitation, I was just surprised when I attempted to estimate a model, which I'd previously estimated with OLS using 'lm', with 2SLS using 'systemfit' and it didn't accept those transformations like 'lm' does. Here's an example: this is, of course, OK: > data(kmenta) > demand <- q ~ p + d > instr <- ~ d + f > fit1 <- systemfit("2SLS", eqns=list(demand), inst=instr, data=kmenta) But, now if I'd like to estimate a model with logarithm of p as a regressor, an error occurs: > demand2 <- q ~ log(p) + d > fit2 <- systemfit("2SLS", eqns=list(demand2), inst=instr, data=kmenta) Error in log(p) : Object "p" not found However, estimating the same formula with OLS using the regular 'lm' is OK: > fit2.ols <- lm(demand2, kmenta) Transforming an instrument causes the same error too: > instr2 <- ~ log(d) + f > fit3 <- systemfit("2SLS", eqns=list(demand), inst=instr2, data=kmenta) Error in log(d) : Object "d" not found One could certainly just create those transformed variables to avoid the problem, but it would be much more convenient, if it wasn't necessary, especially if several regressors are involved. > version _ platform i386-pc-mingw32 arch i386 os mingw32 system i386, mingw32 status major 2 minor 1.0 year 2005 month 04 day 18 language R Regards, -Mikko Pakkanen ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html