Daten aus R ordentlich layouten

Tabellen und Grafiken erstellen und anordnen


MoonKid
Forum-Meister
Forum-Meister
Beiträge: 689
Registriert: Sa 30. Jun 2012, 11:56

Daten aus R ordentlich layouten

Beitrag von MoonKid »

Mir sind grundsätzlich diverse Techniken/Pakete bekannt, um R-Daten und R-Code in ein Latex Dokument zu bekommen.
Jetzt geht es mir primär ums Layout. Ich möchte eine "hübsche" "Table 1" machen, die nicht wie Konsolen-Output aussieht.

Mal ein Beispiel aus R
> table(mtcars$gear)

 3  4  5 
15 12  5 
> table(mtcars$cyl)

 4  6  8 
11  7 14 
Im entgültigen PDF sollte dass dann in einer Tabelle in etwa so aussehen
Gear
. 3 16
. 4 12
. 5 5
Cyl
. 4 11
. 6 7
. 8 14
Vielleicht ein realeres Beispiel
Bild

Mir ist nicht klar, wie mit den von mir bekannten Methoden derart detaliert ins Layout eingreifen kann. Also die Daten sollen "automatisch" von R kommen. Ich möchte dann Abstände bzw. Tabellenzelle bestimmen oder auch den Einzug links.

EDIT:
Ich möchte Daten aus R automatisch (ohne sie händisch abzutippen!!!) in ein TeX-Dokument übernehmen und dabei "tief" ins Layout eingreifen, da der R-Output in der Regel zu spartanisch und unschön für ein Paper ist.
Zuletzt geändert von MoonKid am Di 29. Nov 2016, 13:34, insgesamt 1-mal geändert.
XeLaTeX, TeX Live, vim-latexsuite

Beinschuss
Forum-Meister
Forum-Meister
Beiträge: 809
Registriert: Di 2. Okt 2012, 21:42
Wohnort: NRW

Beitrag von Beinschuss »

Und was sind das für Methoden, Moonkid? So langsam müsstest Du doch wissen, dass hier detailliertere Angaben und ein Minimalbeispiel gern gesehen werden. Sonst empfehlen wir dir Sweave, und Du denkst nur: Was für'n alter Hut, damit habe ich's ja schon probiert ...

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Was das Layout angeht, hätte ich hier einen Vorschlag mittels tabularx, siunitx sowie threeparttablex:
\documentclass{scrartcl}
\usepackage[range-phrase= --, group-separator={,}]{siunitx}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage[referable]{threeparttablex}
\begin{document}
\begin{table}[htb]
 \begin{threeparttable}
 \centering
 \caption[Description of individual outcome, socioeconomic, and ethnicity variables used to asses differences in the prevalence of arthritis in Canada]{Description of individual outcome, socioeconomic, and ethnicity variables used to asses differences in the prevalence of arthritis in Canada\tnotex{tn:a}}
  \sisetup{table-number-alignment = right}
 \begin{tabularx}{\linewidth}{lXSS[table-number-alignment =center]S@{--}S[table-number-alignment = left,
                            table-format = 3.2
                            ]}
 \specialrule{2pt}{4pt}{6pt}
  \multicolumn{2}{l}{\textbf{Individual variables}}&\multicolumn{1}{>{\centering}X}{\textbf{Estimated number}}&\multicolumn{1}{>{\centering}X}{\textbf{Overall prevalence, \%}}&\multicolumn{2}{>{\centering}X}{\textbf{Prevalence by regions, range}}\\
  \midrule
  \multicolumn{6}{l}{Outcome}\\
  \rule{0pt}{10pt}&With arthritis&3929074&16,0&0,0&32,2\\
  &Without arthritis&20694247&84,0&17,8&100\\
  \multicolumn{6}{l}{Age, years}\\
    &\numrange{15}{19}&&&&\\
    &\numrange{20}{29}&&&&\\
    &\numrange{30}{39}&&&&\\
    &\numrange{40}{49}&&&&\\
    &\numrange{50}{59}&&&&\\
    &\numrange{60}{69}&&&&\\
    &$\ge 70$&&&&\\
 \multicolumn{6}{l}{Income}\\
    &$< \SI{20000}[\$]{}$&&&&\\
    \bottomrule
  \end{tabularx}
  \begin{tablenotes}[para,flushleft]
      { \item[*] \label{tn:a} Weighted to compensat for unequal samling probabilities.
      }
    \end{tablenotes}
  \end{threeparttable}
 \end{table}
\end{document}
Der Einzug der Varianten lässt sich über den \rule-Befehl anpassen, alles weitere regelt mehr oder weniger siunitx bzw. tabularx...
Dateianhänge
Arbeiten_LaTeX.pdf
(57.58 KiB) 169-mal heruntergeladen
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

MoonKid
Forum-Meister
Forum-Meister
Beiträge: 689
Registriert: Sa 30. Jun 2012, 11:56

Beitrag von MoonKid »

markusv hat geschrieben:Was das Layout angeht, hätte ich hier einen Vorschlag mittels tabularx, siunitx sowie threeparttablex:
Das Beispiel ist sehr interessant und inspiriert zu neuen Ideen. Allerdings passt es vermutlich gar nicht zu meiner Frage - dich ich wahrscheinlich mal wieder zu unklar gestellt habe.
Verstehe ich deinen Code korrekt, dass dort keine Verbindung zu R oder einer anderen Datenquelle besteht? Die Daten sind also manuell dort eingetragen?
Beinschuss hat geschrieben:Und was sind das für Methoden, Moonkid? So langsam müsstest Du doch wissen, dass hier detailliertere Angaben und ein Minimalbeispiel gern gesehen werden. Sonst empfehlen wir dir Sweave, und Du denkst nur: Was für'n alter Hut, damit habe ich's ja schon probiert ...
Ich habe ein Minimalbeispiel geliefert, auch wenn es kein TeX-Code war. Wenn ich soweit wäre ein lauffähiges tex-Beispiel zu liefern, hättte ich gleich auf stackexchange gefragt. Es geht ums Konzept (R-Daten abgreifen und tief ins Layout eingreifen) und ob und wie das möglich ist.
Anders ausgedrückt: Mir ist keine Möglichkeit bekannt - auch mit Sweave nicht.

Aber deine Antwort ist hilfreich. Wenn du mir sagst, mit Sweave geht das, werde ich mich nochmal tiefer damit befassen und weiß die Ressourcen lohnen sich. Sicher komme ich dann nochmal mit einem konkreteren Beispiel.

Nebenbei ist Sweave nicht TeX sondern ein R-Paket. Das beantwortet auch eine indirekte Frage von mir, ob man das Problem von TeX oder R-Seite aus angehen kann/soll.
XeLaTeX, TeX Live, vim-latexsuite

markusv
Forum-Meister
Forum-Meister
Beiträge: 947
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

MoonKid hat geschrieben: Verstehe ich deinen Code korrekt, dass dort keine Verbindung zu R oder einer anderen Datenquelle besteht? Die Daten sind also manuell dort eingetragen?
Ja das ist richtig, es ging mir nur um die Umsetzung der Beispieltabelle vom Layout her.

Mit R kenne ich mich leider 0 aus, sodass ich diesbezüglich keinerlei Aussagen treffen kann.

Bezüglich Import von Daten zu Latex-Tabellen kenne ich nur die Variante über csv-Dateien, allerdings kann ich auch darüber nicht viel aussagen.
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Antworten