Frage:
Vergleich reproduzierbarer Forschungsstrategien: Brew oder Sweave vs. R2HTML
Tal Galili
2011-09-21 17:30:58 UTC
view on stackexchange narkive permalink

Dies ist ein bisschen mehr eine Frage zum Nachdenken - aber ich sehe es als wichtig an, sie zu stellen.

Ich habe in den letzten Tagen Probleme damit, eine reproduzierbarere Forschung zu haben. wie Workflow. Ich bin verwirrt mit den zwei unterschiedlichen Strategien zum Schreiben eines Berichts.

Die beiden Strategien sind:

  1. Sweave oder Brew. Wo es eine report.Rnw- oder report.brew-Datei gibt, die eine Mischung aus einer Markup-Sprache (entweder HTML oder LaTeX) und R-Code zwischen speziellen Klammern enthält (z. B. << >> = @). Diese Datei muss über Sweave oder Brew ausgeführt werden, um die Berichtsdatei (report.html oder report.tex) zu erstellen.
  2. R2HTML (für HTML) und Hmisc (für LaTeX). Wo die .r-Datei R-Funktionen verwendet, um report.html oder report.tex zu erstellen; Durch Ausführen der R-Befehle wird der Bericht direkt generiert.
  3. ol>

    Mir ist klar, dass die meisten Online-Benutzer anscheinend Option 1 verwenden. Ich verstehe jedoch nicht, warum dies bei der Option so häufig vorkommt 2 scheint mir (ohne zu viel zu experimentieren) weniger Arbeit zu sein.

    Wann ist jede der beiden Strategien besser?

Based on your comment below, I'd suggest editing the question to take out your struggles with LaTeX, as that makes it feel like it's an HTML vs LaTeX question, and mentioning the Hmisc library in method 2 as a way of doing a similar thing but with LaTeX.
Hallo Aaron, ich werde es ein bisschen bearbeiten ...
Thanks for your edit. I took the liberty of editing it further to make it clearer what Hmisc does (and some other smaller edits); if it makes it past peer review, you can decide if it still reflects your question accurately.
Just wanted to add org-mode with Babel as another way of achieving something sweave-like without the need to dig to deep into latex (or to use it as the starting point for finer latex tuning). Available in emacs.
Fünf antworten:
Aaron left Stack Overflow
2011-09-21 20:48:40 UTC
view on stackexchange narkive permalink

Neue Antwort basierend auf dem folgenden Kommentar:

Nach meinem Verständnis besteht Methode 1 darin, R-Code und HTML oder LaTeX im selben Dokument zu mischen, beispielsweise mit Sweave oder Brew , um ein endgültiges Dokument zu erstellen, während Methode 2 darin besteht, R-Code zum Generieren von HTML oder LaTeX zu verwenden, beispielsweise mit den Paketen R2HTML oder Hmisc, und dann einfach den R-Code auszuführen, um das endgültige Dokument zu erstellen. Ich habe meistens nur Methode 1 verwendet, werde aber trotzdem wiegen.

Aus meiner Sicht ist es wirklich nur eine Frage der Präferenz. Ich sehe keinen technischen oder statistischen Grund, einen dem anderen vorzuziehen. Sie sind beide Möglichkeiten, um Ihre Forschung reproduzierbar zu machen.

Ich denke, Methode 1 ist einfacher, da Sie nicht wissen müssen, welche R-Funktionen den LaTeX- oder den HTML-Code erstellen. Sie schreiben einfach R-Code und Sie schreiben HTML- oder LaTeX-Code, und die Software kümmert sich um deren Zusammenstellung. Dies gilt insbesondere dann, wenn die R-Ausgabe nur einen kleinen Teil des endgültigen Dokuments ausmacht. Es wäre beispielsweise mühsam, den R-Code zu schreiben, der für die Ausgabe von viel Text erforderlich ist. In intelligenten Texteditoren erhalten Sie auch die richtige Syntaxformatierung für jede Art von Code, die Sie bei Verwendung von R2HTML oder Hmisc nicht erhalten. Diese Methode trennt meiner Meinung nach auch die Ergebnisse sauberer vom Kommentar.

Für kurze Ausschnitte oder die Ausgabe der Ergebnisse aus einem Befehl ohne Kommentar ist die Verwendung von R2HTML oder Hmisc jedoch möglicherweise einfacher ( Aus meiner Erfahrung), wenn Sie einmal die Gewohnheit haben zu schwenken, werden Sie nie mehr zurückkehren.

Vielen Dank für die Antwort Aaron. Beachten Sie jedoch, dass die Frage nicht zwischen HTML und LaTeX besteht, sondern zwischen dem Schreiben des Berichts und dem darin enthaltenen R-Code im Vergleich zum Schreiben von R-Code, der auch Code zum Erstellen des Berichts enthält. Vielleicht sollte ich mir ein Beispiel ausdenken, um es zu veranschaulichen - aber danke, dass Sie sich die Zeit genommen haben, um zu antworten ...
Looks like both Aaron and I had the same reading of your question. I'd consider an example to illustrate, and hopefully we can be more helpful.
@TalGalili: basierend auf Ihrem Kommentar bearbeitet; Erwägen Sie auch, dies in die Frage aufzunehmen. Weitere Informationen finden Sie in meinem Kommentar zur Frage.
Aaron - danke für die aktualisierte Antwort. Ich stimme Ihrer Antwort im Allgemeinen zu. Ich muss mehr über das Sweaving nachdenken ...
Jeromy Anglim
2011-09-22 04:06:14 UTC
view on stackexchange narkive permalink

Dies sind nur einige Punkte.

  • Wenn Sie nur einfache Berichte schreiben möchten, ist der Satz an LaTeX-Befehlen, den Sie lernen müssen, viel kleiner als wenn Sie dies möchten komplexe Dinge.
  • Ein ansprechender Aspekt von LaTeX gegenüber einigen einfachen Markup-Systemen ist, dass diese Funktionen verfügbar sind, wenn Sie Funktionen wie Referenzierung, automatische Nummerierung, mehrseitige Tabellen und attraktive Texteinstellungen wünschen. Insbesondere gab es Funktionen, an die ich anfangs noch nicht einmal gedacht hatte, aber wenn ich sie brauchte, waren sie in LaTeX als Paket verfügbar.
  • Wenn Sie Ihren Abschlussbericht in einem anderen Format wünschen Format wie HTML oder RTF, dann können Sie verschiedene Konvertierungsprogramme wie Pandoc verwenden, um den Latex in dieses Format zu konvertieren.
Point 1 is reassuring :)
Abhijit
2011-09-22 07:09:51 UTC
view on stackexchange narkive permalink

Das andere schöne an LaTeX oder einem anderen Markup im Sweave / odfWeave / asciiWeave-Paradigma ist, dass Sie es für wiederholte Berichte einmal etwas besser vorlegen und dann einfach wiederverwenden können. Siehe Harrells Berichtspaket als Beispiel

Fomite
2011-09-21 22:07:50 UTC
view on stackexchange narkive permalink

Sie können beides ziemlich sicher verwenden - obwohl ich gestehe, dass ich beides überhaupt nicht benutze. Ich vermute, der Hauptgrund für die Beliebtheit der LaTeX / Sweave-Methode ist die Anzahl der Felder, die LaTeX als primäres Papier- / Präsentations- / Manuskriptformat verwenden, das Anreize für die Verwendung eines LaTeX-basierten Systems bietet. Ich kenne kein einziges Feld, in dem ein HTML-Endprodukt so direkt nützlich ist.

Keine Ahnung über die Beliebtheit von Latex aufgrund der Feldanforderungen. Ich arbeite in einem Bereich (Psychologie), in dem fast nirgendwo Tex verwendet wird, und ich verwende es immer noch (um das Zeichnen von Tabellen und das manuelle Formatieren zu vermeiden). Ich denke, seine Popularität hat mehr mit seinem Alter als mit irgendetwas anderem zu tun.
@richiemorrisroe Es gibt sicherlich einige Leute, die es aus irgendeinem Grund verwenden - sie mögen es, sie mögen keine manuelle Formatierung, was auch immer. Beim Wechseln zwischen Feldern habe ich jedoch festgestellt, dass ich auf Felder stoße, die fast * nie * LaTeX (mein eigenes) verwenden, und auf Felder, in denen einmal behauptet wurde: "Wenn es veröffentlicht werden soll, muss es in LaTex sein". Dieses Gespräch endete damit, dass ich eine Kopie der Einreichungsrichtlinien von AJE ausdrucken musste.
Ich wünschte manchmal, ich würde auf einem der schweren LaTeX-Felder arbeiten. Das würde mir viel Zeit und Ärger während meiner Promotion sparen.
M Adams
2011-09-23 14:01:16 UTC
view on stackexchange narkive permalink

Der Grund, warum Option 1 so häufig ist, ist, dass ... es so häufig ist. Sweave gibt es seit fast 10 Jahren und ist für viele R-Benutzer ein Synonym für reproduzierbare Forschung. Darüber hinaus sind die Leute, die den Ausdruck "reproduzierbare Forschung" hören und denken, "das klingt großartig", wahrscheinlich bereits mit LaTeX vertraut. Daher ist es nicht so, als würden sie zwischen zwei Optionen wählen, da viele nicht wissen, dass Option 2 überhaupt existiert.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...