2017-01-17 7 views
0

Zuerst ein Disclaimer: Ich bin ein Stata-Benutzer, der versucht, den "Sprung" zu R (langsam, aber langsam) zu machen.R - Tisch zu groß, um in das Konsolenfenster zu passen?

Ich machte ein paar einfache Kreuztabellen, als ich sah, dass einer von ihnen einfach nicht zu meiner Konsolengröße passt. In Stata passt die Kreuztabelle mit den gleichen Daten und den gleichen Variablen perfekt. In R wird alles sehr unordentlich.

Die Tabelle ist 10x10. Ein reproduzierbares Beispiel unten:

library(gmodels) 
df <- data.frame(id = 1:100, x1=sample(1:7, size=100,replace=TRUE), 
        x2 = sample(0:10, size=100, replace=TRUE)) 

CrossTable(df$x1, df$x2, prop.r=TRUE, prop.t=TRUE, prop.c=TRUE) 

Die obige Tabelle passt nicht in meinen Bildschirm. Ich bin noch nicht einmal daran interessiert, es in ein LaTeX-Dokument zu schreiben; Ich wollte nur diese Kreuzprobe erkunden. Ich bin daran interessiert, CrossTable zu verwenden, da es für mich eine gut aussehende Tabelle mit Prozentsätzen (Zeilen und Spalten) und Totalen in den Rändern erzeugt. Ich weiß nicht, ob dies ein Problem mit CrossTable ist oder ob es daran liegt, wie meine R-Installation die Ausgabe anzeigt/begrenzt. Ich habe versucht, dasselbe in einem Rmarkdown zu tun, indem ich mit "options (widht = huge_number)" ein größeres Leerzeichen angegeben habe, aber das war nutzlos.

Einige andere Threads haben mir nicht sehr geholfen. Ich konnte nichts direkt zu meinem Problem finden. Beispiele für Themen:

How do I fit a very wide grid.table or tableGrob to fit on a pdf page?

Automatically adjust LaTeX table width to fit pdf using knitr and Rstudio

R-LaTeX Wide table

Jede Hilfe wird sehr geschätzt. Ich bin auch offen für das Lernen anderer Pakete, die zu ähnlichen Ergebnissen führen. Vielen Dank!

+0

Es ist nur mir passiert mit dem kleinen Fenster von RStudio. Ich musste es nur vergrößern und der Tisch ist in Ordnung. Haben Sie versucht, den Code mit einem Vollbild-Terminal auszuführen? –

+0

Ja, das war das erste, was ich vor dem Posten ausprobiert habe. Heute Morgen, als ich wieder an die Arbeit war, machte es der Trick, den Tisch mit einem vergrößerten Konsolenbildschirm zu produzieren ... Könnte es ein "Cache" sein, der den Tisch daran hinderte, die Größe zu ändern? – YSC

Antwort

0

Der CrossTable-Aufruf erstellt tatsächlich ein Listenobjekt mit allen Teilen. Es kann für die Überprüfung nützlich sein, diese Listenobjekte zu untersuchen.

x<-CrossTable(df$x1, df$x2, prop.r=TRUE, prop.t=TRUE, prop.c=TRUE) 
x$t 
    y 
x 0 1 2 3 4 5 6 7 8 9 10 
    1 2 1 2 0 1 3 1 1 2 1 1 
    2 2 1 1 2 1 2 1 2 1 2 0 
    3 2 2 2 2 0 1 3 2 2 1 2 
    4 1 2 1 1 1 2 2 1 2 0 0 
    5 0 0 0 1 4 2 1 0 1 1 0 
    6 0 1 2 0 0 1 0 1 0 1 5 
    7 0 2 0 3 1 1 1 1 2 5 1 

round(x$prop.row,3) 
    y 
x  0  1  2  3  4  5  6  7  8  9 10 
    1 0.133 0.067 0.133 0.000 0.067 0.200 0.067 0.067 0.133 0.067 0.067 
    2 0.133 0.067 0.067 0.133 0.067 0.133 0.067 0.133 0.067 0.133 0.000 
    3 0.105 0.105 0.105 0.105 0.000 0.053 0.158 0.105 0.105 0.053 0.105 
    4 0.077 0.154 0.077 0.077 0.077 0.154 0.154 0.077 0.154 0.000 0.000 
    5 0.000 0.000 0.000 0.100 0.400 0.200 0.100 0.000 0.100 0.100 0.000 
    6 0.000 0.091 0.182 0.000 0.000 0.091 0.000 0.091 0.000 0.091 0.455 
    7 0.000 0.118 0.000 0.176 0.059 0.059 0.059 0.059 0.118 0.294 0.059 

etc ... für die Variablen prop.col und prop.tbl.

0

Schauen Sie sich diese Themen: This für Latex-PDF-Erstellung. Es kann dir helfen. Um in das Terminal zu gelangen, verwenden Sie zum Prüfen von Spalten str(columns) oder verwenden Sie das data.table Paket, um den Datenrahmen im Terminalfenster anzuzeigen. Andernfalls können Sie es Schritt für Schritt zerlegen, um den Datenrahmen zu sehen. Lassen Sie mich wissen, ob dies hilft.

+0

Dank @Amit für Ihren Kommentar. Der von Ihnen vorgeschlagene Link ist einer der in OP aufgeführten Links. Es ist irgendwie aufschlussreich, aber es beantwortet meine Frage nicht wirklich. Ich habe gerade die Hilfeseite "data.table" des Pakets durchgeblättert und konnte nicht sehen, wie es mir helfen würde. – YSC

0

Dies ist eine Arbeit um, aber es wird Ihnen die Möglichkeit geben, die Kreuztabelle wie angegeben zu sehen.

  • Zuerst in RStudio IDE ein neues R Notebook öffnen.
  • Zweitens, führen Sie den folgenden Code aus. Der '' '{r}' '' führt den R-Code im Dokument aus (beachten Sie, dass es sich um 3 Back-Ticks handelt, keine einfachen Anführungszeichen, es erscheint nicht korrekt, wenn ich es richtig codiere).

    '' '{R}

    Bibliothek (gmodels) df < - data.frame (ID = 1: 100, x1 = Probe (1: 7, size = 100, ersetzen = TRUE), x2 = Beispiel (0:10, Größe = 100, Ersetzen = WAHR))

    CT < - Kreuztabelle (df $ x1, df $ x2, prop.r = TRUE, prop.t = TRUE, prop.c = TRUE)

    Ansicht (CT)

    ''‘

  • Drittens: Wenn Sie die Ausgabe Ihres Kreuztabellen- erhalten/sehen, wird es so verrückt sein wie vor suchen. In der "oberen rechten Ecke" der Ausgabezelle finden Sie 3 Optionen "x" aus, "< <" Ein-/Ausblenden der Ausgabe und "Fenster mit Pfeil", die in einem separaten Fenster geöffnet ist. Klicken Sie auf, um das Fenster zu öffnen, und erweitern Sie dann das Fenster auf die volle Größe. Da ist dein Kreuzreiter. Genießen Sie

:)

+0

Ich denke, das ist die gleiche Ausgabe wie {as.data.frame (CrossTable (df $ x1, df $ x2, prop.r = TRUE, prop.t = TRUE, prop.c = TRUE)} – akaDrHouse

Verwandte Themen