dear R experts---I was programming a fama-macbeth panel regression (a fama-macbeth regression is essentially T cross-sectional regressions, with statistics then obtained from the time-series of coefficients), partly because I wanted faster speed than plm, partly because I wanted some additional features.
my function starts as fama.macbeth <- function( formula, din ) { names <- terms( formula ) ## omitted : I want an immediate check that the formula refers to existing variables in the data frame with English error messages monthly.regressions <- by( din, as.factor(din$month), function(dd) coef(lm(model.frame( formula, data=dd ))) as.m <- do.call("rbind", monthly.regressions) colMeans(as.m) ## or something like this. } say my data frame mydata has columns named month, r, laggedx and ... . I can call this function fama.macbeth( r ~ laggedx, din=mydata ) but it fails if I want to compute my x variables. for example, myx <- d[,"laggedx"] fama.macbeth( r ~ myx) I also wish that the computed myx still remembered that it was really laggedx. it's almost as if I should not create a vector myx but a data frame myx to avoid losing the column name. I wonder why such vectors don't keep a name attribute of some sort. there is probably an "R way" of doing this. is there? /iaw ---- Ivo Welch (ivo.we...@gmail.com) [[alternative HTML version deleted]] ______________________________________________ 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.