Erbie: Einfache, reproduzierbare Beispiele Ihres Problems mit (R-)Syntax

Hilfe, mein R läuft nicht? Was soll ich tun?

Angenommen, Sie haben ein Problem mit R … Oder präzisieren wir, Sie haben ein Problem mit einer bestimmten R-Syntax (ob R auch ein Problem mit uns haben kann, ist nicht bekannt).

Jedenfall wollen Sie, dass R etwas bestimmtes tut. Macht es aber nicht. Jetzt könnte man es mit anschreien versuchen; Maschinen lassen das geduldig über sich ergehen. Man könnte den Computer zum Fenster rausschmeißen, das könnte auch Erleichterung bringen … Dem hab ich’s jetzt mal richtig gezeigt.

Sie entscheiden sich aber, Hilfe zu suchen. Und schreiben eine Ihnen bekannte R-Expertin an: “Hilfe, mein R läuft nicht? Was soll ich tun?” Die R-Expertin antwortet, dass sei so ähnlich wei beim Arztbesuch, Ferndiagnosen wären schwierig. Man müsse den “Patienten” (die R-Syntax) genau vor sich sehen.

Insgesamt sehr nervig, was die R-Expertin da sagt: Als ob es Ihnen keine Arbeit machen würde, das Problem exakt zu beschreiben und alles “reproduzierbar” zu gestalten, wie die ExpeRtin sind ausdrückte (was immer “reproduzierbar” bedeuten soll).

Wieso will die ExpeRtin das so genau beschrieben haben? Kann sie nicht einfach so helfen? Die Angelegenheit ist ja jetzt schon nervig genug!

ERBie: Einfache, reproduzierbare Beispiele

Wenn Sie jemanden um Hilfe bitten und die Wahrscheinlichkeit, dass die Person für Sie Ihr Problem löst, maximieren möchten, sollten Sie folgende Eckpunkte beachten.

  • Ziel: Erläutern Sie präzise, welches Verhalten von R Sie erwarten bzw. was sie erreichen möchten.
  • Zustand: Erläutern Sie, was stattdessen passiert; geben Sie etwaige Fehlermeldungen.
  • Erst recherchieren: Recherchieren Sie erst, ob das Problem nicht schon (mehrfach) gelöst wurde, also irgendwo im Internet beschrieben wurde. www.stackoverflow.com ist vielleicht der beste Ort, um Hilfe zu finden.
  • Schon probiert: Geben Sie an, was Sie selber versucht haben, um das Problem zu lösen und was dabei herausgekommen ist. Sie können auch Links zu Posts zu ähnlichen Problemen angeben, die Sie gefunden haben, die Ihnen aber nicht hilfen konnten.
  • Syntax: Stellen Sie die Syntax, die das Problem erzeugt, in Textform bereit (am besten online z.B. als Github Gist), nicht als Screenshot. Sonst muss Ihre Hilferin die Syntax abtippen.
  • Minimal: Machen Sie die Syntax so einfach und so kurz wie möglich, um nicht vom Wesentlichen abzulenken. Es bietet sich z.B. an, auf einfache, in R eingebaute Datensätze, wie mtcars zurückzugreifen.
  • Reproduzierbar: Stellen Sie sicher, dass die Syntax dass Problem konsistent aufwirft. Und stellen sie sicher, dass Ihrer Helferin alle nötigen Infos zur Verfügung stehen, um die Syntax zum Laufen zu kriegen; so müssen benötigte Daten verfügbar sein.
  • Aktuell: Stellen Sie sicher, dass die von Ihnen verwendete Sofware aktuell ist.
  • IT-Details: Geben Sie am Ende Ihres Codes die Ausgabe von sessionInfo() an, so werden Hinweise zur von Ihnen verwendeten Hard- und Software ausgegeben (vielleicht ist das Problem ja spezifisch für eine bestimmte Hardware).

Ganz schön stressig, so ein Erbie!

Sie möchten, dass jemand Ihnen hilft. Daher sollten Sie es dieser Person nicht unnötig schwer machen. Sie möchten, dass das Problem zuverlässig gelöst wird. Daher sollten Sie das Problem so aufbereiten, dass es möglichst einfach gelöst werden kann.

Weiterführende Hinweise

Viel Erfolg!

fortunes::fortune(385)
## 
## This is like asking, "My car doesn't work. Can anyone tell me what is wrong?"
##    -- Jeff Newmiller (in response to the generic question why "some packages do
##       not work" in R 3.2.5)
##       R-help (June 2016)

via GIFER