2016-08-09 7 views
1

Ich habe drei geordnete Regressionsmodelle, in denen die geordnete abhängige Variable von 0 bis 2 reicht. Ich möchte für alle drei Modelle auf jeder Ebene (0, 1 und 2) marginale Effekttabellen (keine Grafik) erstellen. Also, drei Tabellen mit jeweils den marginalen Effekte auf der Ebene zeigt 0, 1 und 2.Wie erstellt man marginale Effekttabellen in R?

## create a random data that is similar to my dataset 
    set.seed(100) 
    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), 
     Z1 = sample(c(0, 1, 2), 100, replace = TRUE) 
    ) 


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

    ## My models 
    require(MASS) 

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

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

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

    ## Calculate marginal effects using the erer package 
    require(erer) 

    M1ME<- ocME(M1) 

    M2ME <- ocME(M2) 

    M3ME <- ocME(M3) 

Normalerweise würden ich das Paket verwenden stargazer richtige Tabellen zu erstellen, zB mit:

stargazer(M1,M2, M3, type = ”text”) 

jedoch , wird die Ausgabe von dem OCME() die gleiche Art von Tabellen nicht erzeugen und noch kann ich generieren Tabellen auf jeder Ebene: stargazer(M1ME$out,M2ME$out, M3ME$out, type = "text")

  • haben Sie Irgendwelche Vorschläge, wie diese Typen von Tabellen generiert werden? Sehr zeitaufwendig, dies manuell zu tun.

EDIT: So die gewünschte Ausgabe ist drei Tabellen unten angegeben erstellen (Anmerkung: Zahlen sind nicht korrekt, nur eine Abbildung)

Marginal Effekte - Stufe 0 (Z)

========================================== 
         Dependent variable:  
       ----------------------------- 
           Z1    
        (1)  (2)  (3) 
    ------------------------------------------ 
    x1    0.301    0.302 
        (0.250)    (0.250) 

    x2    0.143  0.174  0.142 
        (0.131) (0.128) (0.132) 

    x3    0.121  0.106  0.122 
        (0.117) (0.116) (0.117) 

    x4   -0.008 -0.008 -0.008 
        (0.007) (0.007) (0.007) 

    x5      -0.00004 -0.0001 
          (0.001) (0.001) 

    ------------------------------------------ 
    Observations 100  100  100 
    ========================================== 
    Note:   *p<0.1; **p<0.05; ***p<0.01 

Marginale Effekte - Stufe 1 (Z)

========================================== 
        Dependent variable:  
      ----------------------------- 
          Z1    
       (1)  (2)  (3) 
------------------------------------------ 
x1    0.301    0.302 
       (0.250)    (0.250) 

x2    0.143  0.174  0.142 
       (0.131) (0.128) (0.132) 

x3    0.121  0.106  0.122 
       (0.117) (0.116) (0.117) 

x4   -0.008 -0.008 -0.008 
       (0.007) (0.007) (0.007) 

x5      -0.00004 -0.0001 
         (0.001) (0.001) 

------------------------------------------ 
Observations 100  100  100 
========================================== 
Note:   *p<0.1; **p<0.05; ***p<0.01 

Marginale Effekte --level 3 (Z)

========================================== 
        Dependent variable:  
      ----------------------------- 
          Z1    
       (1)  (2)  (3) 
------------------------------------------ 
x1    0.301    0.302 
       (0.250)    (0.250) 

x2    0.143  0.174  0.142 
       (0.131) (0.128) (0.132) 

x3    0.121  0.106  0.122 
       (0.117) (0.116) (0.117) 

x4   -0.008 -0.008 -0.008 
       (0.007) (0.007) (0.007) 

x5      -0.00004 -0.0001 
         (0.001) (0.001) 

------------------------------------------ 
Observations 100  100  100 
========================================== 
Note:   *p<0.1; **p<0.05; ***p<0.01 
+0

Welche Art von Ausgabe suchen Sie? Stargazer spuckt nur LaTeX oder HTML-Code aus, so dass Sie es selbst optimieren können, wie Sie es für richtig halten ... –

+0

Hi Cyrus! Das ist richtig, ich dachte, es könnte einen Weg geben, es trotzdem zu optimieren. Ich möchte im Grunde eine Stargazer-ähnliche Ausgabe haben, sie sehen gut aus und sind für mich geeignet (Tabellen in Publikationsqualität). Ich habe leider keine Erfahrung in LaTeX. – Boris

+0

Sie müssen die gewünschte Ausgabe erklären ... Stargazer funktioniert gut für mich, wenn Sie die von Ihnen gelieferten Daten verwenden. Nicht sicher, wonach du suchst. Sie müssen so spezifisch wie möglich sein, wenn Sie Stack-Überlauf verwenden –

Antwort

0

Neue Entwicklungspaket auf Github an diesem etwas bekommt. Von Thomas Leeper, der hier ziemlich viel postet.

https://github.com/leeper/margins

Viel Spaß!

+0

mehr ein Vorschlag als eine Antwort, poste dies stattdessen als Kommentar! –

Verwandte Themen