Daten aus R ordentlich layouten

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Daten aus R ordentlich layouten

von markusv » Di 29. Nov 2016, 14:46

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.

von MoonKid » Di 29. Nov 2016, 13:32

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.

von markusv » Di 29. Nov 2016, 12:55

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) 206-mal heruntergeladen

von Beinschuss » Di 29. Nov 2016, 08:51

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 ...

Daten aus R ordentlich layouten

von MoonKid » Mo 28. Nov 2016, 22:55

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.

Nach oben