[R] How to create marginal effects tables in R?

Faradj Koliev faradj.g at gmail.com
Mon Aug 8 17:42:52 CEST 2016


Hi everyone, 

I have three ordered regression models where the ordered dependent variable ranges from 0 to 2. What I want to do is create marginal effects tables (not a plot) at each level (0, 1, and 2) for all three models. So, three tables with each showing the marginal effects at level 0, 1, and 2. 


## create a random data that is similar to my dataset
set.seed(987)
mydata <- data.frame(
  x1    = sample(c(0, 1, 2), 100, replace = TRUE),
  x2    = sample(c(0, 1, 2, 3, 4), 100, replace = TRUE),
  x3    = sample(c(0, 1, 2, 3, 5), 100, replace = TRUE),
  x4    = sample(c(1:100), 100, replace = TRUE),
  x5    = sample(c(10:1000), 100, replace = TRUE),
  Y1 = sample(c(0, 1, 2), 100, replace = TRUE)
)
head(mydata)

## makeit factor
mydata$Y1 <- as.factor(mydata$Y1)

## My models
M1<- polr(Y1 ~x1+x2+x3+x4, data=mydata, Hess = TRUE,  method="logistic")

M2<- polr(Y1 ~x2+x3+x4+x5, data=mydata, Hess = TRUE,  method="logistic")

M3<- polr(Y1 ~x1+x2+x3+x4+x5, data=mydata, Hess = TRUE,  method="logistic")

## Calculate marginal effects using the erer package

M1ME<- ocME(M1)

M2ME <- ocME(M2)

M3ME <- ocME(M3)


Usually I would use the package stargazer to create proper tables, for example: 
stargazer(M1,M2, M3, type = ”text”)  

However, the output from the OcME()  does not generate the same type of tables and nor can I generate tables at each level. stargazer(M1ME$out,M2ME$out, M3ME$out,  type = "text" )

Do you have any suggestion as to how to generate these types of tables?



	[[alternative HTML version deleted]]



More information about the R-help mailing list