Dear R-community, I am currently replicating a study and obtain mostly the same results as the author. At one point, however, I calculate marginal effects that seem to be unrealistically small. I would greatly appreciate if you could have a look at my reasoning and the code below and see if I am mistaken at one point or another.
My sample contains 24535 observations, the dependent variable "x028bin" is a binary variable taking on the values 0 and 1, and there are furthermore 10 explaining variables. Nine of those independent variables have numeric levels, the independent variable "f025grouped" is a factor consisting of country names. I would like to run a probit regression including country dummies and then compute marginal effects. In order to do so, I first eliminate missing values and use cross-tabs between the dependent and independent variables to verify that there are no small or 0 cells. Then I run the probit model which works fine and I obtain reasonable results: > probit4AKIE <- glm(x028bin ~ x003 + x003squ + x025secv2 + x025terv2 + x007bin > + x04chief + x011rec + a009bin + x045mod + c001bin + f025grouped, > family=binomial(link="probit"), data=wvshm5red2delna, na.action=na.pass) > summary(probit4AKIE) However, when calculating marginal effects with all variables at their means from the probit coefficients and a scale factor, the marginal effects I obtain are much too small (e.g. 2.6042e-78). My code looks like this: > ttt <- cbind(wvshm5red2delna$x003, wvshm5red2delna$x003squ, wvshm5red2delna$x025secv2, wvshm5red2delna$x025terv2, wvshm5red2delna$x007bin, wvshm5red2delna$x04chief, wvshm5red2delna$x011rec, wvshm5red2delna$a009bin, wvshm5red2delna$x045mod, wvshm5red2delna$c001bin, wvshm5red2delna$f025grouped, wvshm5red2delna$f025grouped, wvshm5red2delna$f025grouped, wvshm5red2delna$f025grouped, wvshm5red2delna$f025grouped, wvshm5red2delna$f025grouped, wvshm5red2delna$f025grouped, wvshm5red2delna$f025grouped, wvshm5red2delna$f025grouped) #I put variable "f025grouped" 9 times because this variable consists of 9 levels > ttt <- as.data.frame(ttt) > xbar <- as.matrix(mean(cbind(1,ttt[1:19]))) #1:19 position of variables in > dataframe ttt > betaprobit4AKIE <- probit4AKIE$coefficients > zxbar <- t(xbar) %*% betaprobit4AKIE > scalefactor <- dnorm(zxbar) > marginprobit4AKIE <- scalefactor * betaprobit4AKIE[2:20] #2:20 are the > positions of variables in the output of the probit model 'probit4AKIE' > (variables need to be in the same ordering as in data.frame ttt), the > constant in the model occupies the first position > marginprobit4AKIE #in this step I obtain values that are much too small I apologize that I can not provide you with a working example as my dataset is much too large. Any comment would be greatly appreciated. Thanks a lot. Best, Tobias -- GMX DSL Doppel-Flat ab 19,99 Euro/mtl.! Jetzt mit gratis Handy-Flat! http://portal.gmx.net/de/go/dsl ______________________________________________ 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.