Congratulations!

[Valid RSS] This is a valid RSS feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://statistik-dresden.de/feed

  1. <?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
  2. xmlns:content="http://purl.org/rss/1.0/modules/content/"
  3. xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  4. xmlns:dc="http://purl.org/dc/elements/1.1/"
  5. xmlns:atom="http://www.w3.org/2005/Atom"
  6. xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  7. xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  8. xmlns:georss="http://www.georss.org/georss"
  9. xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
  10. >
  11.  
  12. <channel>
  13. <title>Statistik Dresden</title>
  14. <atom:link href="https://statistik-dresden.de/feed/" rel="self" type="application/rss+xml" />
  15. <link>https://statistik-dresden.de</link>
  16. <description>R, R Training, R Workshop, Datenvisualisierung, R Programmierung</description>
  17. <lastBuildDate>Mon, 12 Feb 2024 17:23:36 +0000</lastBuildDate>
  18. <language>de-DE</language>
  19. <sy:updatePeriod>
  20. hourly </sy:updatePeriod>
  21. <sy:updateFrequency>
  22. 1 </sy:updateFrequency>
  23. <generator>https://wordpress.org/?v=6.4.4</generator>
  24.  
  25. <image>
  26. <url>https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2016/02/cropped-Scatter_Confint_ggplot.png?fit=32%2C32&#038;ssl=1</url>
  27. <title>Statistik Dresden</title>
  28. <link>https://statistik-dresden.de</link>
  29. <width>32</width>
  30. <height>32</height>
  31. </image>
  32. <site xmlns="com-wordpress:feed-additions:1">35603212</site> <item>
  33. <title>Storytelling mit Daten: Cole Nussbaumer Knaflic</title>
  34. <link>https://statistik-dresden.de/storytelling-mit-daten-cole-nussbaumer-knaflic/</link>
  35. <comments>https://statistik-dresden.de/storytelling-mit-daten-cole-nussbaumer-knaflic/#respond</comments>
  36. <dc:creator><![CDATA[Wolf Riepl]]></dc:creator>
  37. <pubDate>Mon, 12 Feb 2024 17:19:47 +0000</pubDate>
  38. <category><![CDATA[Praxisbeispiel]]></category>
  39. <category><![CDATA[Datenvisualisierung]]></category>
  40. <category><![CDATA[Excel]]></category>
  41. <category><![CDATA[Storytelling]]></category>
  42. <guid isPermaLink="false">https://statistik-dresden.de/?p=21060</guid>
  43.  
  44. <description><![CDATA[<p>Storytelling mit Daten zählt zu den bekanntesten Werken in seinem Bereich. Nachdem ich mehrmals auf Empfehlungen gestoßen war, unter anderem in Claus Wilkes Fundamentals of Data Visualization, las ich vor einiger Zeit Cole Nussbaumer Knaflics Werk endlich selbst (auf Englisch). Es hat sich definitiv gelohnt! Zur Person: Cole Nussbaumer Knaflic Bevor ich näher auf das &#8230; <a href="https://statistik-dresden.de/storytelling-mit-daten-cole-nussbaumer-knaflic/" class="more-link"><span class="screen-reader-text">„Storytelling mit Daten: Cole Nussbaumer Knaflic“</span> weiterlesen</a></p>
  45. The post <a href="https://statistik-dresden.de/storytelling-mit-daten-cole-nussbaumer-knaflic/">Storytelling mit Daten: Cole Nussbaumer Knaflic</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></description>
  46. <content:encoded><![CDATA[<p><strong>Storytelling mit Daten</strong> zählt zu den bekanntesten Werken in seinem Bereich. Nachdem ich mehrmals auf Empfehlungen gestoßen war, unter anderem in <a href="https://statistik-dresden.de/datenvisualisierung-fundamentals-of-data-visualization-von-claus-o-wilke/">Claus Wilkes Fundamentals of Data Visualization</a>, las ich vor einiger Zeit Cole Nussbaumer Knaflics Werk endlich selbst (auf Englisch). Es hat sich definitiv gelohnt!</p>
  47. <h2>Zur Person: Cole Nussbaumer Knaflic</h2>
  48. <p>Bevor ich näher auf das Buch eingehe, einige Worte über die Autorin. Wie wird man zur weltweit anerkannten Expertin für Storytelling mit Daten? Bevor sie sich damit selbständig machte, arbeitete sie in Analysejobs in Banken und Beteiligungsfirmen. Die prägendste Zeit verbrachte sie offenbar bei <strong>Google</strong> im Personalbereich, wo sie datenbasiert innovative Personalprogramme und Management-Methoden analysierte. Dabei stellte sie erheblichen Nachholbedarf sowohl an guter grafischer Darstellung als auch beim Lesen und Interpretieren von Grafiken fest. Bereits während ihrer Zeit bei Google entwickelte Cole Nussbaumer Knaflic einen Kurs über <a href="https://statistik-dresden.de/archives/tag/datenvisualisierung/">Datenvisualisierung</a>, den sie aufgrund großen Erfolgs wiederholte Male sowohl in Google-Büros in den USA als auch in Europa abhielt. Schließlich folgte die Selbständigkeit.</p>
  49. <h2>Zum Buch: Welche Themen behandelt <em>Storytelling mit Daten</em>?</h2>
  50. <p>Die Autorin zeichnet sich durch klare Sprache und anschauliche, praxisbezogenen Beispiele aus. Die Einleitung motivierte mich gleich: Beispiele belegen, dass die <strong>Kommunikation mit Daten in vielen Fällen deutlich verbessert werden kann</strong>.</p>
  51. <p>Anschließend geht es um die keineswegs triviale <strong>Auswahl geeigneter Visualisierungen</strong>. Sehr hilfreich das folgende Kapitel über <em>clutter</em>: Unordnung und unnötige Ablenkungen in Grafiken. Damit sind die Grundlagen gelegt, um genauer darüber nachzudenken, wie man die <strong>Aufmerksamkeit der Betrachter gezielt lenken</strong> kann.</p>
  52. <p>Wirklich gelungene <a href="https://statistik-dresden.de/archives/tag/datenvisualisierung/">Datenvisualisierung</a> erfordert nicht nur analytische Fähigkeiten &#8211; vermutlich werden viele, die aus analytischen Ausbildungen und Berufen kommen (ich schließe mich da gern ein), von dem Kapitel <strong>Denke wie ein Designer</strong> profitieren.</p>
  53. <p>Das folgende Kapitel (<em>Dissecting Model Visuals</em> / Modellvisualisierungen &#8222;zerlegen&#8220;) zeigt ausgewählte Datenvisualisierungen und beschreibt ausführlich den Denk- und Entscheidungsprozess, der zu dieser Art der Darstellung führte.</p>
  54. <p>Schließlich kommt Cole Nussbaumer Knaflic zur Kunst: dem <strong>Storytelling</strong>. Hier erhält der Leser klar verständliche, gut umsetzbare Hinweise etwa zur Struktur, zum Aufbau, zur Art der Präsentation, zur Reihenfolge, wobei sie auch ausführlich auf Unterschiede zwischen schriftlicher und mündlicher Präsentation eingeht.</p>
  55. <p>Es folgen noch drei Kapitel, die die Kernaussagen zusammenfassen, Fallstudien vorstellen und ausführliche, praxiserprobte Hinweise geben, wie es nach der Lektüre weitergehen kann.</p>
  56. <h2>Was mich an Storytelling mit Daten beeindruckt hat</h2>
  57. <p>Man merkt dem Buch an vielen Stellen wohltuend an, dass es auf reichhaltiger Praxiserfahrung der Autorin basiert. Die Grafiken sind oft erstaunlich einfach gehalten, sodass man den Fokus von technischer Machbarkeit und Gedanken an ausgefallene Tricks verschieben kann hin zu dem, was beim Betrachter wirklich ankommt und was man eigentlich vor allem herüberbringen möchte.</p>
  58. <figure id="attachment_21065" aria-describedby="caption-attachment-21065" style="width: 241px" class="wp-caption alignright"><img fetchpriority="high" decoding="async" class="wp-image-21065 size-medium" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2024/02/cover_Storytelling-Nussbaumer-Knaflic-eng-241x300.jpg?resize=241%2C300&#038;ssl=1" alt="Storytelling with Data: Cole Nussbaumer Knaflic, english book cover" width="241" height="300" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2024/02/cover_Storytelling-Nussbaumer-Knaflic-eng.jpg?resize=241%2C300&amp;ssl=1 241w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2024/02/cover_Storytelling-Nussbaumer-Knaflic-eng.jpg?w=374&amp;ssl=1 374w" sizes="(max-width: 241px) 85vw, 241px" data-recalc-dims="1" /><figcaption id="caption-attachment-21065" class="wp-caption-text">Storytelling with Data: Cole Nussbaumer Knaflic, Englisches Buchcover</figcaption></figure>
  59. <p>Bei der Lektüre wurde mir noch deutlicher als bisher klar, dass Storytelling Mut erfordert. Im Business-Kontext neigen wir eventuell dazu, nüchtern und faktenbasiert zu denken und zu argumentieren. Das kann oft in wenig ansprechenden, schnell vergessenen Präsentationen münden. Geschichten zu erzählen, ist nicht unsachlich oder unprofessionell, wenn wir dabei seriös und fachlich fundiert vorgehen. Ein Abschnitt aus dem <em>Storytelling</em>-Kapitel bleibt mir besonders im Gedächtnis, wo die Autorin die Rotkäppchen-Geschichte im Stil einer langweiligen Powerpoint-Präsentation darstellt, inspiriert von <strong>Libby Spears</strong>. Das beginnt in etwa so:</p>
  60. <ul>
  61. <li>Rotkäppchen (RK) muss 0,87 Kilometer von Punkt A (zuhause) zu Punkt B (Großmutter) zu Fuß gehen.</li>
  62. <li>RK trifft Wolf, der
  63. <ul>
  64. <li>(1) zu Großmutter vorausläuft,</li>
  65. <li>(2) sie isst,</li>
  66. <li>(3) ihre Kleidung anlegt.</li>
  67. </ul>
  68. </li>
  69. <li>&#8230;</li>
  70. </ul>
  71. <p>Mit Mut lassen sich auch Geschäftsberichte interessanter erzählen!</p>
  72. <p>Interessant fand ich auch die Empfehlung, beim Nachdenken über die Story, die man erzählen will, zunächst <strong>ohne Software</strong> zu arbeiten. Das mag im ersten Moment im 21. Jahrhundert überraschend klingen, doch ich kann die Begründung sehr gut nachvollziehen: Zu schnell lässt man sich von technischen Details ablenken, anstatt sich zunächst auf die Grundzüge der Geschichte zu konzentrieren. Ich kenne auch das Hin- und Herschieben von grafischen Elementen in Powerpoint, das mich inhaltlich nicht weiterbringt. (Artikel-Hinweis: <a href="https://statistik-dresden.de/datenanalysen-praesentieren-warum-ich-nicht-powerpoint-verwende/">Datenanalysen präsentieren: Warum ich nicht Powerpoint verwende</a>.)</p>
  73. <h2>Fazit: Storytelling mit Daten</h2>
  74. <p>Datenvisualisierung ist ein weites Feld und wer in diesem Bereich überzeugen will, wird nicht mit einem einzigen Buch auskommen. <em>Storytelling mit Daten</em> glänzt durch eine Fülle an praxiserprobten Hinweisen und wird sicher viele Leser bereichern.</p>
  75. <p>Was <em>Storytelling mit Daten</em> nicht leistet, ist eine umfassende Übersicht über Arten von Grafiken. Die Autorin hat eine begrenzte Auswahl an nicht gerade ausgefallenen Grafiktypen ausgewählt, mit denen man klare Botschaften kommunizieren kann. Die Grafiken sind alle mit <a href="https://statistik-dresden.de/archives/tag/excel/">Excel</a> umsetzbar. Man lernt mit dem Buch also auch keine neuen Softwaretools kennen. Jedoch sind die Erkenntnisse mit vielen Tools anwendbar.</p>
  76. <h2>Datenvisualisierung: Weitere Buchempfehlungen und Kurse</h2>
  77. <p>Weitere Buchbesprechungen zur Datenvisualisierung auf diesem Blog:</p>
  78. <ul>
  79. <li><a href="https://statistik-dresden.de/datenvisualisierung-fundamentals-of-data-visualization-von-claus-o-wilke/">Fundamentals of Data Visualization</a> von Claus O. Wilke</li>
  80. <li><a href="https://statistik-dresden.de/informationen-visualisieren-edward-tuftes-klassiker-envisioning-information/">Envisioning Information</a> von Edward Tufte</li>
  81. </ul>
  82. <p>Von <strong>Edward Tufte</strong> sind sicher auch weitere Werke empfehlenswert. Auf meinem Lesetisch liegt zur Zeit <strong>Show Me The Numbers</strong> von <strong>Stephen Few</strong>.</p>
  83. <p>Über Das Buch <em>The Grammar of Graphics</em> von <strong>Leland Wilkinson</strong> habe ich zwar nicht direkt geschrieben, jedoch behandeln die Beiträge <a href="https://statistik-dresden.de/ggplot2-einfuehrung-in-die-drei-basisschichten-daten-aesthetiken-geometrien/">ggplot2: Einführung in die drei Basisschichten – Daten, Ästhetiken, Geometrien</a> sowie<a href="https://statistik-dresden.de/ggplot2-die-4-fortgeschrittenen-schichten/"> ggplot2: Die vier fortgeschrittenen Schichten</a> wesentliche Grundideen daraus.</p>
  84. <p>Meine Beiträge zum <a href="https://statistik-dresden.de/archives/tag/datenvisualisierung/">Stichwort Datenvisualisierung</a> beziehen sich ansonsten häufig auf die <strong>Umsetzung mit R und Erweiterungspaketen. </strong>Dazu biete ich derzeit zwei Kurse an: <a href="https://statistik-dresden.de/r-schulungen/professionelle-diagramme-mit-ggplot2/">Datenvisualisierung mit R und ggplot2</a> sowie <a href="https://statistik-dresden.de/r-schulungen/datenvisualisierung-mit-r-fuer-fortgeschrittene/">Datenvisualisierung mit R für Fortgeschrittene</a>.</p>
  85. <p>Literatur (Hinweis: bezahlte Links):</p>
  86. <p><a href="https://amzn.to/3Suj6hS">Storytelling mit Daten: Die Grundlagen der effektiven Kommunikation und Visualisierung mit Daten (Cole Nussbaumer Knaflic)</a></p>
  87. <p><a href="https://amzn.to/4aW3pse">Fundamentals of Data Visualization: Claus Wilke</a></p>
  88. <p><a href="https://amzn.to/3O9wkiY">Edward Tufte: Envisioning Information</a></p>The post <a href="https://statistik-dresden.de/storytelling-mit-daten-cole-nussbaumer-knaflic/">Storytelling mit Daten: Cole Nussbaumer Knaflic</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></content:encoded>
  89. <wfw:commentRss>https://statistik-dresden.de/storytelling-mit-daten-cole-nussbaumer-knaflic/feed/</wfw:commentRss>
  90. <slash:comments>0</slash:comments>
  91. <post-id xmlns="com-wordpress:feed-additions:1">21060</post-id> </item>
  92. <item>
  93. <title>Von SAS zu R in der Pharmaindustrie: Paradigmenwechsel!</title>
  94. <link>https://statistik-dresden.de/von-sas-zu-r-in-der-pharmaindustrie-paradigmenwechsel/</link>
  95. <comments>https://statistik-dresden.de/von-sas-zu-r-in-der-pharmaindustrie-paradigmenwechsel/#respond</comments>
  96. <dc:creator><![CDATA[Wolf Riepl]]></dc:creator>
  97. <pubDate>Wed, 31 Jan 2024 20:18:39 +0000</pubDate>
  98. <category><![CDATA[R-Programmierung]]></category>
  99. <category><![CDATA[klinische Studien]]></category>
  100. <category><![CDATA[Open Source]]></category>
  101. <category><![CDATA[Pharmaindustrie]]></category>
  102. <category><![CDATA[pharmaverse]]></category>
  103. <category><![CDATA[tidyverse]]></category>
  104. <guid isPermaLink="false">https://statistik-dresden.de/?p=20140</guid>
  105.  
  106. <description><![CDATA[<p>In den Biowissenschaften und der Pharmaindustrie spielen Datenverarbeitung und insbesondere statistische Datenanalysen eine fundamentale Rolle. Seit Jahrzehnten dominierte dabei die kommerzielle Software SAS (Statistical Analysis System). Nun sind starke Initiativen auf mehreren Ebenen hin zum Einsatz von R in der Pharmaindustrie zu beobachten - verbunden mit einem erstaunlichen Kulturwandel!</p>
  107. The post <a href="https://statistik-dresden.de/von-sas-zu-r-in-der-pharmaindustrie-paradigmenwechsel/">Von SAS zu R in der Pharmaindustrie: Paradigmenwechsel!</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></description>
  108. <content:encoded><![CDATA[<p>In den Biowissenschaften und der Pharmaindustrie spielen Datenverarbeitung und insbesondere statistische Datenanalysen eine fundamentale Rolle. Seit Jahrzehnten dominierte dabei die <strong>kommerzielle Software SAS</strong> (<em>Statistical Analysis System</em>). Nun sind starke Initiativen auf mehreren Ebenen hin zum Einsatz von R in der Pharmaindustrie zu beobachten.</p>
  109.  
  110.  
  111.  
  112. <h2 class="wp-block-heading">Gründe für die jahrzehntelange SAS-Dominanz</h2>
  113.  
  114.  
  115.  
  116. <p>Diese Dominanz hat mehrere Gründe, wie <a href="https://appsilon.com/r-vs-sas-pharma-life-sciences/">Gift Kenneth kürzlich auf dem Blog von Appsilon schrieb</a>:</p>
  117.  
  118.  
  119.  
  120. <ul>
  121. <li><strong>Historische Relevanz</strong>: langjährige Vertrauensverhältnisse seit den 1970er Jahren</li>
  122.  
  123.  
  124.  
  125. <li>Der fundierte Ruf, die <strong>regulatorischen Anforderungen</strong>, etwa von der <strong>FDA</strong> (<em>U.S. Food and Drug Administration</em>) genau einzuhalten</li>
  126.  
  127.  
  128.  
  129. <li>Abdeckung aller Arbeitsschritte <strong>klinischer Studien</strong></li>
  130.  
  131.  
  132.  
  133. <li>Starke Tools für die <strong>Datenintegration</strong> aus verschiedenen Quellen</li>
  134.  
  135.  
  136.  
  137. <li><strong>Flexible Anpassungsmöglichkeiten</strong> durch Programmierung</li>
  138. </ul>
  139.  
  140.  
  141.  
  142. <h2 class="wp-block-heading">Nachteile von SAS</h2>
  143.  
  144.  
  145.  
  146. <p>Allerdings brachte SAS auch schon immer einige Nachteile mit sich, die zumindest einen Anreiz setzten, offen für Alternativen zu bleiben:</p>
  147.  
  148.  
  149.  
  150. <ul>
  151. <li>Hohe <strong>Lizenzkosten</strong></li>
  152.  
  153.  
  154.  
  155. <li>Steile <strong>Lernkurve</strong>, auch im Vergleich zu <a href="https://statistik-dresden.de/archives/tag/open-source/">Open-Source-Software</a> wie R</li>
  156.  
  157.  
  158.  
  159. <li>Begrenzte Offenheit: Als <strong>kommerzielle / proprietäre Softwar</strong>e ist SAS weniger offen für Erweiterungen als Alternativen wie R</li>
  160. </ul>
  161.  
  162.  
  163.  
  164. <h2 class="wp-block-heading">Wachsende Popularität von R</h2>
  165.  
  166.  
  167.  
  168. <ul>
  169. <li><strong>Open Source</strong>: frei verfügbar ohne Budget-Restriktionen; das erleichtert Zusammenarbeit und Innovation</li>
  170.  
  171.  
  172.  
  173. <li>Riesige Anzahl an <strong>Erweiterungspaketen</strong> durch globale Entwickler-Gemeinschaft</li>
  174.  
  175.  
  176.  
  177. <li><strong>Flexibilität</strong> und Anpassbarkeit an individuelle Bedürfnisse / Herausforderungen</li>
  178. </ul>
  179.  
  180.  
  181.  
  182. <h2 class="wp-block-heading">Spezifische Vorteile, R zu nutzen</h2>
  183.  
  184.  
  185. <div class="wp-block-image">
  186. <figure class="alignright size-full"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2011/08/Rlogo.png?ssl=1"><img decoding="async" width="200" height="155" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2011/08/Rlogo.png?resize=200%2C155&#038;ssl=1" alt="" class="wp-image-12371" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2011/08/Rlogo.png?w=200&amp;ssl=1 200w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2011/08/Rlogo.png?resize=150%2C116&amp;ssl=1 150w" sizes="(max-width: 200px) 85vw, 200px" data-recalc-dims="1" /></a></figure></div>
  187.  
  188.  
  189. <ul>
  190. <li><strong>Reproduzierbarkeit:</strong> z. B. durch <a href="https://statistik-dresden.de/r-schulungen/ergebnisse-berichten-mit-r-reproduzierbare-workflows-dank-markdown/">Berichtsformate wie Quarto und Markdown</a></li>
  191.  
  192.  
  193.  
  194. <li><strong>Datenvisualisierung</strong>: Enorme Möglichkeiten durch <a href="https://statistik-dresden.de/archives/tag/ggplot2/">ggplot2</a> und zahlreiche spezialisierte Erweiterungspakete</li>
  195.  
  196.  
  197.  
  198. <li><strong>Datenintegration</strong> aus verschiedenen Quellen, inklusive <a href="https://statistik-dresden.de/archives/tag/datenbank/">Datenbanken</a> und <a href="https://statistik-dresden.de/archives/tag/excel/">Excel</a></li>
  199.  
  200.  
  201.  
  202. <li><strong>Unterstützung</strong> von der weltweiten Gemeinschaft von Entwicklern und Anwendern, z. B. in zahlreichen Foren, Blogs, auf Github, auf Social Media, in <a href="https://www.youtube.com/@StatistikinDD">Youtube-Videos</a> etc.</li>
  203.  
  204.  
  205.  
  206. <li><strong>Kosten-Effizienz</strong> durch Wegfall der Lizenzgebühren</li>
  207.  
  208.  
  209.  
  210. <li>Kürzere / <strong>schneller</strong>e Abläufe von Rohdaten zu Einsichten, <strong><em>Business Value</em></strong></li>
  211.  
  212.  
  213.  
  214. <li><strong>Größere Auswahl an Bewerbern</strong> / potenziellen Mitarbeitern, da es zunehmend mehr R-Experten als SAS-Experten gibt</li>
  215. </ul>
  216.  
  217.  
  218.  
  219. <h2 class="wp-block-heading">Von SAS zu R in der Pharmaindustrie: Herausforderungen</h2>
  220.  
  221.  
  222.  
  223. <p>Trotz der Vorteile ist es ein großer Schritt, Arbeitsabläufe auf R umzustellen. Dabei sind einige Herausforderungen zu meistern:</p>
  224.  
  225.  
  226.  
  227. <ul>
  228. <li><strong>Regulatorische Anforderungen</strong>: Entwicklung maßgeschneiderter Prozesse, um alle Anforderungen, etwa hinsichtlich Dokumentation und Handhabung der Daten, einzuhalten</li>
  229.  
  230.  
  231.  
  232. <li><strong>Datensicherheit</strong>, Schutz vertraulicher Informationen</li>
  233.  
  234.  
  235.  
  236. <li><strong>Software-Validierung</strong></li>
  237. </ul>
  238.  
  239.  
  240.  
  241. <p>Diese Hürden sind nicht trivial! In den letzten Jahren hat sich in dieser Hinsicht sehr viel getan &#8211; vor dem Hintergrund jahrzehntelang etablierter Abläufe und strenger Richtlinien stellt das einen erstaunlichen Wandel auf mehreren Ebenen dar.</p>
  242.  
  243.  
  244.  
  245. <h2 class="wp-block-heading">R in der Pharmaindustrie: Kulturwandel, Kooperation</h2>
  246.  
  247.  
  248.  
  249. <p>Neben all den technischen Aspekten finde ich dabei auch den Kulturwandel sehr beeindruckend, der von der Geheimhaltung eigener Lösungen mit Blick auf den harten Wettbewerb zu erstaunlich umfangreicher Kooperation geführt hat. Dazu zählen Konferenzen mit Erfahrungsaustausch (<em><strong>R/Pharma</strong></em>), öffentlich zugängliche Videos mit gesammelten Erfahrungen, die gemeinsame Entwicklung von R-Paketen (<em><strong>pharmaverse</strong></em>) sowie gemeinsame Arbeitsgruppen (etwa die <em><strong>R Submissions Working Group</strong></em>).</p>
  250.  
  251.  
  252.  
  253. <p>In der <a href="https://pharmaverse.org/charter/"><strong>Charter des pharmaverse </strong></a>heißt es, die Branche sei nie so offen für Zusammenarbeit über Firmengrenzen hinweg gewesen wie jetzt.</p>
  254.  
  255.  
  256.  
  257. <h2 class="wp-block-heading">R in der Pharmaindustrie: Das pharmaverse</h2>
  258.  
  259.  
  260. <div class="wp-block-image">
  261. <figure class="alignleft size-full is-resized"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2024/01/logo-pharmaverse.png?ssl=1"><img decoding="async" width="324" height="356" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2024/01/logo-pharmaverse.png?resize=324%2C356&#038;ssl=1" alt="R in der Pharmaindustrie: Logo der pharmaverse-Paketsammlung" class="wp-image-20190" style="width:166px;height:auto" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2024/01/logo-pharmaverse.png?w=324&amp;ssl=1 324w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2024/01/logo-pharmaverse.png?resize=273%2C300&amp;ssl=1 273w" sizes="(max-width: 324px) 85vw, 324px" data-recalc-dims="1" /></a></figure></div>
  262.  
  263.  
  264. <p>Das <em>pharmaverse</em> erlangte mit der <a href="https://youtu.be/NW9qp5QOlIU?si=t4rPQkMCIja1rHPL">R in Pharma-Konferenz 2021 durch Ben Straub  (GSK) und Eli Miller (Atorus Research)</a> große Popularität und ist schnell gewachsen. Dabei ist es nicht als isolierter Teil der R-Paket-Welt zu sehen, vielmehr knüpfen etliche <em>pharmaverse</em>-Pakete eng an bestehenden, sehr breit genutzten Paketen wie dem <strong><a href="https://statistik-dresden.de/archives/tag/tidyverse/" title="">tidyverse</a></strong> an. Hier einige zentrale R-Pakete des <em>pharmaverse</em>:</p>
  265.  
  266.  
  267.  
  268. <ul>
  269. <li><a href="https://pharmaverse.github.io/admiral/">{admiral}</a> für die Erstellung von <strong>ADaM</strong>-Datensätzen (<em>Analysis Data Model</em>)</li>
  270.  
  271.  
  272.  
  273. <li><a href="https://insightsengineering.github.io/rtables/main/">{rtables}</a> für komplexe Tabellen, die in den Formaten ASCII, HTML, PDF oder Power Point (als flextable-Objekte) ausgegeben werden können</li>
  274.  
  275.  
  276.  
  277. <li><a href="https://pharmaverse.github.io/tidytlg/main/" title="">{tidytlg}</a> zur Erstellung von Tabellen, Listen, Grafiken auf Basis des <a href="https://statistik-dresden.de/archives/tag/tidyverse/" title="">tidyverse</a></li>
  278.  
  279.  
  280.  
  281. <li><a href="https://atorus-research.github.io/pharmaRTF/" title="">{pharmaRTF}</a> als Brücke von bestehenden Tabellen-Paketen wie {gt} oder {huxtable} zum <strong>RTF-Format</strong>; siehe auch {<a href="https://merck.github.io/r2rtf/" title="">r2rtf</a>} von Merck</li>
  282.  
  283.  
  284.  
  285. <li><a href="https://atorus-research.github.io/Tplyr/index.html" title="">{Tplyr}</a>, um die Zusammenfassung klinischer Studienergebnisse zu erleichtern</li>
  286. </ul>
  287.  
  288.  
  289.  
  290. <p><strong>Weitere Infos zum pharmaverse:</strong></p>
  291.  
  292.  
  293.  
  294. <ul>
  295. <li><a href="https://pharmaverse.org/" title="">pharmaverse.org</a> mit Übersicht über Pakete und Beitragende</li>
  296.  
  297.  
  298.  
  299. <li><a href="https://github.com/pharmaverse" title="">github-Seite</a>: pharmaverse, aktuell bereits >40 Repositories!</li>
  300.  
  301.  
  302.  
  303. <li><a href="https://posit.co/blog/pharmaverse-packages-for-clinical-reporting-workflows/" title="">Blogbeitrag von posit</a> (<a href="https://statistik-dresden.de/aus-rstudio-wurde-posit/" title="">früher RStudio</a>)</li>
  304.  
  305.  
  306.  
  307. <li><a href="https://appsilon.com/pharmaceutical-and-clinical-trial-data-analysis-packages/" title="">Blogbeitrag von appsilon</a> mit sehr umfangreicher Paket-Übersicht</li>
  308.  
  309.  
  310.  
  311. <li><a href="https://pharmaverse.r-universe.dev/builds" title="">pharmaverse auf r-universe</a>, einer zunehmend populären CRAN-Alternative; dazu gibt es ebenfalls eine <a href="https://github.com/r-universe/pharmaverse" title="">github-Seite</a></li>
  312.  
  313.  
  314.  
  315. <li><a href="https://cran.r-project.org/web/packages/pharmaverse/index.html" title="">CRAN-Seite zum R-Paket pharmaverse</a>, das bei der Navigation hilft</li>
  316.  
  317.  
  318.  
  319. <li><a href="https://www.youtube.com/channel/UCxQFEv8HNqM01DXzdQLCy6Q" title="">pharmaverse auf Youtube</a></li>
  320. </ul>
  321.  
  322.  
  323.  
  324. <h2 class="wp-block-heading">R/Pharma-Konferenzen</h2>
  325.  
  326.  
  327.  
  328. <p>2018 fand die <a href="https://rinpharma.com/event/rinpharma2018/" title="">erste R/Pharma-Konferenz an der Harvard-Universität</a> statt, seitdem jährlich. Von 2020 bis 2023 wurden die Konferenzen zu 100% online durchgeführt. Auf <a href="https://rinpharma.com/" title="">rinpharma.com</a> werden die Veranstaltungen ausführlich dokumentiert.</p>
  329.  
  330.  
  331.  
  332. <p><strong>Themen im Oktober 2023 unter anderem:</strong></p>
  333.  
  334.  
  335.  
  336. <ul>
  337. <li>{admiral}-Anwendung</li>
  338.  
  339.  
  340.  
  341. <li>Rollen-Veränderungen in der &#8222;Programmierung&#8220; in der Pharmaindustrie</li>
  342.  
  343.  
  344.  
  345. <li>Interaktive Datenvisualisierungen; mehrere Workshops zu <a href="https://statistik-dresden.de/r-schulungen/shiny-interaktive-webapplikationen-mit-r/" title="">Shiny</a></li>
  346. </ul>
  347.  
  348.  
  349.  
  350. <h2 class="wp-block-heading">R in der Pharmaindustrie: Arbeitsgruppen</h2>
  351.  
  352.  
  353.  
  354. <p>Weitere Belege für Initiativen, die immer stärker R in der Pharmaindustrie verankern:</p>
  355.  
  356.  
  357.  
  358. <ul>
  359. <li><strong><a href="https://rconsortium.github.io/submissions-wg/" title="">R Submissions Working Group:</a></strong> Arbeitsgruppe für R-basierte Zulassungsanträge für klinische Studien beim R Consortium</li>
  360.  
  361.  
  362.  
  363. <li><a href="https://www.pharmar.org/" title=""><strong>R Validation Hub:</strong></a> Unterstützung der Einführung von R in einem biopharmazeutischen Regulierungsumfeld, bereits über 40 teilnehmende Organisationen und Unternehmen</li>
  364.  
  365.  
  366.  
  367. <li>Siehe auch <strong><a href="https://phuse.global/" title="">PHUSE:</a></strong> <em>The Global Healthcare Data Science Community</em></li>
  368. </ul>
  369.  
  370.  
  371.  
  372. <h2 class="wp-block-heading">Videos und Links zu R in der Pharmaindustrie</h2>
  373.  
  374.  
  375.  
  376. <figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
  377. <iframe loading="lazy" class="youtube-player" width="840" height="473" src="https://www.youtube.com/embed/APMDOS4v9Hk?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=de-DE&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe>
  378. </div><figcaption class="wp-element-caption">R/Pharma 2022 Day 2: Ross Farrugia. Breaking boundaries through open-source collaboration</figcaption></figure>
  379.  
  380.  
  381.  
  382. <figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
  383. <iframe loading="lazy" title="Shifting to an Open-Source Backbone in Clinical Trials with Roche" width="840" height="473" src="https://www.youtube.com/embed/nqJsLSLd39A?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
  384. </div><figcaption class="wp-element-caption">Shifting to an Open-Source Backbone in Clinical Trials with Roche</figcaption></figure>
  385.  
  386.  
  387.  
  388. <figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
  389. <iframe loading="lazy" class="youtube-player" width="840" height="473" src="https://www.youtube.com/embed/EqKhmJ1lcN8?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=de-DE&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe>
  390. </div><figcaption class="wp-element-caption">R Validation Hub Mini-Series Part I &#8211; Risk Metrics and Risk Score Package</figcaption></figure>
  391.  
  392.  
  393.  
  394. <p><a href="https://posit.co/blog/shiny-use-cases-within-pharma/" title="">Mehrere kurze Videos mit <strong>Eric Nantz</strong>, Vorreiter der Shiny-Nutzung in der Pharmaindustrie</a></p>
  395.  
  396.  
  397.  
  398. <p><a href="https://appsilon.com/first-r-based-submission-to-fda-by-novo-nordisk/" title="">Novo Nordisk: Erfahrungen aus der ersten R-basierten Einreichung bei der FDA</a></p>
  399.  
  400.  
  401.  
  402. <p><a href="https://posit.co/blog/celebrating-5-years-of-r-pharma/" title="">Posit Blog: 5 Jahre R/Pharma-Konferenzen</a></p>
  403.  
  404.  
  405.  
  406. <p>Gern unterstütze ich Sie dabei, mehr mit R zu erreichen! <a href="https://statistik-dresden.de/r-schulungen/" title="">Hier geht&#8217;s zu den Workshops</a>. Bei inhouse-Schulungen bereite ich das Material gern in Abstimmung mit Ihnen maßgeschneidert vor.</p>
  407.  
  408.  
  409.  
  410. <p>Viel Freude und Erfolg mit R!</p>The post <a href="https://statistik-dresden.de/von-sas-zu-r-in-der-pharmaindustrie-paradigmenwechsel/">Von SAS zu R in der Pharmaindustrie: Paradigmenwechsel!</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></content:encoded>
  411. <wfw:commentRss>https://statistik-dresden.de/von-sas-zu-r-in-der-pharmaindustrie-paradigmenwechsel/feed/</wfw:commentRss>
  412. <slash:comments>0</slash:comments>
  413. <post-id xmlns="com-wordpress:feed-additions:1">20140</post-id> </item>
  414. <item>
  415. <title>6 Jahre R-Seminare / R-Kurse / R-Workshops: Erfahrungsbericht</title>
  416. <link>https://statistik-dresden.de/6-jahre-r-seminare-r-kurse-r-workshops-erfahrungsbericht/</link>
  417. <comments>https://statistik-dresden.de/6-jahre-r-seminare-r-kurse-r-workshops-erfahrungsbericht/#respond</comments>
  418. <dc:creator><![CDATA[Wolf Riepl]]></dc:creator>
  419. <pubDate>Fri, 05 Jan 2024 15:31:59 +0000</pubDate>
  420. <category><![CDATA[R-Programmierung]]></category>
  421. <category><![CDATA[ggplot2]]></category>
  422. <category><![CDATA[Markdown]]></category>
  423. <category><![CDATA[plotly]]></category>
  424. <category><![CDATA[Powerpoint]]></category>
  425. <category><![CDATA[quarto]]></category>
  426. <category><![CDATA[rmarkdown]]></category>
  427. <category><![CDATA[shiny]]></category>
  428. <category><![CDATA[tidyverse]]></category>
  429. <category><![CDATA[xaringan]]></category>
  430. <guid isPermaLink="false">https://statistik-dresden.de/?p=18128</guid>
  431.  
  432. <description><![CDATA[<p>Seit etwa 6 Jahren liegt mein beruflicher Fokus auf der Entwicklung und Durchführung von R-Workshops / R-Seminaren / R-Kursen. Zeit, über einige Erfahrungen zu reflektieren. R-Seminare: Wie kam es dazu? Nach dem Soziologie-Studium und einer kurz befristeten Stelle an der Medizinischen Fakultät der Universität Leipzig, wo ich Zusammenhänge von Lebensstilen und Ernährungsverhalten von Jugendlichen und &#8230; <a href="https://statistik-dresden.de/6-jahre-r-seminare-r-kurse-r-workshops-erfahrungsbericht/" class="more-link"><span class="screen-reader-text">„6 Jahre R-Seminare / R-Kurse / R-Workshops: Erfahrungsbericht“</span> weiterlesen</a></p>
  433. The post <a href="https://statistik-dresden.de/6-jahre-r-seminare-r-kurse-r-workshops-erfahrungsbericht/">6 Jahre R-Seminare / R-Kurse / R-Workshops: Erfahrungsbericht</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></description>
  434. <content:encoded><![CDATA[<p>Seit etwa 6 Jahren liegt mein beruflicher Fokus auf der Entwicklung und Durchführung von R-Workshops / R-Seminaren / R-Kursen. Zeit, über einige Erfahrungen zu reflektieren.</p>
  435. <h2>R-Seminare: Wie kam es dazu?</h2>
  436. <p>Nach dem Soziologie-Studium und einer kurz befristeten Stelle an der Medizinischen Fakultät der Universität Leipzig, wo ich Zusammenhänge von Lebensstilen und Ernährungsverhalten von Jugendlichen und jungen Erwachsenen erforschte, machte ich mich 2007 selbständig. Gute 10 Jahre lang führte ich Datenanalysen für diverse Marktforschungsinstitute durch und betreute nebenbei Studenten und Doktoranden bei statistischen Auswertungen. Schon in dieser Zeit hatte ich gelegentlich Schulungen durchgeführt &#8211; die Initiative kam dabei von den Auftraggebern.</p>
  437. <p>Im Laufe der Jahre wurde ich zunehmend unzufriedener mit meiner Tätigkeit. Zum einen erwies sich der Fokus auf <a href="https://statistik-dresden.de/archives/category/praxisbeispiel/spss">SPSS</a> (und, zu einem deutlich geringeren Teil, <a href="https://statistik-dresden.de/archives/tag/stata">Stata</a>) als problematisch. Die Software aktuell zu halten, ist für einen Solo-Selbständigen mit hohen Kosten verbunden. Zum anderen, und das wog schwerer, hatte ich Mühe, eine einigermaßen gleichmäßige Auslastung sicherzustellen. Projekte wurden häufig unter Zeitdruck durchgeführt; Anfragen kamen oft in Wellen. Wenn ich ohnehin schon gut ausgelastet war, kamen weitere Anfragen von treuen Kunden, die ich nicht ohne weiteres guten Gewissens ablehnen konnte. Andererseits war phasenweise weniger zu tun, zugesagte Projekte verschoben sich und ich konnte nicht zu meiner Wunschzeit in Projektarbeit einsteigen. Dabei hatte ich es lange Zeit genossen, kaum Akquise machen zu müssen. Ich erhielt viele Folgeaufträge, sodass ich mit einer überschaubaren Anzahl treuer Kunden langfristig zusammenarbeitete.</p>
  438. <p>Schon zu <a href="https://statistik-dresden.de/archives/category/praxisbeispiel/spss">SPSS</a>-Zeiten hatte ich, leider erfolglos, versucht, stärker auf Schulungen zu setzen.</p>
  439. <h2>Krise und Neuausrichtung</h2>
  440. <p>Ein Wendepunkt war das Jahr 2014. Einerseits privat unvergesslich dank der Hochzeit mit meiner langjährigen Partnerin. Beruflich jedoch breitete sich mehr und mehr das Gefühl aus, in eine Sackgasse geraten zu sein. Ich war unausgeglichen, gereizt, hatte Mühe mich zu entspannen, verdiente auch zu wenig mit der Projektarbeit, um zufrieden zu sein. Im Zuge der notwendigen Neuausrichtung begann ich, neben einigen erfolglosen Bewerbungen und Berufsberatung, R zu lernen. Es war mein zweiter Anlauf: 2007 hatte ich bereits ein von einem Auftraggeber bezahltes Wochenendseminar besucht, das unter der Frage stand, ob wir uns die teuren <a href="https://statistik-dresden.de/archives/category/praxisbeispiel/spss">SPSS</a>-Lizenzen künftig sparen können.</p>
  441. <blockquote><p>Meine Reaktion auf R 2007:<br />
  442. <span style="font-size: 1.1875rem; color: #686868; font-style: italic;">&#8222;Ich möchte diese Software nie wieder öffnen.&#8220;</span></p></blockquote>
  443. <p><strong>Das war Ende 2014 anders</strong>: Ich begann, Feuer zu fangen, und stürzte mich, neben der weiterlaufenden SPSS-Projektarbeit, auf Bücher und Internetquellen, um mehr und mehr in R einzutauchen. Das <a href="https://statistik-dresden.de/archives/tag/tidyverse"><strong>tidyverse</strong></a> hat sicherlich bei mir &#8211; wie bei vielen anderen &#8211; wesentlich dazu beigetragen, die Einstiegshürde zu senken.</p>
  444. <h2>Erste Schulungen: Erfolg und fuck-up</h2>
  445. <p>Etwa Ende 2015 schrieb ich auf dieser Webseite, dass ich ab sofort R-Kurse anbiete. Zu meiner Überraschung erhielt ich innerhalb kurzer Zeit meinen ersten Auftrag: Eine Online-Schulung für eine Einsteigerin. Das war einerseits sehr ermutigend, andererseits war ich noch nicht gerade Vollprofi in R &#8230;</p>
  446. <p>Die Projektarbeit ging weiter, nach wie vor überwiegend mit SPSS. Gleichzeitig vertiefte ich 2016 / 2017 meine R-Kenntnisse, teils mit Büchern, überwiegend mit Online-Material und eigenen Datenanalyse-Ideen.</p>
  447. <p>2017 erhielt ich einen lukrativen Firmenauftrag für eine mehrtätige Firmenschulung vor Ort beim Kunden. Ganz im Sinne der <a href="https://www.youtube.com/c/fvckupnights">Fuckup Nights</a> möchte ich den Fehlschlag nicht verschweigen. Ich warb mit maßgeschneiderten Schulungen mit Kundendaten, um mich von standardisierten Schulungen abzuheben und die Übertragung des Gelernten in den Arbeitsalltag zu erleichtern. Hier handelte es sich um ein sehr technisches Thema einer Hightech-Produktionsfirma. Das Problem waren nicht meine R-Kenntnisse, aber ich brauchte sehr lange zur Fertigstellung der Schulungsunterlagen. Dabei verpasste ich es im Zeitdruck, mit dem Kunden über die zur Verfügung gestellten Daten zu sprechen. So kam es, dass einige Beispiele inhaltlich unsinnig und somit wenig überzeugend waren. Eine weitere Schwäche: Am letzten Tag konnte ich die Zeit nicht ganz füllen.</p>
  448. <p>Was habe ich daraus gelernt?</p>
  449. <ol>
  450. <li>Gute Abstimmung im Vorfeld hilft! Es mag zwar bequemer erscheinen, &#8222;mein eigenes Ding&#8220; zu machen. Doch Kunden schätzen passgenaues Material, und mir macht es mit besserer Abstimmung auch mehr Spaß &#8211; auch wenn es Mehraufwand im Vorfeld bedeutet. Das gilt sowohl für technische Voraussetzungen als auch für Inhalte.</li>
  451. <li>Reichlich Zeit zur Vorbereitung einplanen. Schulungen aus vorbereitetem Material anzupassen ist einfacher, als Material komplett neu zu erstellen.</li>
  452. <li>Mehr Material vorbereiten, als die Seminarzeit hergibt. Ich habe immer &#8222;Bonusmaterial&#8220; dabei, das ich nie komplett brauche. Oft kam aber das Gespräch im Seminar auf bestimmte Sonderthemen; dann ist es klasse, etwas zeigen zu können.</li>
  453. </ol>
  454. <h2>2018: Der Schritt zum Vollzeit-R-Trainer</h2>
  455. <p>Die Übergangszeit zwischen Datenanalyse-Projektarbeit und ersten Schulungen empfand ich als herausfordernd. Mir wurde klar, dass die Schulungen einen starken Fokus erfordern. So wagte ich den Schritt, nach und nach Projekte von bisherigen Stammkunden abzulehnen und den Wechsel meines Angebots klar zu kommunizieren. Das erforderte Mut, fühlte sich aber richtig an. Der Umstieg wurde mir erleichtert von zwei IT-Schulungsanbietern, die meine Kurse in ihr Seminarprogramm aufnahmen. So konnte ich mich auf die inhaltliche Arbeit konzentrieren und musste mich nicht so sehr um Werbung und Akquise kümmern.</p>
  456. <ul>
  457. <li><a href="https://www.it-trainingshaus.de/kursprogramm/?tx_coursemanagement_management%5Bcategory%5D=24437&amp;cHash=dc45f9524dbd7199243ca27e88f82170">it-Trainingshaus Dresden</a></li>
  458. <li><a href="https://www.it-schulungen.com/seminare/business-intelligence/data-mining/r/index.html">New Elements / IT-Schulungen.com, Nürnberg</a></li>
  459. </ul>
  460. <p>Kurz nach der Entscheidung, ganz auf die R-Schulungen zu setzen, gab es jedoch einen schwachen Moment. Einige angekündigte, beworbene Schulungen kamen mangels Buchungen nicht zustande. Ein alter, sehr sympathischer Kunde fragte mich für eine Excel-VBA-Programmierung für seinen Firmenkunden an. Ich war von Anfang an etwas skeptisch, ließ mich jedoch überreden und brauchte ja auch Aufträge. Das Projekt entwickelte sich zu einem Musterbeispiel für einen Freelancer-Albtraum. Es musste ein Festpreis-Angebot sein; es gab eine ganze Reihe von Detailwünschen, die für mich vorab nicht abschätzbar waren und zu höherem Aufwand als erwartet führten (ohne dass ich sie hätte ablehnen können). Als es um die Fertigstellung ging, verließ die Ansprechpartnerin beim Endkunden die Firma. Nur mit Mühe konnten wir das Projekt schließlich fertigstellen. Im Nachhinein hätte ich die Zeit weitaus besser für die Entwicklung weiterer R-Schulungen verwendet.</p>
  461. <h2>Die größte Überraschung: Als Wessi entlarvt!</h2>
  462. <p>Die größte Überraschung seitens einer Teilnehmerin erlebte ich, als ich völlig unvermutet beim Runden (!!) als Wessi entlarvt wurde.</p>
  463. <div class="jetpack-video-wrapper"><iframe loading="lazy" class="youtube-player" width="840" height="473" src="https://www.youtube.com/embed/KtoBjo-SmGY?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=de-DE&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe></div>
  464. <h2>R-Seminare in der Pandemie ab 2020</h2>
  465. <p>2019, mein zweites Jahr nach der Entscheidung, voll auf R-Kurse zu setzen, lief deutlich besser als das bereits zufriedenstellende Jahr 2018. Ich verbrachte viel Zeit in Zügen und Hotels, schulte neben den Präsenzseminaren in <strong>Dresden</strong> unter anderem in <strong>Hannover, Offenbach, Köln, Berlin (mehrfach) und Nürnberg (mehrfach)</strong>. Im März 2020 war damit plötzlich Schluss. Ich hatte das Glück, dass meine Arbeit sehr einfach auf online umzustellen war &#8211; so konnten auch einige bereits als Präsenzveranstaltungen gebuchte Kurse zum geplanten Termin stattfinden. Mit dem Online-Format fühlte ich mich von Anfang an wohl. Der Verzicht auf Reisen brachte erheblichen Zeitgewinn mit sich, bei allen Corona-bedingten Einschränkungen. Im Sommer 2020 gab es eine interessante Hybridveranstaltung in Hannover: Live-Teilnehmer mit großen Abständen, eine Plexiglaswand vor meinem Trainerplatz, Videoteilnehmer im Nachbarraum sowie im Home Office. Klappte gut und machte Spaß!</p>
  466. <p>Natürlich geht beim Online-Format auch etwas menschliche Begegnung verloren, zum Beispiel lockerer Austausch beim Mittagessen oder in den Pausen. Eine etwas seltsame Erfahrung war eine Schulung mit rund 40 Teilnehmern (das ist in meinem Bereich ungewöhnlich viel, meist sind es zwischen 1 und höchstens 15 Teilnehmende), davon etwa die Hälfte in China. Hier war der Anteil derjenigen, die die Kamera ausgeschaltet ließen, ungewöhnlich hoch. Von vielen erhielt ich während mehrerer Kurstage praktisch gar keine Lebenszeichen, auch der Chat wurde nur spärlich genutzt. Eingeschaltete Kameras helfen sehr dabei, abzuschätzen, ob das Gesagte ankommt. Auch ein wortloses Lächeln ist so viel mehr Wert als unsichtbares Schweigen.</p>
  467. <p>Seit Aufhebung der Corona-Maßnahmen haben viele Seminare weiterhin online stattgefunden.</p>
  468. <h2>Ausweitung des Angebots, Herausforderungen</h2>
  469. <p>Im Laufe der Jahre habe ich mein Angebot kontinuierlich ausgebaut &#8211; teils aus eigener Initiative, teils nach Durchführung kundenspezifischer Agenden. Begonnen hat es mit <a href="https://statistik-dresden.de/r-schulungen/professionelle-diagramme-mit-ggplot2">&#8222;Datenvisualisierung mit R und ggplot2&#8220;</a> und <a href="https://statistik-dresden.de/r-schulungen/workshop-einfuehrung-in-r-r-studio">&#8222;Einführung in R&#8220;</a> &#8211; letzterer ist der meistgebuchte Kurs.</p>
  470. <p>Eine große Herausforderung besteht darin, Kurse aktuell zu halten. Einige Zeit lang hielt ich einen gut gebuchten Kurs &#8222;Machine Learning mit R&#8220;, der auch gute Feedbacks erhielt, jedoch auf dem älteren <strong>caret</strong>-Paket beruhte. Nach einer Weile, als die Paketsammlung <strong>tidymodels</strong> an Popularität gewann, gab ich den Machine Learning-Kurs auf. <em>caret</em> konnte ich nicht mehr guten Gewissens anbieten, während <em>tidymodels</em> so dynamisch weiterentwickelt wurde, dass ich in kurzen Abständen den Kurs hätte überarbeiten müssen; zudem führe ich keine eigenen Machine Learning-Projekte durch, sodass ich das Thema bis auf weiteres lieber Spezialisten überlasse.</p>
  471. <p>Ähnlich wie mit <em>caret</em> und <em>tidymodels</em> ging es mir auch mit <strong>RMarkdown</strong>. Der Kurs zur Berichtserstellung mit R und Markdown war mit der Veröffentlichung von <a href="https://statistik-dresden.de/r-markdown-warum-ihr-jetzt-zu-quarto-wechseln-solltet/"><strong>Quarto</strong></a> 2022 ebenfalls veraltet. Inzwischen habe ich den <a href="https://statistik-dresden.de/r-schulungen/ergebnisse-berichten-mit-r-reproduzierbare-workflows-dank-markdown">Kurs auf Quarto umgestellt</a>.</p>
  472. <p>Den Einführungskurs habe ich mehrfach überarbeitet. Ich habe immer wieder über das <strong>Verhältnis zwischen Base R und <a href="https://statistik-dresden.de/archives/tag/tidyverse">tidyverse</a></strong> nachgedacht. Ich stehe dazu, einige Base R-Funktionen zu zeigen. Die Indizierung mit eckigen Klammern etwa sollte jeder R-Anwender kennen. Inzwischen habe ich den Base R-Teil jedoch gekürzt und wechsele früher im Kurs zum <a href="https://statistik-dresden.de/archives/tag/tidyverse">tidyverse</a>; nach meiner Erfahrung ist das Seminar nun noch unterhaltsamer und motivierender.</p>
  473. <p>Ein dreitägiger Fortgeschrittenenkurs wurde anfangs (2020, 2021) sehr regelmäßig gebucht, später kaum noch. Inzwischen habe ich ihn in Module aufgeteilt, die separat gebucht werden können:</p>
  474. <ul>
  475. <li>Funktionales Programmieren mit R &#8211; mit einigen Besonderheiten, die R von anderen Programmiersprachen unterscheiden</li>
  476. <li>Effiziente R-Programmierung &#8211; R-Code beschleunigen</li>
  477. <li>Eigene R-Pakete entwickeln</li>
  478. </ul>
  479. <h2>Präsentationen: Weg von Powerpoint</h2>
  480. <p>2022 erstellte ich alle Präsentationen komplett neu: Endlich direkt in R, weg von Powerpoint, hin zu <a href="https://statistik-dresden.de/archives/tag/rmarkdown">RMarkdown</a> und dem <a href="https://statistik-dresden.de/archives/tag/xaringan">xaringan-Paket</a>. Inzwischen erstelle ich Präsentationen auch mit Quarto. Live im Seminar zeige ich HTML-Varianten, die gegenüber <a href="https://statistik-dresden.de/archives/tag/powerpoint">Powerpoint</a> den Vorteil interaktiver Elemente wie Grafiken mit Mouse-Over-Effekten (etwa mit <a href="https://statistik-dresden.de/archives/tag/plotly">plotly</a>, <em>highcharter, leaflet</em> anderen HTML-Widgets) oder sortier- und filterbare Datensätze (mit <em>DT::datatable</em>, nicht zu verwechseln mit dem <em>data.table</em>-Paket) bieten.</p>
  481. <p>Nun kann ich einfacher zwischen verschiedenen Stilen (etwa für verschiedene Schulungsanbieter oder bei Direktbuchungen) wechseln, ohne Folien manuell nachzubearbeiten. Weiterer Vorteil: Dank R-Code kann ich Folien leichter aktuell halten. Beispiel: Beim Einsteigerkurs wird auf einer Folie meine R-Version angezeigt. In Powerpoint musste ich hier manuell aktualisieren &#8211; nun ist es ein R-Befehl, der die aktuelle Version beim Erstellen der Präsentation einträgt. Auch Beispiele für Datums- und Zeitfunktionen können das aktuelle Datum verwenden und sind dann nicht versehentlich zu veraltet.</p>
  482. <h2>6 Jahre R-Kurse in Zahlen</h2>
  483. <p>In den 6 Jahren konnte ich viele Erfahrungen sammeln. In Zahlen:</p>
  484. <ul>
  485. <li>Einführung in R: über 30x gehalten; mehrfach überarbeitet</li>
  486. <li>Datenvisualisierung mit R und ggplot2: über 10x gehalten</li>
  487. <li>Machine Learning und Data Mining mit R: ca. 8x gehalten</li>
  488. <li>R-Programmierung für Fortgeschrittene (3 Tage): ca. 12x gehalten</li>
  489. <li>Ergebnisse berichten mit R: ca. 6x als Spezialseminar gehalten; Thema ist Bestandteil der Einführungs- und vieler Fortgeschrittenenkurse mit variabler Detailtiefe; umgestellt auf Quarto</li>
  490. <li>Shiny &#8211; Interaktive Webapplikationen mit R: 2x gehalten (seit 2023)</li>
  491. <li>Datenvisualisierung mit R für Fortgeschrittene: 2x gehalten (seit 2023)</li>
  492. </ul>
  493. <p>Mit etlichen sehr kundenspezifischen inhouse-Schulungen komme ich inzwischen insgesamt auf <strong>über 100 R-Seminare</strong>, die Mehrheit davon mehrtägig.</p>
  494. <h2>Weitere Pläne</h2>
  495. <p>Ich wende sehr viel Zeit auf, um bei R am Ball zu bleiben, insbesondere durch die Lektüre von Newslettern: <a href="https://www.r-bloggers.com/">RBloggers</a> und <a href="https://rweekly.org/">RWeekly</a>. R macht mir nach wie vor viel Spaß und ich erhalte sehr positive Feedbacks. Jedoch kann ich mir auch gut vorstellen, Themen anzubieten, die etwas länger haltbar sind. Daher arbeite ich an software-unabhängigen Schulungen zur <strong>Datenkompetenz</strong>. Bisher gibt es eine, wie ich hoffe, recht kurzweilige halbtägige Schulung <a href="https://www.it-trainingshaus.de/kursprogramm/detailansicht/P31020/">&#8222;Statistik entzaubert&#8220;</a>. Das möchte ich ergänzen mit einem software-unabhängigen Workshop zur Datenvisualisierung, etwa mit &#8222;Lernen aus schlechten Beispielen&#8220; und Tipps und Tricks zum <strong>Storytelling mit Daten</strong>.</p>
  496. <p>Stay tuned!</p>The post <a href="https://statistik-dresden.de/6-jahre-r-seminare-r-kurse-r-workshops-erfahrungsbericht/">6 Jahre R-Seminare / R-Kurse / R-Workshops: Erfahrungsbericht</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></content:encoded>
  497. <wfw:commentRss>https://statistik-dresden.de/6-jahre-r-seminare-r-kurse-r-workshops-erfahrungsbericht/feed/</wfw:commentRss>
  498. <slash:comments>0</slash:comments>
  499. <post-id xmlns="com-wordpress:feed-additions:1">18128</post-id> </item>
  500. <item>
  501. <title>Datenvisualisierung: Fundamentals of Data Visualization von Claus O. Wilke</title>
  502. <link>https://statistik-dresden.de/datenvisualisierung-fundamentals-of-data-visualization-von-claus-o-wilke/</link>
  503. <comments>https://statistik-dresden.de/datenvisualisierung-fundamentals-of-data-visualization-von-claus-o-wilke/#comments</comments>
  504. <dc:creator><![CDATA[Wolf Riepl]]></dc:creator>
  505. <pubDate>Fri, 26 May 2023 12:41:56 +0000</pubDate>
  506. <category><![CDATA[R-Programmierung]]></category>
  507. <category><![CDATA[Claus Wilke]]></category>
  508. <category><![CDATA[Datenvisualisierung]]></category>
  509. <category><![CDATA[Garrett Grolemund]]></category>
  510. <category><![CDATA[ggplot2]]></category>
  511. <category><![CDATA[Grammatik der grafischen Darstellung]]></category>
  512. <category><![CDATA[Hadley Wickham]]></category>
  513. <category><![CDATA[Jenny Bryan]]></category>
  514. <category><![CDATA[Overplotting]]></category>
  515. <guid isPermaLink="false">https://statistik-dresden.de/?p=18017</guid>
  516.  
  517. <description><![CDATA[<p>2019 legte Claus O. Wilke mit Fundamentals of Data Visualization ein sehr lesenswertes Buch über Datenvisualisierung vor, das einige Vorzüge gegenüber vergleichbaren Werken bietet: Wer es gerne physisch in Papierform in der Hand hält, kann es selbstverständlich käuflich erwerben. Es steht jedoch auch kostenlos online im Volltext zur Verfügung. Damit folgt es dem Beispiel von &#8230; <a href="https://statistik-dresden.de/datenvisualisierung-fundamentals-of-data-visualization-von-claus-o-wilke/" class="more-link"><span class="screen-reader-text">„Datenvisualisierung: Fundamentals of Data Visualization von Claus O. Wilke“</span> weiterlesen</a></p>
  518. The post <a href="https://statistik-dresden.de/datenvisualisierung-fundamentals-of-data-visualization-von-claus-o-wilke/">Datenvisualisierung: Fundamentals of Data Visualization von Claus O. Wilke</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></description>
  519. <content:encoded><![CDATA[<p>2019 legte Claus O. Wilke mit <em>Fundamentals of Data Visualization</em> ein sehr lesenswertes Buch über Datenvisualisierung vor, das einige Vorzüge gegenüber vergleichbaren Werken bietet:</p>
  520. <p><a href="https://clauswilke.com/dataviz/"><img loading="lazy" decoding="async" class="alignright wp-image-18019 size-medium" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/05/Wilke-Dataviz-cover.jpg?resize=229%2C300&#038;ssl=1" alt="Fundamentals of Data Visualization von Claus Wilke: Buchcover" width="229" height="300" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/05/Wilke-Dataviz-cover.jpg?resize=229%2C300&amp;ssl=1 229w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/05/Wilke-Dataviz-cover.jpg?resize=780%2C1024&amp;ssl=1 780w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/05/Wilke-Dataviz-cover.jpg?resize=768%2C1008&amp;ssl=1 768w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/05/Wilke-Dataviz-cover.jpg?resize=1171%2C1536&amp;ssl=1 1171w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/05/Wilke-Dataviz-cover.jpg?resize=1561%2C2048&amp;ssl=1 1561w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/05/Wilke-Dataviz-cover.jpg?resize=1200%2C1575&amp;ssl=1 1200w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/05/Wilke-Dataviz-cover.jpg?w=1951&amp;ssl=1 1951w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/05/Wilke-Dataviz-cover.jpg?w=1680&amp;ssl=1 1680w" sizes="(max-width: 229px) 85vw, 229px" data-recalc-dims="1" /></a></p>
  521. <ul>
  522. <li>Wer es gerne physisch in Papierform in der Hand hält, kann es selbstverständlich käuflich erwerben. Es <strong>steht</strong> jedoch auch <strong><a href="https://clauswilke.com/dataviz/">kostenlos online im Volltext</a> zur Verfügung.</strong> Damit folgt es dem Beispiel von Büchern aus dem RStudio / Posit-Umfeld wie <a href="https://r4ds.hadley.nz/">R for Data Science </a>(<a href="https://statistik-dresden.de/archives/tag/hadley-wickham">Hadley Wickham</a> / <a href="https://statistik-dresden.de/archives/tag/garrett-grolemund">Garrett Grolemund</a>), <a href="https://adv-r.hadley.nz/">Advanced R</a> (Wickham), <a href="https://rstudio-education.github.io/hopr/">Hands-On Programming with R</a> (Grolemund), <a href="https://ggplot2-book.org/">ggplot2: Elegant Graphics for Data Analysis</a> (Wickham), <a href="https://r-pkgs.org/">R Packages </a>(Wickham / <a href="https://statistik-dresden.de/archives/tag/jenny-bryan">Jenny Bryan</a>), oder <a href="https://happygitwithr.com/">Happy Git and GitHub for the UseR</a> (Jenny Bryan).</li>
  523. <li>Es schafft den seltenen Spagat, einerseits <strong>software-unabhängig</strong> und somit <strong>breit nutzbar</strong> zu sein, andererseits legt der Autor Wert auf Reproduzierbarkeit von Grafiken. Alle Grafiken im Buch wurden mit <a href="https://statistik-dresden.de/archives/tag/ggplot2">R und ggplot2</a> erstellt, das Buch enthält zwar keinen R-Code, <a href="https://github.com/clauswilke/dataviz">der <strong>Quellcode steht jedoch auf Github zur Verfügung</strong></a>. Ein tolles Beispiel für <strong>gelebtes Open Source</strong>!</li>
  524. </ul>
  525. <h2>Über den Autor: Claus Wilke</h2>
  526. <p>Claus Wilke war bereits vor Veröffentlichung dieses oft zitierten Buches in der R Community bekannt, vor allem als Entwickler von R-Paketen wie <a href="https://github.com/wilkelab/cowplot"><strong>cowplot</strong></a> (zur Anordnung mehrerer Diagramme; der Name bezieht sich nicht auf Kuh, sondern auf die Anfangsbuchstaben von <strong>C</strong>laus <strong>O</strong>. <strong>W</strong>ilke; es war zunächst zum internen Gebrauch gedacht; heute dürfte Thomas Pedersen&#8217;s <em>patchwork</em> bekannter sein); <a href="https://github.com/wilkelab/ggridges"><strong>ggridges</strong></a> für sog. Ridge- bzw. Ridgeline-Plots, sowie <a href="https://github.com/wilkelab/ggtext"><strong>ggtext</strong></a> für verbesserte, flexiblere Text-Darstellung in <a href="https://statistik-dresden.de/archives/tag/ggplot2">ggplot2-Diagrammen</a>, u. a. mit der Möglichkeit, Bilder oder Markdown-Formatierungen zur Achsenbeschriftung einzubeziehen. Claus Wilke arbeitet an der University of Texas at Austin.</p>
  527. <h2>Arten von Visualisierungen in <em>Fundamentals of Data Visualization</em></h2>
  528. <p>Bevor es an konkrete Diagrammbeispiele und -typen geht, legt Claus Wilke einige Grundlagen der Datenvisualisierung dar, die sich an der <strong>Grammatik der grafischen Darstellung</strong> (<em>Grammar of Graphics</em>) orientieren, wie sie von <a href="https://link.springer.com/book/10.1007/0-387-28695-0"><strong>Leland Wilkinson</strong></a> beschrieben wurde:</p>
  529. <ul>
  530. <li>die Zuordnung von Daten zu Ästhetiken</li>
  531. <li>Koordinatensysteme und Achsen</li>
  532. <li>Zur Verwendung von Farbskalen</li>
  533. </ul>
  534. <p>Zum Aufbau von Grafiken in Schichten in der Grammatik der grafischen Darstellung vergleiche die Beiträge <a href="https://statistik-dresden.de/ggplot2-einfuehrung-in-die-drei-basisschichten-daten-aesthetiken-geometrien/">ggplot2: Einführung in die drei Basisschichten – Daten, Ästhetiken, Geometrien</a> sowie <a href="https://statistik-dresden.de/ggplot2-die-4-fortgeschrittenen-schichten/">ggplot2: Die vier fortgeschrittenen Schichten</a>.</p>
  535. <p>Das sehr gut strukturierte Werk gibt zunächst einen Überblick über Arten von Visualisierungen, bevor es tiefer ins Detail geht:</p>
  536. <ul>
  537. <li>Darstellung von Häufigkeiten</li>
  538. <li>Verteilungen: Histogramme, Dichte-Diagramme, Q-Q-Plots, viele Verteilungen auf einmal visualisieren</li>
  539. <li>Verhältnisse und geschachtelte / genistete Verhältnisse (<em>nested proportions</em>)</li>
  540. <li>Zusammenhänge zwischen zwei oder mehr quantitativen Variablen</li>
  541. <li>Zeitreihen und andere Funktionen einer unabhängigen Variable</li>
  542. <li>Darstellung von Trends</li>
  543. <li>Geodaten</li>
  544. <li>Darstellung von Unsicherheit</li>
  545. </ul>
  546. <h2>Designprinzipien in <em>Fundamentals of Data Visualization</em></h2>
  547. <p>Nach diesen konkreten Diagrammarten geht es um einige Designprinzipien, unter anderem:</p>
  548. <ul>
  549. <li><em>proportional ink</em> &#8211; &#8222;proportionale Tinte&#8220;: Die Größen schattierter Flächen müssen proportional zu den Datenwerten sein, die sie repräsentieren</li>
  550. <li>Umgang mit <em>overplotting</em> &#8211; überlappenden Datenpunkten, z. B. <em>jitter</em> (leichte zufällige Verschiebung von Datenpunkten) und partielle Transparenz</li>
  551. <li>Fallen beim Umgang mit Farbe</li>
  552. <li>redundante Codierung (<em>redundant coding</em>): Informationen mit mehreren Ästhetiken abbilden, um die Lesbarkeit zu erleichtern</li>
  553. <li>gute Balance finden zwischen Daten und Kontext</li>
  554. </ul>
  555. <h2>Was mir gut an <em>Fundamentals of Data Visualization</em> gefällt</h2>
  556. <ul>
  557. <li>Die Einteilung von missglückten Visualisierungen in <strong>hässlich</strong> (<em>ugly</em>), <strong>schlecht</strong> (<em>bad</em>) und <strong>falsch</strong> (<em>wrong</em>) finde ich sehr hilfreich. Man kann viel aus schlechten (im weiteren Sinne) Beispielen lernen &#8211; es tut gut, nicht nur &#8222;Bilderbuch-Beispiele&#8220; zu sehen.</li>
  558. <li>Dass 3D-Grafiken oft problematisch sein können, war mir bewusst. Claus Wilkes Beispiele dafür fand ich besonders anschaulich: Tortendiagramme aus verschiedenen 3D-Perspektiven, die die gleichen Daten darstellen, aber unterschiedliche optische Eindrücke hervorrufen.</li>
  559. <li>Sehr hilfreich sind auch die klaren Richtlinien, wie <strong>Tabellen</strong> aussehen sollten. Bemerkenswert dabei ist, dass sie in der Praxis sehr häufig missachtet werden &#8211; oft deshalb, weil Software wie Microsoft Word Voreinstellungen enthält, die Design-Prinzipien verletzen.</li>
  560. <li>Hilfreich auch die Abschnitte zu gängigen <strong>Dateiformaten für Grafiken</strong> mit ihren Eigenschaften und Vor- und Nachteilen sowie die gut kommentierte und gegliederte <strong>Literaturauswahl</strong>.</li>
  561. </ul>
  562. <h2>Fazit zu <em>Fundamentals of Data Visualization</em></h2>
  563. <p>Ein sehr lesenswertes Buch, auch als Nachschlagewerk. Besonders nützlich dadurch, dass es nicht an eine bestimmte Software gebunden ist; dennoch ist der <a href="https://github.com/clauswilke/dataviz">R-Code für die <em>ggplot2</em>-Grafiken via github zugänglich</a>. Klare Empfehlung, zumal man mit dem <a href="https://clauswilke.com/dataviz/">kostenlosen Online-Zugang zum Volltext</a> kein Risiko eingeht!</p>
  564. <p>Ergänzt sich bestens mit dem ebenfalls sehr empfehlenswerten Werk <strong>Storytelling with Data</strong> von <em>Cole Nussbaumer Knaflic</em>.</p>
  565. <p><a href="https://amzn.to/4aW3pse">Fundamentals of Data Visualization: Claus Wilke</a></p>
  566. <p id="title" class="a-spacing-none a-text-normal"><a href="https://amzn.to/4216SBU"><span id="productTitle" class="a-size-extra-large celwidget" data-csa-c-id="bt345n-fz3058-5iuj28-bza03m" data-cel-widget="productTitle">Storytelling mit Daten: Die Grundlagen der effektiven Kommunikation und Visualisierung mit Daten: Nussbaumer Knaflic</span></a></p>The post <a href="https://statistik-dresden.de/datenvisualisierung-fundamentals-of-data-visualization-von-claus-o-wilke/">Datenvisualisierung: Fundamentals of Data Visualization von Claus O. Wilke</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></content:encoded>
  567. <wfw:commentRss>https://statistik-dresden.de/datenvisualisierung-fundamentals-of-data-visualization-von-claus-o-wilke/feed/</wfw:commentRss>
  568. <slash:comments>1</slash:comments>
  569. <post-id xmlns="com-wordpress:feed-additions:1">18017</post-id> </item>
  570. <item>
  571. <title>R Markdown: Warum Ihr JETZT zu Quarto wechseln solltet</title>
  572. <link>https://statistik-dresden.de/r-markdown-warum-ihr-jetzt-zu-quarto-wechseln-solltet/</link>
  573. <comments>https://statistik-dresden.de/r-markdown-warum-ihr-jetzt-zu-quarto-wechseln-solltet/#comments</comments>
  574. <dc:creator><![CDATA[Wolf Riepl]]></dc:creator>
  575. <pubDate>Tue, 24 Jan 2023 10:27:11 +0000</pubDate>
  576. <category><![CDATA[Praxisbeispiel]]></category>
  577. <category><![CDATA[R-Programmierung]]></category>
  578. <category><![CDATA[blogdown]]></category>
  579. <category><![CDATA[bookdown]]></category>
  580. <category><![CDATA[knitr]]></category>
  581. <category><![CDATA[Markdown]]></category>
  582. <category><![CDATA[Powerpoint]]></category>
  583. <category><![CDATA[quarto]]></category>
  584. <category><![CDATA[rmarkdown]]></category>
  585. <category><![CDATA[RStudio]]></category>
  586. <category><![CDATA[xaringan]]></category>
  587. <category><![CDATA[YAML]]></category>
  588. <category><![CDATA[Yihui Xie]]></category>
  589. <guid isPermaLink="false">https://statistik-dresden.de/?p=17921</guid>
  590.  
  591. <description><![CDATA[<p>Zugegeben: Der Titel ist ein wenig provokativ. Wer über etablierte Projekte verfügt, in denen Markdown-Dokumente erstellt werden, muss nicht sofort alles über Bord werfen &#8211; der Code wird weiterhin funktionieren. Doch es gibt mehrere sehr gute Gründe, zu Quarto zu wechseln &#8211; besser jetzt als später. Doch zunächst etwas Hintergrund: Was haben Quarto und R &#8230; <a href="https://statistik-dresden.de/r-markdown-warum-ihr-jetzt-zu-quarto-wechseln-solltet/" class="more-link"><span class="screen-reader-text">„R Markdown: Warum Ihr JETZT zu Quarto wechseln solltet“</span> weiterlesen</a></p>
  592. The post <a href="https://statistik-dresden.de/r-markdown-warum-ihr-jetzt-zu-quarto-wechseln-solltet/">R Markdown: Warum Ihr JETZT zu Quarto wechseln solltet</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></description>
  593. <content:encoded><![CDATA[<p>Zugegeben: Der Titel ist ein wenig provokativ. Wer über etablierte Projekte verfügt, in denen Markdown-Dokumente erstellt werden, muss nicht sofort alles über Bord werfen &#8211; der Code wird weiterhin funktionieren. Doch es gibt mehrere sehr gute Gründe, zu Quarto zu wechseln &#8211; besser jetzt als später. Doch zunächst etwas Hintergrund: Was haben Quarto und R Markdown gemeinsam, wo unterscheiden sie sich?</p>
  594. <div class="jetpack-video-wrapper"><iframe loading="lazy" class="youtube-player" width="840" height="473" src="https://www.youtube.com/embed/mGNW8jl7RMc?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=de-DE&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe></div>
  595. <h2>Quarto vs. R Markdown: Vom Ausgangspunkt zum finalen Dokument</h2>
  596. <p><figure id="attachment_17923" aria-describedby="caption-attachment-17923" style="width: 840px" class="wp-caption aligncenter"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/qmd-how-it-works.png?ssl=1"><img loading="lazy" decoding="async" class="size-large wp-image-17923" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/qmd-how-it-works.png?resize=840%2C154&#038;ssl=1" alt="Von Quarto (.qmd) zum finalen Bericht: Präsentation, Word, PDF, ..." width="840" height="154" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/qmd-how-it-works.png?resize=1024%2C188&amp;ssl=1 1024w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/qmd-how-it-works.png?resize=300%2C55&amp;ssl=1 300w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/qmd-how-it-works.png?resize=768%2C141&amp;ssl=1 768w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/qmd-how-it-works.png?resize=1200%2C220&amp;ssl=1 1200w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/qmd-how-it-works.png?w=1400&amp;ssl=1 1400w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17923" class="wp-caption-text">Von Quarto (.qmd) zum finalen Bericht: Präsentation, Word, PDF, &#8230;</figcaption></figure></p>
  597. <p>Die automatisierte Berichtserstellung aus R heraus, sei es mit R Markdown oder Quarto, umfasst mehrere Schritte. Der Ablauf vom &#8222;Roh-Dokument&#8220; zum fertigen Bericht &#8211; je nach Wunsch eine Präsentation in einem von mehreren HTML-Formaten oder Powerpoint, ein PDF oder Word-Dokument &#8211; ist prinzipiell der gleiche. Neu ist lediglich das Dateiformat: Es beginnt mit dem Quarto-typischen <strong>.qmd</strong> anstatt dem bisher in R üblichen<strong> .Rmd</strong>. Wer in R arbeitet, wird in beiden Fällen im Hintergrund auf <strong>knitr</strong> zugreifen, das eine <strong>.md</strong>-Datei erstellt. (Wir sehen weiter unten, dass auch andere <em>Engines</em> an die Stelle von knitr treten können.) Diese wiederum wird <strong>pandoc</strong> übergeben, um das finale Dokument zu erstellen.</p>
  598. <h2>Quarto vs. R Markdown: Unterschiede</h2>
  599. <p>R Markdown basiert auf dem R-Paket <strong>rmarkdown</strong> von <strong>JJ Allaire</strong>, <a href="https://statistik-dresden.de/datenanalysen-praesentieren-warum-ich-nicht-powerpoint-verwende/"><strong>Yihui Xie</strong></a> und vielen anderen. D. h. es ist an R gebunden, es gibt keine direkte Verbindung zu anderen Markdown-Varianten.</p>
  600. <p>Quarto dagegen ist eine eigenständige Software. Es gibt zwar ein R-Paket <strong>quarto, </strong>dieses ist jedoch optional und bildet lediglich eine Brücke zum Kommandozeilen-Interface, das Quarto im Kern ist (CLI, <em>Command Line Interface</em>). Quarto muss separat heruntergeladen und installiert werden. Anlaufpunkt ist die <a href="https://quarto.org/docs/get-started/">Quarto-Webseite</a>. Da Quarto vom <a href="https://statistik-dresden.de/aus-rstudio-wurde-posit/">RStudio / Posit-Team</a> entwickelt wurde und wird, dürfte es nicht überraschen, dass die Software sehr gut in die <a href="https://statistik-dresden.de/archives/tag/rstudio">RStudio-Oberfläche</a> eingebunden ist.</p>
  601. <h2>Warum von R Markdown zu Quarto wechseln?</h2>
  602. <p>Warum also wechseln? Aus meiner Sicht gibt es drei wesentliche Gründe:</p>
  603. <ol>
  604. <li>Quarto enthält &#8222;von Haus aus&#8220; Leistungsmerkmale, die in R Markdown nur über Erweiterungspakete zur Verfügung stehen.</li>
  605. <li>Quarto ist per Design offen für verschiedene Programmiersprachen und für verschiedene Engines, d. h. Software-Bausteine, die Markdown verarbeiten.</li>
  606. <li>Es ist einfach, umzusteigen &#8211; in den meisten Fällen dürfte sich das früher oder später angesichts der klaren Vorteile auszahlen. Die Wechselkosten sind gering &#8211; da es sich um frei verfügbare Software handelt, geht es &#8222;nur&#8220; um ein wenig Zeit.</li>
  607. </ol>
  608. <p>Ein paar Details zu den Wechselgründen:</p>
  609. <h2>1. Quartos fest integrierte Leistungsmerkmale</h2>
  610. <p>In R Markdown benötigt man für verschiedene Aufgaben Erweiterungspakete, zum Beispiel:</p>
  611. <ul>
  612. <li><em>bookdown</em>, um Bücher aus R heraus zu schreiben</li>
  613. <li><em>blogdown</em>, um Blogs aus R heraus zu schreiben</li>
  614. <li><em>distill</em> für wissenschaftliche Publikationen</li>
  615. <li><em>xaringan</em> für Präsentationen (es gibt andere Präsentationsformate &#8211; mein Favorit wurde 2022 xaringan, das vor Quarto auch das präferierte Format von <strong>Yihui Xie</strong> war)</li>
  616. <li>Um Querverweise zu verwenden, benötigte man ein <em>bookdown</em>-Format, wie z. B. <em>htmldocument<strong>2</strong></em> statt <em>htmldocument</em></li>
  617. </ul>
  618. <p>Es war spannend zu sehen, wie das RMarkdown-Ökosystem über wenige Jahre wuchs und immer mehr coole Anwendungen ermöglichte. Nachteil dieser Entwicklung war eine gewisse Uneinheitlichkeit.</p>
  619. <p><strong><span style="color: #008000;">Quarto bietet all diese Möglichkeiten &#8222;per se&#8220;, ohne auf Erweiterungen angewiesen zu sein.</span></strong> Auch wenn die Markdown-Landschaft von einem starken, professionellen Team mit langem Atem betreut wird, ist es gerade im Open-Source-Bereich immer eine gute Idee, Paket-Abhängigkeiten zu reduzieren.</p>
  620. <h2>2. Multiple Programmiersprachen, multiple Engines<a style="font-weight: bold; background-color: transparent; text-align: inherit;" href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/quarto-multi-language-njtierney.jpeg?ssl=1"><img loading="lazy" decoding="async" class="size-large wp-image-17925" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/quarto-multi-language-njtierney.jpeg?resize=840%2C473&#038;ssl=1" alt="" width="840" height="473" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/quarto-multi-language-njtierney.jpeg?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/quarto-multi-language-njtierney.jpeg?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/quarto-multi-language-njtierney.jpeg?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/quarto-multi-language-njtierney.jpeg?resize=1536%2C864&amp;ssl=1 1536w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/quarto-multi-language-njtierney.jpeg?resize=1200%2C675&amp;ssl=1 1200w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/quarto-multi-language-njtierney.jpeg?w=1920&amp;ssl=1 1920w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2023/01/quarto-multi-language-njtierney.jpeg?w=1680&amp;ssl=1 1680w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" data-recalc-dims="1" /></a></h2>
  621. <p><span style="color: #686868; font-size: 13px; font-style: italic; background-color: transparent; text-align: inherit;">Quarto unterstützt verschiedene Programmiersprachen und Engines.<br />
  622. </span><span style="color: #686868; font-size: 13px; font-style: italic; background-color: transparent; text-align: inherit;">Quelle: </span><a style="font-size: 13px; font-style: italic; background-color: transparent; text-align: inherit;" href="https://www.njtierney.com/post/2022/04/11/rmd-to-qmd/">Nick Tierney, Notes on Changing from Rmarkdown/Bookdown to Quarto</a></p>
  623. <p>Quarto bringt, anders als R Markdown, keine R-Abhängigkeit mit sich. Nach allem, was ich in der R Community darüber gelesen und gehört habe, ist die Wahrscheinlichkeit sehr hoch, dass Quarto zum neuen Standard wird &#8211; wenn das nicht sogar schon geschehen ist. Wer mit R arbeitet, wird mit gewisser Wahrscheinlichkeit früher oder später mit Kollegen oder Projektpartnern in Kontakt kommen, die mit anderen Programmiersprachen arbeiten. Quarto senkt die Hürde der Zusammenarbeit und kann einfacher von anderen Sprachen aus genutzt werden, ohne R. Auch RStudio ist keine Bedingung: Quarto unterstützt auch andere Code-Editoren (IDEs, <em>Integrated Development Environments</em>), z. B. JupyterLab, VS Code.</p>
  624. <p>Aktuell unterstützte <strong>Programmiersprachen</strong>:</p>
  625. <ul>
  626. <li>R</li>
  627. <li>Python</li>
  628. <li>Javascript</li>
  629. <li>Julia</li>
  630. </ul>
  631. <p>Zudem ist Quarto so offen konzipiert, dass es per Design auch mit Sprachen kooperieren kann, die es heute noch gar nicht gibt. In diesem Sinne ist es eine zukunftssicherere Wahl als R Markdown.</p>
  632. <p>Aktuell unterstützte <strong>Engines</strong>:</p>
  633. <ul>
  634. <li>knitr</li>
  635. <li>Jupyter</li>
  636. <li>Observable</li>
  637. </ul>
  638. <h2>3. Der Umstieg ist einfach</h2>
  639. <p>Die meisten Markdown-Dokumente und Jupyter-Notebooks sollten ohne Änderungen von Quarto gerendert werden. Je nach Ausgabeformat können jedoch Anpassungen erforderlich sein &#8211; etwa bei komplexeren Strukturen wie Blogs oder Büchern. Ein Vorteil des Umstiegs auf Quarto besteht in mehr Einheitlichkeit:</p>
  640. <ul>
  641. <li>Einfacherer Wechsel zwischen Ausgabeformaten, z. B. von Buch zu Webseite oder Präsentationsfolien</li>
  642. <li>YAML-Dateien: In Markdown z. B.<em> _bookdown.yml</em>, <em>_output.yml</em>;<br />
  643. in Quarto: nur eine <em>_quarto.yml<br />
  644. YAML = Yet Another Markup Language: </em>Auszeichnungssprache für Meta-Informationen, z. B. Titel, Autor, Datum, Institution; im YAML-Kopfbereich können auch Einstellungen vorgenommen werden wie z. B. ob Codeblöcke im finalen Dokument angezeigt werden sollen</li>
  645. </ul>
  646. <h2>Meine Erfahrungen bis jetzt</h2>
  647. <p>Erst 2022 überarbeitete ich Powerpoint-Material und übertrug es in RMarkdown / xaringan. Zuerst war ich nicht so glücklich, dass es nun schon wieder ein neues Format gibt. Jedoch ist der Wechsel von xaringan zu Quarto ein Kindergeburtstag im Vergleich zum Schritt von Powerpoint zu xaringan. Präsentationen werden nun von der Javascript-Bibliothek reveal.js unterstützt &#8211; bei xaringan war es remark.js.</p>
  648. <p>Quarto bietet flexiblere Layouts. Beispiel: <strong>Zwei oder mehr Spalten</strong>. Zum Einstellen der Spaltenbreiten musste ich in xaringan die .css-Datei anpassen und eine css-Klasse bearbeiten oder erstellen. In Quarto mit revealjs genügt die Schreibweise mit den drei Doppelpunkten, um ein &lt;div&gt;-Tag anzulegen:</p>
  649. <p><em>::: {.column width=&#8220;65%&#8220;}</em></p>
  650. <p>Weiterer Vorteil von Quarto: <strong>Tabsets</strong> funktionieren gleichermaßen in verschiedenen html-Formaten. Allerdings sind sie ungünstig, wenn man &#8211; wie ich &#8211; eine HTML-Präsentation auch im PDF-Format weitergeben möchte. (Warum ich HTML für Präsentationen bevorzuge, erläutere ich <a href="https://statistik-dresden.de/datenanalysen-praesentieren-warum-ich-nicht-powerpoint-verwende/">in diesem Blogbeitrag</a>.)</p>
  651. <p>Zudem ist es in Quarto einfacher, globale Chunk-Optionen einzustellen. Kennen Sie die etwas umständliche, unintuitive Schreibweise in RMarkdown?</p>
  652. <p><em>knitr::opts_chunk$set(echo = FALSE)</em> besagt, dass Codeblöcke nicht angezeigt werden sollen.</p>
  653. <p>In Quarto kann man dagegen im YAML-Header schreiben:</p>
  654. <p><em>execute:</em><br />
  655. <em>   echo:  false</em></p>
  656. <p>Wer, etwa zu Unterrichtszwecken, Codeblöcke inklusive der Chunk-Optionen anzeigen möchte, kann in Quarto einfach schreiben:</p>
  657. <p><em>echo: fenced</em></p>
  658. <p>Weiteres Argument pro Quarto: Das RStudio/Posit-Team hat zwar versprochen, R Markdown und die damit verbundenen Formate und Pakete weiter zu betreuen. Dieses Versprechen schließt jedoch ausdrücklich <strong>nicht</strong> ein, dass neue Leistungsmerkmale parallel sowohl für RMarkdown als auch Quarto entwickelt werden. Auch in diesem Sinne ist Quarto also zukunftssicherer als RMarkdown.</p>
  659. <h2>Weitere Informationen</h2>
  660. <p>Zum Abschluss etwas Material, das mir bei diesem Artikel geholfen hat:</p>
  661. <ul>
  662. <li>Zentrale Anlaufstelle für die Dokumentation: <a href="https://quarto.org/">https://quarto.org/</a></li>
  663. <li>Wo ich zuerst von Quarto erfuhr:<br />
  664. <strong>Alison Hill</strong>: <a href="https://www.apreshill.com/blog/2022-04-we-dont-talk-about-quarto/">We don’t talk about Quarto &#8211; Until Now!</a></li>
  665. <li>
  666. <div class="slides">
  667. <section id="resources" class="slide level2 present">
  668. <ul>
  669. <li><strong>jumping rivers</strong>: <a href="https://www.jumpingrivers.com/blog/quarto-rmarkdown-comparison/">I’m an R user: Quarto or R Markdown?</a></li>
  670. <li><strong>Nick Tierney</strong>: <a href="https://www.njtierney.com/post/2022/04/11/rmd-to-qmd/">Notes on Changing from Rmarkdown/Bookdown to Quarto</a></li>
  671. <li><strong>Jim Hester</strong>: <a href="https://speakerdeck.com/jimhester/it-depends">it depends</a><br />
  672. Diese Folien stammen aus der Zeit vor Quarto und gehen nicht auf Quarto ein. Ich erwähne sie, um zu unterstreichen, wie gut es ist, Paket-Abhängigkeiten zu reduzieren.</li>
  673. </ul>
  674. </section>
  675. <section id="thanks" class="slide level2 future" hidden="" aria-hidden="true">
  676. <h2>Thanks!</h2>
  677. <h3 id="youtube-statistikindd">Youtube: StatistikinDD</h3>
  678. <h3 id="twitter-statistikindd">Twitter: <span class="citation" data-cites="StatistikinDD">@StatistikinDD</span></h3>
  679. <h3 id="github-fjodor">github: fjodor</h3>
  680. <h3 id="presentation-created-using">Presentation created using</h3>
  681. </section>
  682. </div>
  683. <div class="slide-menu-button">Und jetzt bin ich gespannt auf Eure Erfahrungen! Habt Ihr schon gewechselt? Wenn nein, warum nicht? Wenn ja, wie lief der Umstieg?</div>
  684. </li>
  685. </ul>
  686. <p>Viel Erfolg mit Euren R-Projekten!</p>
  687. <p>P. S. Im <a href="https://statistik-dresden.de/r-schulungen/workshop-einfuehrung-in-r-r-studio">R-Einführungskurs</a> habe ich bereits das Markdown-Kapitel auf Quarto umgestellt. Der separate Workshop &#8222;Berichte erstellen mit R&#8220; wird seltener gebucht &#8211; hier bin ich noch dran. Bei der nächsten Buchung wird er auf Quarto getrimmt sein.</p>The post <a href="https://statistik-dresden.de/r-markdown-warum-ihr-jetzt-zu-quarto-wechseln-solltet/">R Markdown: Warum Ihr JETZT zu Quarto wechseln solltet</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></content:encoded>
  688. <wfw:commentRss>https://statistik-dresden.de/r-markdown-warum-ihr-jetzt-zu-quarto-wechseln-solltet/feed/</wfw:commentRss>
  689. <slash:comments>1</slash:comments>
  690. <post-id xmlns="com-wordpress:feed-additions:1">17921</post-id> </item>
  691. <item>
  692. <title>Warum Du parallel::detectCores() in R NICHT verwenden solltest</title>
  693. <link>https://statistik-dresden.de/warum-du-paralleldetectcores-in-r-nicht-verwenden-solltest/</link>
  694. <comments>https://statistik-dresden.de/warum-du-paralleldetectcores-in-r-nicht-verwenden-solltest/#respond</comments>
  695. <dc:creator><![CDATA[Wolf Riepl]]></dc:creator>
  696. <pubDate>Wed, 21 Dec 2022 14:36:49 +0000</pubDate>
  697. <category><![CDATA[Praxisbeispiel]]></category>
  698. <category><![CDATA[R-Programmierung]]></category>
  699. <category><![CDATA[future]]></category>
  700. <category><![CDATA[Henrik Bengtsson]]></category>
  701. <category><![CDATA[parallel]]></category>
  702. <category><![CDATA[Parallelisierung]]></category>
  703. <category><![CDATA[parallelly]]></category>
  704. <guid isPermaLink="false">https://statistik-dresden.de/?p=17893</guid>
  705.  
  706. <description><![CDATA[<p>parallel::detectCores() zur Parallelisierung von R-Code ist populär, kann aber Probleme verursachen. Besser: parallelly::availableCores().</p>
  707. The post <a href="https://statistik-dresden.de/warum-du-paralleldetectcores-in-r-nicht-verwenden-solltest/">Warum Du parallel::detectCores() in R NICHT verwenden solltest</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></description>
  708. <content:encoded><![CDATA[<p>Die Funktion <em>detectCores()</em> aus dem Base R-Paket <em>parallel</em> ist sehr populär, wenn man R-Code von mehreren Prozessorkernen oder Arbeitern gleichzeitig ausführen lassen möchte. Ich habe sie selbst häufig genutzt, auch in <a href="https://youtube.com/playlist?list=PL4ZUlAlk7QidhS8XsVqnwGnJMMEdC5Qlp">Youtube-Videos</a>, und in Workshops unterrichtet.</p>
  709. <p>Leider kann <em>detectCores()</em> einige unerwünschte Effekte nach sich ziehen. Glücklicherweise gibt es eine bessere Alternative:</p>
  710. <p><strong><em>parallelly::availableCores()</em></strong></p>
  711. <p>parallelly ist ein R-Paket von <a href="https://github.com/HenrikBengtsson">Henrik Bengtsson</a>, das nicht zu Base R gehört und somit separat installiert werden muss.</p>
  712. <div class="jetpack-video-wrapper"><iframe loading="lazy" class="youtube-player" width="840" height="473" src="https://www.youtube.com/embed/EYpuUKsGqPQ?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=de-DE&#038;autohide=2&#038;wmode=transparent" allowfullscreen="true" style="border:0;" sandbox="allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox"></iframe></div>
  713. <h2>Was kann mit <em>detectCores()</em> schief gehen?</h2>
  714. <p><em>detectCores()</em> kann folgende unerwünschte Ergebnisse liefern:</p>
  715. <ol>
  716. <li>einen <strong>Fehlwert</strong>;</li>
  717. <li>den <strong>Wert 1</strong>: das ist problematisch, wenn man durch Subtraktion von 1 einen Kern für das Betriebssystem reservieren möchte;</li>
  718. <li><strong>zu viele Kerne</strong></li>
  719. <li><strong>nicht</strong> die <strong>Anzahl &#8222;erlaubter&#8220; Kerne</strong> &#8211; Details weiter unten</li>
  720. </ol>
  721. <h2>Parallelisierung in R: Dank an Henrik Bengtsson</h2>
  722. <p>R-Code parallel auf mehreren Kernen oder Arbeitern auszuführen, ist eng mit dem Namen <a href="https://statistik-dresden.de/archives/tag/henrik-bengtsson">Henrik Bengtsson</a> verbunden. Dieser Artikel basiert auf einem englischsprachigen Blogeintrag von Henrik:<br />
  723. <a href="https://www.jottr.org/2022/12/05/avoid-detectcores/">Please avoid detectCores() in your R Packages</a></p>
  724. <p>Mehr von ihm:</p>
  725. <ul>
  726. <li>Webseiten:<br />
  727. <a href="https://jottr.org">https://jottr.org</a><br />
  728. <a href="https://futureverse.org">https://futureverse.org</a></li>
  729. <li>Github: <a href="https://github.com/HenrikBengtsson">https://github.com/HenrikBengtsson</a></li>
  730. <li>Twitter-Profil: <a href="https://twitter.com/henrikbengtsson">https://twitter.com/henrikbengtsson</a></li>
  731. </ul>
  732. <p>R-Pakete von Henrik Bengtsson (unvollständige Auswahl):</p>
  733. <table style="border-collapse: collapse; width: 100%;" border="1">
  734. <tbody>
  735. <tr style="height: 28px;">
  736. <td style="width: 34.5%; height: 28px;"><strong>Paket</strong></td>
  737. <td style="width: 65.5%; height: 28px;"><strong>Beschreibung</strong></td>
  738. </tr>
  739. <tr style="height: 56px;">
  740. <td style="width: 34.5%; height: 56px;">future</td>
  741. <td style="width: 65.5%; height: 56px;">einheitliche Schnittstelle zu paralleler und verteilter Ausführung von R-Code</td>
  742. </tr>
  743. <tr style="height: 56px;">
  744. <td style="width: 34.5%; height: 56px;">future.apply</td>
  745. <td style="width: 65.5%; height: 56px;">Apply-Funktionen auf Basis des <em>future</em>-Frameworks</td>
  746. </tr>
  747. <tr style="height: 84px;">
  748. <td style="width: 34.5%; height: 84px;">progressr</td>
  749. <td style="width: 65.5%; height: 84px;">einheitliche Schnittstelle für Fortschritts-Infos in R-Code; hier ein <a href="https://youtu.be/AsaCfw66nZM">Video über Fortschrittsbalken</a> sowie ein <a href="https://statistik-dresden.de/fortschrittsbalken-anzeigen-und-code-parallelisieren-in-r-progressr-und-future/">Blogbeitrag</a></td>
  750. </tr>
  751. <tr style="height: 56px;">
  752. <td style="width: 34.5%; height: 56px;">matrixStats</td>
  753. <td style="width: 65.5%; height: 56px;">Methoden, die auf Zeilen und Spalten von Matrizen anwendbar sind (auch Vektoren)</td>
  754. </tr>
  755. <tr style="height: 28px;">
  756. <td style="width: 34.5%; height: 28px;"><strong>parallelly</strong></td>
  757. <td style="width: 65.5%; height: 28px;">Erweiterungen des <em>parallel</em>-Pakets</td>
  758. </tr>
  759. </tbody>
  760. </table>
  761. <p>Für weitere R-Pakete siehe seine Profile, insbesondere github.</p>
  762. <h2>1. detectCores() kann einen Fehlwert zurückgeben</h2>
  763. <p>Siehe <em>help(&#8222;detectCores&#8220;, package = &#8222;parallel&#8220;)</em>:</p>
  764. <p>Value: An integer, <strong><em>NA if the answer is unknown</em></strong></p>
  765. <p>Beispiel:</p>
  766. <pre>ncores <span class="ot">&lt;-</span> <span class="fu">detectCores</span>()
  767. workers <span class="ot">&lt;-</span> parallel<span class="sc">::</span><span class="fu">makeCluster</span>(ncores)</pre>
  768. <p><span style="color: #ff0000;">Error in makePSOCKcluster(names = spec, …) :</span><br />
  769. <span style="color: #ff0000;">numeric ‘names’ must be &gt;= 1</span></p>
  770. <p><span style="color: #000000;">Lösung: <em><strong>parallelly<span class="sc">::</span><span class="fu">availableCores</span>()</strong></em></span></p>
  771. <p><figure id="attachment_17902" aria-describedby="caption-attachment-17902" style="width: 838px" class="wp-caption aligncenter"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/12/thumbnail_why-not-detectCores.png?ssl=1"><img loading="lazy" decoding="async" class="size-full wp-image-17902" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/12/thumbnail_why-not-detectCores.png?resize=838%2C321&#038;ssl=1" alt="parallelly::availableCores() statt parallel::detectCores()" width="838" height="321" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/12/thumbnail_why-not-detectCores.png?w=838&amp;ssl=1 838w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/12/thumbnail_why-not-detectCores.png?resize=300%2C115&amp;ssl=1 300w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/12/thumbnail_why-not-detectCores.png?resize=768%2C294&amp;ssl=1 768w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17902" class="wp-caption-text">parallelly::availableCores() statt parallel::detectCores()</figcaption></figure></p>
  772. <h2>2. detectCores() kann den Wert 1 zurückgeben</h2>
  773. <p>Somit scheitert diese übliche Anwendung:</p>
  774. <pre>ncores <span class="ot">&lt;-</span> <span class="fu">detectCores</span>() <span class="sc">-</span> 1L   # kann 0 werden</pre>
  775. <p>Lösungen:</p>
  776. <pre># Minimum = 1
  777. <strong>parallelly<span class="sc">::</span><span class="fu">availableCores</span>()</strong>
  778.  
  779. # Einen Kern frei lassen (fürs Betriebssystem), wenn möglich
  780. # Minimum = 1
  781. parallelly<span class="sc">::</span><span class="fu">availableCores</span>(<strong><span class="at">omit =</span> <span class="dv">1</span></strong>)</pre>
  782. <h2>3. <em>detectCores()</em> kann zu viele Kerne zurückgeben</h2>
  783. <ul>
  784. <li>R hat ein Limit für die Anzahl an Verbindungen (<em>connections</em>), die gleichzeitig geöffnet sein können</li>
  785. <li>Bei R-Version 4.2.2 liegt das theoretische Limit bei 125 Verbindungen</li>
  786. <li>Das tatsächliche Limit kann darunter liegen, da Verbindungen eventuell anderweitig genutzt werden</li>
  787. </ul>
  788. <p>Beispiel für eine Maschine mit 192 Kernen:</p>
  789. <pre>cl <span class="ot">&lt;-</span> parallel<span class="sc">::</span><span class="fu">makeCluster</span>(<span class="fu">detectCores</span>())</pre>
  790. <p><span style="color: #ff0000;">Error in socketAccept(socket = socket, blocking = TRUE, open = “a+b”) : all connections are in use</span></p>
  791. <pre>cl <span class="ot">&lt;-</span> parallelly<span class="sc">::</span><span class="fu">makeClusterPSOCK</span>(<span class="fu">detectCores</span>())</pre>
  792. <p><span style="color: #ff0000;">Error: Cannot create 192 parallel PSOCK nodes. Each node needs one connection, but there are only 124 connections left out of the maximum 128 available on this R installation</span></p>
  793. <p><span style="color: #000000;">Somit funktioniert der bisher bewährte Code nicht mehr auf modernen, leistungsfähigen Maschinen.</span></p>
  794. <p>Lösung:</p>
  795. <pre>parallelly<span class="sc">::</span><span class="fu">availableCores</span>(<strong><span class="at">constraints =</span> <span class="st">"connections"</span></strong>)</pre>
  796. <p>Zudem kann man eine <strong>R-Option</strong> setzen, um den maximalen Rückgabewert von <em>availableCores()</em> zu steuern:</p>
  797. <p><em>parallelly.availableCores.system</em></p>
  798. <p>Auch eine Umgebungsvariable steht dafür zur Verfügung:</p>
  799. <p><em>R_PARALLELLY_AVAILABLECORES_SYSTEM</em></p>
  800. <p>Zum Beispiel: R_PARALLELLY_AVAILABLECORES_SYSTEM=120</p>
  801. <h2><em>detectCores()</em> ermittelt nicht die Anzahl &#8222;erlaubter&#8220; Kerne</h2>
  802. <h3>a) Auf einem Personal Computer (PC)</h3>
  803. <p>Als Entwickler wissen wir nicht, wie viele Kerne der Anwender einsetzen möchte. Es ist besser, den Anwender entscheiden zu lassen, wie viele Kerne für welchen Zweck arbeiten sollen.</p>
  804. <p>Wenn man <strong>mehrere R-Sessions gleichzeitig</strong> startet, kann <em>detectCores()</em> zu einem <strong>Mehrfachen von 100% Auslastung</strong> führen, was schnell sehr ineffizient wird!</p>
  805. <h3>b) Auf einer von mehreren Anwendern genutzten Maschine</h3>
  806. <p>Wenn man &#8222;einfach&#8220; (als Voreinstellung, <em>default</em>) alle Kerne einer Maschine nutzt, <strong>verlangsamt man alle Prozesse für alle Nutzer</strong>. Der Nutzer, der dies verursachte, mag sich dessen gar nicht bewusst sein. Vielleicht hat er nur unseren Code ausgeführt. Möglicherweise ist die Ursache schwer nachvollziehbar und kostet Nerven und Zeit von Administratoren und anderen Usern.</p>
  807. <p>Lösung:</p>
  808. <pre>parallelly<span class="sc">::</span><span class="fu">availableCores</span>()</pre>
  809. <p>Ein Nutzer oder Systemadministrator kann die voreingestellte Anzahl an CPU-Kernen mit einer Umgebungsvariable steuern:</p>
  810. <p>R_PARALLELLY_AVAILABLECORES_FALLBACK</p>
  811. <p>Beispiel: R_PARALLELLY_AVAILABLECORES_FALLBACK=2</p>
  812. <h3>c) Gemeinsam genutzter Compute Cluster mit vielen Maschinen</h3>
  813. <p><em>High Perfomance Computer Clusters</em> (<strong>HPC</strong>) nutzen <strong>Job Schedulers</strong>.</p>
  814. <p>Slurm-Beispiel (Slurm = Simple Linux Utility for Resource Management):</p>
  815. <pre>sbatch --cpus-per-task=48 --mem=256G run_my_rscript.sh</pre>
  816. <p><em>detectCores()</em> respektiert diese Einstellung von Job Schedulers <strong>nicht</strong>.</p>
  817. <p>Lösung:</p>
  818. <pre>parallelly<span class="sc">::</span><span class="fu">availableCores</span>()</pre>
  819. <ul>
  820. <li>respektiert Umgebungsvariablen von üblichen HPC Job Schedulers</li>
  821. <li>Beispiele:</li>
  822. <li>Fujitsu Technical Computing Suite (PJM), Grid Engine (SGE), Load Sharing Facility (LSF), PBS/Torque, Simple Linux Utility for Resource Management (Slurm)</li>
  823. </ul>
  824. <h3>d) R-Code in CGroups in einem Linux Container</h3>
  825. <p>CGroups = control groups: Ein Prozess erhält eine bestimmte Anzahl Kerne zugewiesen. Beispiel:</p>
  826. <pre>docker run --cpuset-cpus=0-2,8 oder
  827. docker run --cpu=3.4</pre>
  828. <p><em>detectCores()</em> gibt die CPUs der Hardware zurück, nicht der cgroup!</p>
  829. <p>Beispiel: 96 Kerne, 8 Kerne pro cgroup: Das bedeutet, dass 96 Arbeiter um die Ressourcen von 8 Kernen kämpfen. Das wird schnell sehr ineffizient.</p>
  830. <p>Das kann auch in der <a href="https://posit.cloud/">Posit Cloud</a> (früher RStudio Cloud) passieren!</p>
  831. <p>Lösung:</p>
  832. <pre>parallelly<span class="sc">::</span><span class="fu">availableCores</span>()</pre>
  833. <h2>Henrik Bengtssons Empfehlung</h2>
  834. <ul>
  835. <li>Der sicherste Weg ist, R-Code und insbesondere <a href="https://statistik-dresden.de/r-schulungen/eigene-r-pakete-entwickeln">R-Pakete</a> so zu gestalten, dass sie in der Voreinstellung Code sequentiell ausführen.</li>
  836. <li>Der Anwender sollte entscheiden, wie viele Arbeiter ggf. parallel eingesetzt werden.</li>
  837. <li>Zweitbeste Alternative: <em>detectCores()</em> ersetzen durch <em>parallelly::availableCores()</em></li>
  838. </ul>
  839. <p>Weitere Details siehe <a href="https://parallelly.futureverse.org/">https://parallelly.futureverse.org/</a></p>
  840. <p>Alles Gute für Eure R-Projekte! Freue mich sehr über Erfahrungsberichte &#8211; lasst mir Kommentare da!</p>
  841. <p>Hier geht&#8217;s zum früheren Beitrag <a href="https://statistik-dresden.de/r-code-parallelisieren-mit-parallelclusterapply/">R-Code parallelisieren mit parallel::clusterApply()</a>. Dort hatte ich noch <em>detectCores()</em> eingesetzt, aber bereits auf <em>parallelly::availableCores()</em> hingewiesen.</p>
  842. <p>Und hier ein Beitrag über <a href="https://statistik-dresden.de/fortschrittsbalken-anzeigen-und-code-parallelisieren-in-r-progressr-und-future/">Fortschrittsbalken mit progressr und future</a>, R-Paketen von Henrik Bengtsson.</p>The post <a href="https://statistik-dresden.de/warum-du-paralleldetectcores-in-r-nicht-verwenden-solltest/">Warum Du parallel::detectCores() in R NICHT verwenden solltest</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></content:encoded>
  843. <wfw:commentRss>https://statistik-dresden.de/warum-du-paralleldetectcores-in-r-nicht-verwenden-solltest/feed/</wfw:commentRss>
  844. <slash:comments>0</slash:comments>
  845. <post-id xmlns="com-wordpress:feed-additions:1">17893</post-id> </item>
  846. <item>
  847. <title>Aus RStudio wurde Posit!</title>
  848. <link>https://statistik-dresden.de/aus-rstudio-wurde-posit/</link>
  849. <comments>https://statistik-dresden.de/aus-rstudio-wurde-posit/#comments</comments>
  850. <dc:creator><![CDATA[Wolf Riepl]]></dc:creator>
  851. <pubDate>Tue, 15 Nov 2022 13:12:24 +0000</pubDate>
  852. <category><![CDATA[R-Programmierung]]></category>
  853. <category><![CDATA[Hadley Wickham]]></category>
  854. <category><![CDATA[Max Kuhn]]></category>
  855. <category><![CDATA[Open Source]]></category>
  856. <category><![CDATA[posit]]></category>
  857. <category><![CDATA[Python]]></category>
  858. <category><![CDATA[RStudio]]></category>
  859. <category><![CDATA[Thomas Pedersen]]></category>
  860. <guid isPermaLink="false">https://statistik-dresden.de/?p=17849</guid>
  861.  
  862. <description><![CDATA[<p>RStudio, die vielleicht bekannteste Firma im R-Umfeld, hat sich in Posit umbenannt. Posit ist ein real existierendes Wort: es bedeutet, eine Idee zur Diskussion zu stellen. Das ist ein charakteristischer Bestandteil der Arbeit von Data Scientists (Hypothesen aufstellen und testen!) und reflektiert damit die Arbeit der datengetriebenen Open-Source-Gemeinschaft sowie den wissenschaftlichen Ehrgeiz, stets nach einem &#8230; <a href="https://statistik-dresden.de/aus-rstudio-wurde-posit/" class="more-link"><span class="screen-reader-text">„Aus RStudio wurde Posit!“</span> weiterlesen</a></p>
  863. The post <a href="https://statistik-dresden.de/aus-rstudio-wurde-posit/">Aus RStudio wurde Posit!</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></description>
  864. <content:encoded><![CDATA[<p>RStudio, die vielleicht bekannteste Firma im R-Umfeld, hat sich in <strong>Posit</strong> umbenannt. Posit ist ein real existierendes Wort: es bedeutet, eine Idee zur Diskussion zu stellen. Das ist ein charakteristischer Bestandteil der Arbeit von Data Scientists (Hypothesen aufstellen und testen!) und reflektiert damit</p>
  865. <ul>
  866. <li>die Arbeit der datengetriebenen Open-Source-Gemeinschaft sowie</li>
  867. <li>den wissenschaftlichen Ehrgeiz, stets nach einem höheren Niveau an Wissen und Verständnis zu streben.</li>
  868. </ul>
  869. <h2>Verschwindet damit der Name RStudio von der Bildfläche?</h2>
  870. <p>Während RStudio als Firmenname Geschichte ist, bleibt der Name <a href="https://statistik-dresden.de/archives/tag/rstudio">RStudio</a> für die Entwicklungsumgebung für R erhalten. Die IDE (<em>Integrated Development Environment</em>) RStudio behält ihren bewährten Namen.</p>
  871. <p>Andere Produkte von <strong>Posit</strong> sind allerdings von der Namensänderung betroffen:</p>
  872. <ul>
  873. <li>RStudio Connect heißt jetzt <strong>Posit Connect</strong></li>
  874. <li>RStudio Workbench heißt jetzt <strong>Posit Workbench</strong></li>
  875. <li>RStudio Package Manager heißt jetzt <strong>Posit Package Manager</strong></li>
  876. </ul>
  877. <h2>R bleibt Schwerpunkt, aber nicht ausschließlich &#8211; Python auch</h2>
  878. <p>Posit fühlt sich weiterhin der R-Gemeinschaft verpflichtet und verbunden. <a href="https://statistik-dresden.de/archives/tag/hadley-wickham">Hadley Wickham</a> sagte, er habe nicht vor, Python zu lernen. Allerdings reflektiert die Namensänderung etwas, das das Unternehmen schon seit einer Weile tut: Die oben genannten kommerziellen Produkte unterstützen bereits seit über zwei Jahren <strong>Python</strong>. Die Umbenennung zieht somit nur nach und macht deutlicher als bisher, dass es nicht ausschließlich um R geht. Das Posit / RStudio-Team unterstützt Python auch durch die aktive Entwicklung des <strong>reticulate</strong>-Pakets, mit dem man von R aus Python-Code ausführen kann, durch Syntax Highlighting in der RStudio IDE und durch das neue <a href="https://quarto.org/"><strong>Quarto</strong>-Format</a>. Mit Quarto kann man, wie mit Markdown, die Berichtserstellung automatisieren. Auch hier reflektiert der Name, dass es um mehr geht als nur R. Quarto ist ebenso gut mit Python und <strong>Julia</strong> nutzbar.</p>
  879. <p>Neu ist zudem <a href="https://shiny.rstudio.com/py/">Shiny für Python</a>.</p>
  880. <h2>Interessante Firmenstruktur: Posit als Public Benefit Corporation</h2>
  881. <p>Posit, und davor RStudio seit Anfang 2020, firmiert als <strong>Public Benefit Corporation</strong>. Damit ist die Verpflichtung gegenüber der Open Source-Gemeinschaft, im Gegensatz zu der üblichen Verpflichtung eines Unternehmens gegenüber den Anteilseignern, in den Firmenstatuten festgeschrieben. Posit ist ein interessantes Beispiel dafür, wie der <strong>Spagat zwischen Open Source-Entwicklung und Rentabilität</strong> gelingen kann. Einige der hellsten Köpfe der R-Community arbeiten für Posit und verwenden einen Großteil ihrer Arbeitszeit auf Open Source-Entwicklung &#8211; zum Beispiel R-Pakete, die von R-Anwendern kostenlos nutzbar sind. Etliche Mitarbeiter sind vor ihrer Posit-Zeit bekannt geworden und wurden von anderen Positionen abgeworben &#8211; das heißt, dass Posit offenbar in der Lage ist, konkurrenzfähige Gehälter zu bezahlen. Beispiele sind:</p>
  882. <ul>
  883. <li>Natürlich <a href="https://statistik-dresden.de/archives/tag/hadley-wickham">Hadley Wickham</a>, der vor seiner Anstellung bei RStudio / Posit (2013) bereits <a href="https://statistik-dresden.de/archives/tag/ggplot2">ggplot2</a> (2008) und weitere R-Pakete wie <strong>plyr</strong> (Vorgänger von dplyr) und <strong>reshape, reshape2</strong> entwickelte;</li>
  884. <li><a href="https://statistik-dresden.de/archives/tag/max-kuhn">Max Kuhn</a>, von 2005 bis 2016 bei Pfizer als <em>Senior Director, Nonclinical Statistics, </em>Autor des bekannten <strong>caret</strong>-Pakets für Machine Learning (Vorgänger der <em>tidymodels</em>-Paketsammlung, an der er jetzt arbeitet) und Buchautor: <em>Applied Predictive Modeling;</em></li>
  885. <li><strong>Thomas Lin Pedersen</strong>, Spezialist für Datenvisualisierung, Autor zahlreicher R-Pakete, z. B. <em>patchwork </em>(Anordnung mehrerer Diagramme)<em>, <a href="https://statistik-dresden.de/archives/tag/gganimate">gganimate</a> </em>(erweitert ggplot2 um Animationen)<em>, ggraph </em>(Visualisierung relationaler Daten wie Netzwerke, Bäume)<em>, ggforce </em>(ggplot2 beschleunigen)<em>, tidygraph,</em> <strong>lime</strong> (<em>local interpretable model-agnostic explanations</em>) <a href="https://github.com/thomasp85?tab=repositories">und viele weitere, siehe sein github-Profil</a>. Er arbeitete für die Dänischen Steuerbehörden, als RStudio ihn 2018 abwarb. Pedersen hat von Hadley Wickham die Betreuung von ggplot2 als CRAN Maintainer (Verantwortlicher, an den Emails z. B. bei Kompatibilitätsproblemen mit anderen Paketen gehen) übernommen.</li>
  886. </ul>
  887. <p>Disclaimer: Ich habe keine geschäftliche Beziehung zu Posit / RStudio und nutze bisher ausschließlich kostenlose Produkte. Eines, das vielleicht nicht so bekannt ist und das ich gern empfehlen kann, ist übrigens die <strong>RStudio Cloud</strong>, die weiterhin so heißt und die es ermöglicht, R und RStudio ganz ohne lokale Installation im Internetbrowser zu nutzen. Bei Schulungen habe ich meist eine Kursversion in der Cloud für Teilnehmer, die ansonsten an der Installation scheitern würden &#8211; sei es aufgrund fehlender Admin-Rechte oder aufgrund veralteter Software-Versionen.</p>
  888. <p>Was haltet Ihr von der Umbenennung? Könnt Ihr Euch mit dem neuen Namen Posit anfreunden?</p>
  889. <p>Weitere Infos:</p>
  890. <ul>
  891. <li><a href="https://posit.co/blog/rstudio-is-becoming-posit/">RStudio is becoming Posit</a> &#8211; Blogbeitrag von Firmengründer JJ Allaire und Hadley Wickham</li>
  892. <li><a href="https://posit.co/blog/rstudio-is-now-posit/">RStudio is now Posit!</a> &#8211; New Name, Same DNA</li>
  893. <li>Zur Umfirmierung als <em>Public Benefit Corporation</em>: <a href="https://posit.co/blog/rstudio-pbc/">RStudio Inc becomes RStudio PBC, expands data science product focus with Python support</a></li>
  894. <li><a href="https://rstudio.cloud/">RStudio Cloud</a></li>
  895. </ul>The post <a href="https://statistik-dresden.de/aus-rstudio-wurde-posit/">Aus RStudio wurde Posit!</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></content:encoded>
  896. <wfw:commentRss>https://statistik-dresden.de/aus-rstudio-wurde-posit/feed/</wfw:commentRss>
  897. <slash:comments>2</slash:comments>
  898. <post-id xmlns="com-wordpress:feed-additions:1">17849</post-id> </item>
  899. <item>
  900. <title>R und Shiny: Was ist Reaktivität / Reaktives Programmieren?</title>
  901. <link>https://statistik-dresden.de/r-und-shiny-was-ist-reaktivitaet-reaktives-programmieren/</link>
  902. <comments>https://statistik-dresden.de/r-und-shiny-was-ist-reaktivitaet-reaktives-programmieren/#respond</comments>
  903. <dc:creator><![CDATA[Wolf Riepl]]></dc:creator>
  904. <pubDate>Mon, 14 Nov 2022 15:55:18 +0000</pubDate>
  905. <category><![CDATA[Praxisbeispiel]]></category>
  906. <category><![CDATA[R-Programmierung]]></category>
  907. <category><![CDATA[App]]></category>
  908. <category><![CDATA[Excel]]></category>
  909. <category><![CDATA[ggplot2]]></category>
  910. <category><![CDATA[Hadley Wickham]]></category>
  911. <category><![CDATA[plotly]]></category>
  912. <category><![CDATA[Programmieren]]></category>
  913. <category><![CDATA[Reaktives Programmieren]]></category>
  914. <category><![CDATA[Reaktivität]]></category>
  915. <category><![CDATA[shiny]]></category>
  916. <guid isPermaLink="false">https://statistik-dresden.de/?p=17832</guid>
  917.  
  918. <description><![CDATA[<p>Der Erfolg von Datenanalysen beruht nicht nur auf den Ergebnissen selbst, sondern zunehmend auch darauf, wie sie präsentiert und anderen zugänglich gemacht werden. R bietet mit Shiny ein großartiges Werkzeug, um interaktive Webapplikationen zu erstellen. Dazu sind weder HTML- noch CSS- oder Javascript-Kenntnisse erforderlich. Shiny: Umdenken von bisheriger R-Programmierung Wer bereits Erfahrungen mit der R-Programmierung &#8230; <a href="https://statistik-dresden.de/r-und-shiny-was-ist-reaktivitaet-reaktives-programmieren/" class="more-link"><span class="screen-reader-text">„R und Shiny: Was ist Reaktivität / Reaktives Programmieren?“</span> weiterlesen</a></p>
  919. The post <a href="https://statistik-dresden.de/r-und-shiny-was-ist-reaktivitaet-reaktives-programmieren/">R und Shiny: Was ist Reaktivität / Reaktives Programmieren?</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></description>
  920. <content:encoded><![CDATA[<p>Der Erfolg von Datenanalysen beruht nicht nur auf den Ergebnissen selbst, sondern zunehmend auch darauf, wie sie präsentiert und anderen zugänglich gemacht werden. R bietet mit <a href="https://statistik-dresden.de/archives/tag/shiny">Shiny</a> ein großartiges Werkzeug, um interaktive Webapplikationen zu erstellen. Dazu sind weder HTML- noch CSS- oder Javascript-Kenntnisse erforderlich.</p>
  921. <h2>Shiny: Umdenken von bisheriger R-Programmierung</h2>
  922. <p><figure id="attachment_17834" aria-describedby="caption-attachment-17834" style="width: 229px" class="wp-caption alignright"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/cover-mastering-shiny.png?ssl=1"><img loading="lazy" decoding="async" class="wp-image-17834 size-medium" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/cover-mastering-shiny.png?resize=229%2C300&#038;ssl=1" alt="Mastering Shiny - Buch von Hadley Wickham" width="229" height="300" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/cover-mastering-shiny.png?resize=229%2C300&amp;ssl=1 229w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/cover-mastering-shiny.png?w=500&amp;ssl=1 500w" sizes="(max-width: 229px) 85vw, 229px" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17834" class="wp-caption-text">Mastering Shiny von Hadley Wickham ist <a href="https://mastering-shiny.org/">online kostenlos zugänglich</a> und in Papierform zu kaufen</figcaption></figure></p>
  923. <p>Wer bereits Erfahrungen mit der <a href="https://statistik-dresden.de/archives/category/praxisbeispiel/r-rstudio">R-Programmierung</a> gesammelt hat, kann auch mit Shiny loslegen. <a href="https://statistik-dresden.de/archives/tag/shiny">Shiny</a> ist sehr gut dokumentiert, sowohl mit eigenem Webseitenbereich bei <a href="https://shiny.rstudio.com/">RStudio / Posit</a>, als auch mit Literatur, wie z. B. dem kostenlos online zugänglichen Buch von <a href="https://statistik-dresden.de/archives/tag/hadley-wickham">Hadley Wickham</a>: <a href="https://mastering-shiny.org/">Mastering Shiny</a>.</p>
  924. <p>Eine Herausforderung liegt darin, dass man gegenüber herkömmlicher R-Programmierung umdenken muss. Neben etlichen technischen Details von Shiny-Funktionen geht es dabei zunächst um ein anderes <strong>Paradigma</strong> der Programmierung: <strong>Reaktivität</strong>.</p>
  925. <h2>Reaktives Programmieren / Reaktivität</h2>
  926. <p>Die gute Nachricht lautet: Jeder, der schon mal ein <a href="https://statistik-dresden.de/archives/tag/excel">Excel-Blatt</a> mit Formeln verwendet hat, ist bereits mit der Grundidee vertraut!</p>
  927. <p><figure id="attachment_17836" aria-describedby="caption-attachment-17836" style="width: 840px" class="wp-caption aligncenter"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/Excel-Reactivity.gif?ssl=1"><img loading="lazy" decoding="async" class="wp-image-17836 size-large" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/Excel-Reactivity.gif?resize=840%2C473&#038;ssl=1" alt="Reaktivität am Beispiel einer Excel-Mappe mit simplen Formeln" width="840" height="473" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/Excel-Reactivity.gif?resize=1024%2C576&amp;ssl=1 1024w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/Excel-Reactivity.gif?resize=300%2C169&amp;ssl=1 300w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/Excel-Reactivity.gif?resize=768%2C432&amp;ssl=1 768w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/Excel-Reactivity.gif?resize=1536%2C864&amp;ssl=1 1536w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/Excel-Reactivity.gif?resize=1200%2C675&amp;ssl=1 1200w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/Excel-Reactivity.gif?w=1680&amp;ssl=1 1680w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17836" class="wp-caption-text">Reaktivität am Beispiel einer Excel-Mappe mit simplen Formeln. <br />Die grünen Felder aktualisieren sich automatisch nach Änderungen in den grauen Feldern.<br />Anklicken, um die Reaktivität in Aktion zu sehen.</figcaption></figure></p>
  928. <p>Hier im Beispiel reagieren die grünen Felder auf Änderungen in den grauen Feldern. Es geht um Verkaufszahlen einer fiktiven Firma, die in den grauen Feldern links nach Monaten erfasst werden. In der Mitte werden Quartalszahlen aufgelistet, die sich mittels simpler Summenformeln aus den jeweiligen Monaten speisen. Rechts kommt noch eine Gesamtsumme für das ganze Jahr hinzu. Die grünen Zellen werden bei jeder Änderung in einer grauen Zelle automatisch aktualisiert.</p>
  929. <p>Genau das ist auch das Grundprinzip von Shiny.</p>
  930. <p>Für die Programmierung heißt das: Das <strong>R-Skript</strong>, aus dem Shiny die App erzeugt (mit HTML-, CSS- und Javascript-Elementen) <strong>wird nicht der Reihe nach Zeile für Zeile ausgeführt</strong>, wie man es von sonstigen R-Skripten gewohnt ist. Stattdessen werden in der App zwei wesentliche Bausteine definiert:</p>
  931. <ul>
  932. <li>eine Oberfläche für den Anwender, das <strong>U</strong>ser <strong>I</strong>nterface (UI), sowie</li>
  933. <li>eine Server-Funktion, die beschreibt, wie R auf die Eingaben des Anwenders reagieren soll.</li>
  934. </ul>
  935. <p>So entstehen <strong>Abhängigkeiten</strong> zwischen Inputs und Outputs, Eingabe und Ausgabe, <strong>die Shiny automatisch handhabt</strong>.</p>
  936. <h2>Anwendungsbeispiel: Eine simple reaktive App</h2>
  937. <p>Hier eine recht simple App mit einem Drop-Down-Feld, mit dem man in der Seitenspalte links eine Band / einen Künstler auswählen kann. Shiny erstellt im Hauptbereich rechts eine dazu passende Grafik.</p>
  938. <p><figure id="attachment_17841" aria-describedby="caption-attachment-17841" style="width: 892px" class="wp-caption aligncenter"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/simple-dropdown.png?ssl=1"><img loading="lazy" decoding="async" class="size-full wp-image-17841" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/simple-dropdown.png?resize=840%2C493&#038;ssl=1" alt="Shiny App mit Drop-Down und plotly-Grafik" width="840" height="493" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/simple-dropdown.png?w=892&amp;ssl=1 892w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/simple-dropdown.png?resize=300%2C176&amp;ssl=1 300w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/11/simple-dropdown.png?resize=768%2C451&amp;ssl=1 768w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17841" class="wp-caption-text">Shiny App mit Drop-Down und plotly-Grafik (hier auf der Webseite nur als statisches Bild, da R nicht auf dem Server läuft)</figcaption></figure></p>
  939. <p>Die Vorbereitung:</p>
  940. <pre># Paket chartmusicdata von github installieren
  941. # Diesen Teil nur ein Mal ausführen, kann dann auskommentiert / gelöscht werden
  942. library(devtools)
  943. remotes::install_github("fjodor/chartmusicdata")
  944.  
  945. # Pakete laden
  946. library(chartmusicdata)
  947. library(shiny)
  948. library(tidyverse)
  949. library(plotly)
  950.  
  951. # Daten aus dem chartmusicdata-Paket bereitstellen
  952. data(songs2000)
  953.  
  954. # Die 10 am häufigsten vertretenen Künstler / Bands bereitstellen
  955. artists &lt;- songs2000 %&gt;%
  956.  count(artist, sort = TRUE) %&gt;%
  957.  slice_head(n = 10) %&gt;%
  958.  pull(artist)
  959.  
  960. # Daten nach diesen 10 Künstlern / Bands filtern
  961. songsdata &lt;- songs2000 %&gt;%
  962.  filter(artist %in% artists)
  963.  
  964. # Hilfsfunktion für die x-Achsen-Beschriftung
  965. ntes_label &lt;- function(n = 4) {
  966.  function(x) {x[c(TRUE, rep(FALSE, n - 1))]}
  967. }</pre>
  968. <h2>Das User Interface (UI) der Shiny-App</h2>
  969. <p>Nun können wir das <strong>User Interface (UI)</strong> definieren:</p>
  970. <pre>ui &lt;- fluidPage(
  971.  
  972.  titlePanel("Simple Reaktivität: Dropdown"),
  973.  
  974.  sidebarLayout(
  975.  
  976.    sidebarPanel(
  977.      <strong>selectInput(inputId = "bandname"</strong>, label = "Künstler / Band auswählen",
  978. choices = artists, selected = "Drake")
  979.   ),
  980.  
  981.    mainPanel(
  982.     h2("Daten aus songs2000"),  # h2 ist eine Überschrift Ebene 2
  983.      plotlyOutput(outputId = "bandplot")  # Platzhalter für Grafik
  984.     )
  985.   )
  986. )</pre>
  987. <p>Mit ein paar simplen Shiny-Funktionen beschreiben wir das Layout der App: eine Seite mit Seitenspalte (<em>sidebarPanel</em>) und Hauptbereich (<em>mainPanel</em>). Der Nutzer interagiert mit der App über ein Drop-Down-Feld (<em>selectInput</em>). Die ID &#8222;<em>bandname</em>&#8220; nutzen wir gleich in der Server-Funktion als Variable, um die Nutzereingabe zu verarbeiten. Es ist eine interaktive <a href="https://statistik-dresden.de/archives/tag/plotly">plotly-Grafik</a> vorgesehen (<em>plotlyOutput</em>), deren Erstellung in der Server-Funktion erfolgt.</p>
  988. <h2>Die Server-Funktion der Shiny-App</h2>
  989. <p>Und so sieht die Server-Funktion aus:</p>
  990. <pre>server &lt;- function(input, output, session) {
  991.  
  992.  output$bandplot &lt;- <strong>renderPlotly</strong>({
  993.  
  994.  p &lt;- songsdata %&gt;%
  995.    filter(artist == <strong>input$bandname</strong>) %&gt;%
  996.    <strong>ggplot</strong>(aes(x = year_month, y = indicativerevenue, color = song, group = artist)) +
  997.    geom_point(size = 1.5) +
  998.    labs(title = paste("Songs von", <strong>input$bandname</strong>),
  999.    x = "Monat und Jahr",
  1000.    y = "Indicative Revenue in USD") +
  1001.    scale_x_discrete(breaks = <strong>ntes_label()</strong>) +
  1002.    scale_y_continuous(labels = scales::label_dollar(scale = 1000)) +
  1003.    theme_bw(base_size = 14) +
  1004.    theme(axis.text.x = element_text(angle = 90),
  1005. legend.position = "none")
  1006.  
  1007.  <strong>ggplotly(p)</strong>
  1008.  
  1009.  })
  1010. }</pre>
  1011. <ul>
  1012. <li>Die Funktionsparameter <em>input, output, session</em> werden von Shiny verarbeitet</li>
  1013. <li>An zwei Stellen verarbeiten wir die Nutzereingabe, die Auswahl der Band. Der Zugriff erfolgt über die Variable <em>input$bandname</em>, wobei die ID &#8222;bandname&#8220; im <em>User Interface</em> definiert wurde.<br />
  1014. Es wird nach der Band gefiltert und die Band im Diagrammtitel genannt.</li>
  1015. <li>Es handelt sich um ein <a href="https://statistik-dresden.de/archives/tag/ggplot2">ggplot2-Diagramm</a>.</li>
  1016. <li>Wir machen es interaktiv (sodass es auf den Mauszeiger reagiert und Details zum jeweiligen Song anzeigt) mit Hilfe des großartigen <a href="https://statistik-dresden.de/archives/tag/plotly">plotly-Pakets</a>.</li>
  1017. </ul>
  1018. <p>Den Abschluss bildet die Funktion shinyApp, die als Argumente das User Interface und die Server-Funktion enthält:</p>
  1019. <pre>shinyApp(ui = ui, server = server)</pre>
  1020. <h2>Reaktivität (fast) ohne Programmieraufwand!</h2>
  1021. <p>Bei jeder neuen Auswahl einer Band / eines Künstlers im Drop-Down-Menü <strong>aktualisiert Shiny automatisch die Grafik</strong>. Und wir haben so gut wie nichts dafür tun müssen!</p>
  1022. <p>Bedingung ist lediglich, dass die Grafik innerhalb einer <strong>render()-Funktion</strong> erstellt wird; hier handelt es sich um <strong>renderPlotly()</strong>, passend zum &#8222;Platzhalter&#8220; im User Interface: <strong>plotlyOutput()</strong>. Das genügt Shiny bereits, um alles, was die Reaktivität erfordert, im Hintergrund zu regeln!</p>
  1023. <h2>Reaktives Programmieren mit Shiny: Zusammenfassung</h2>
  1024. <ul>
  1025. <li>Shiny-Apps bestehen aus <em>User Interface</em> und <em>Server-Funktion</em></li>
  1026. <li>Ausgaben werden im User Interface mit <em>output()</em>-Funktionen angelegt;<br />
  1027. in unserem Beispiel: <em>plotlyOutput()</em></li>
  1028. <li>Weitere Outputs:<br />
  1029. <em>plotOutput() </em>für statische Diagramme;<br />
  1030. <em>tableOutput()</em> für Tabellen;<br />
  1031. <em>dataTableOutput()</em> für interaktive Tabellen mit dem DT-Paket;<br />
  1032. <em>textOutput()</em> für reine Textausgaben</li>
  1033. <li>Die Reaktivität wird sichergestellt, indem die Ausgabe in der Server-Funktion über eine <em>render()</em>-Funktion erfolgt;<br />
  1034. in unserem Beispiel: <em>renderPlotly()</em></li>
  1035. <li>Weitere Render-Funktionen entsprechend der obigen Aufzählung für die Outputs:<br />
  1036. <em>renderPlot()</em> für statische Diagramme;<br />
  1037. <em>renderTable()</em> für Tabellen;<br />
  1038. <em>DT::renderDataTable()</em> für interaktive Tabellen mit dem DT-Paket;<br />
  1039. <em>renderText()</em> für Textausgaben</li>
  1040. <li>Die App reagiert auf Nutzereingaben, indem die Server-Funktion auf input-Variablen zugreift;<br />
  1041. in unserem Beispiel: <em>input$bandname</em>, entsprechend der Id <em>bandname</em> in <em>plotlyOutput()</em></li>
  1042. <li>Schnelle Funktionsübersicht: Siehe <a href="https://shiny.rstudio.com/articles/cheatsheet.html">Shiny Cheatsheet</a></li>
  1043. </ul>
  1044. <p>Viel Erfolg mit Euren Shiny-Apps!</p>
  1045. <p>Gern unterstütze ich Euch mit einem <a href="https://statistik-dresden.de/r-schulungen/shiny-interaktive-webapplikationen-mit-r">Workshop</a>.</p>
  1046. <p><a href="https://amzn.to/3TXhtMi">Hadley Wickham: Mastering Shiny</a></p>
  1047. <p><a href="https://amzn.to/41T2cxO">Storytelling mit Daten – Cole Nussbaumer Knaflic</a></p>The post <a href="https://statistik-dresden.de/r-und-shiny-was-ist-reaktivitaet-reaktives-programmieren/">R und Shiny: Was ist Reaktivität / Reaktives Programmieren?</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></content:encoded>
  1048. <wfw:commentRss>https://statistik-dresden.de/r-und-shiny-was-ist-reaktivitaet-reaktives-programmieren/feed/</wfw:commentRss>
  1049. <slash:comments>0</slash:comments>
  1050. <post-id xmlns="com-wordpress:feed-additions:1">17832</post-id> </item>
  1051. <item>
  1052. <title>Geht nicht, gibt´s nicht &#8211; Probability at Risk</title>
  1053. <link>https://statistik-dresden.de/geht-nicht-gibts-nicht-probability-at-risk/</link>
  1054. <comments>https://statistik-dresden.de/geht-nicht-gibts-nicht-probability-at-risk/#respond</comments>
  1055. <dc:creator><![CDATA[Tim Scheffczyk]]></dc:creator>
  1056. <pubDate>Mon, 05 Sep 2022 14:54:58 +0000</pubDate>
  1057. <category><![CDATA[Praxisbeispiel]]></category>
  1058. <category><![CDATA[Sport]]></category>
  1059. <category><![CDATA[Dimitrij Ovtcharov]]></category>
  1060. <category><![CDATA[Gewinnwahrscheinlichkeit]]></category>
  1061. <category><![CDATA[Henry Maske]]></category>
  1062. <category><![CDATA[odds at risk]]></category>
  1063. <category><![CDATA[probability at risk]]></category>
  1064. <category><![CDATA[relative Häufigkeit]]></category>
  1065. <category><![CDATA[Sportstudio]]></category>
  1066. <category><![CDATA[Wahrscheinlichkeit]]></category>
  1067. <guid isPermaLink="false">https://statistik-dresden.de/?p=17789</guid>
  1068.  
  1069. <description><![CDATA[<p>0% - Dieser Wert steht in der Nachbetrachtung einer Versuchsreihe dafür, dass ein Ereignis nicht eingetreten ist. So weit, so gut. Prognostiziert man jedoch für ein zukünftiges Ereignis eine Auftretenswahrscheinlichkeit von 0%, würde man dieses Ereignis schlicht unmöglich klassifizieren. Das ist jedoch ein Trugschluss. Denn geht nicht, gibt’s nicht. Dies gilt auch in der Statistik. Die relative Häufigkeit von 0% ist daher als Schätzer der Wahrscheinlichkeit in diesem Fall ungeeignet. Anhand der Methodik der «Probability at Risk » kann eine Schätzung der Wahrscheinlichkeit vorgenommen werden, auch wenn das Ereignis bisher (noch) nicht eingetreten ist. Beispiele aus dem Sport &#038; TV, sowie dem Gesundheitswesen sollen zum einen die Vielschichtigkeit dieser Problematik aufzeigen, wie gleichzeitig auch die Methodik anschaulich erläutern.</p>
  1070. The post <a href="https://statistik-dresden.de/geht-nicht-gibts-nicht-probability-at-risk/">Geht nicht, gibt´s nicht – Probability at Risk</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></description>
  1071. <content:encoded><![CDATA[<p><em>Karl Senne moderiert das aktuelle sportstudio, photographiert durch die Torwand, 30. August 1986.</em><br />
  1072. <em>Quelle: Wikimedia Commons; Urheber: Elmar J. Lordemann;</em><br />
  1073. <em><a href="https://creativecommons.org/licenses/by-nc-nd/3.0/deed.de">Creative Commons Lizenz</a></em></p>
  1074. <h2>Gastbeitrag von Tim Scheffczyk</h2>
  1075. <h3><strong><em>Wahrscheinlich unwahrscheinlich</em></strong></h3>
  1076. <p>Ein unwahrscheinliches Ereignis tritt per Definition (sehr) selten auf. Bei einer geringen Anzahl an Beobachtungen oder Versuchen ist es in solch einem Fall daher gut möglich, dass dieses Ereignis im Beobachtungszeitraum überhaupt gar nicht erst auftritt. Nimmt man die relative Häufigkeit des Auftretens als Schätzer für die zugrundeliegende Wahrscheinlichkeit, so würde man dem nicht aufgetretenen Ereignis 0% zuweisen. Solch ein Ereignis wäre demnach unmöglich. Dies ist jedoch ein Trugschluss. Denn aus Nicht-Eintreten des Ereignisses, lässt sich nicht rückschließen, dass es unmöglich ist.</p>
  1077. <p>Eine Urne sei mit Losen befüllt. Nun wissen wir nicht wieviel hiervon mit Nieten und Gewinnen versehen. Man kann anhand der gezogenen Lose den Anteil an Nieten und Gewinnen abschätzen. Doch wie schätzt man den Anteil, wenn man ausschliesslich Nieten zieht? Ist die Wahrscheinlichkeit für ein Gewinnlos dann 0 %? Nein.</p>
  1078. <p>Beginnen wir zunächst mit dem Ziehen eines Loses. Man erhält eine Niete. In der Statistik geht man davon aus, dass ein aufgetretenes Ereignis für eine bestimmte Hypothese noch als plausibel betrachtet werden kann, wenn es eine Wahrscheinlichkeit von mind. 5 % hatte. Auf das Beispiel übertragen müssen wir also noch davon ausgehen, dass die Urne 95 % Gewinnlose und nur 5 % aus Nieten enthält. Die höchste statistische Wahrscheinlichkeit für ein Gewinnlos, welche mit dem Ereignis zu vereinbaren ist, beträgt bei einer einmaligen Ziehung noch 95 %. Diese sei im Folgenden als Probability at Risk definiert. Das bedeutet, dass wir noch davon ausgehen müssen, dass wir das Pech hatten eine Niete zu ziehen, obwohl es eigentlich 95 % aller Lose Gewinne sind. Dies ändert sich jedoch, wenn die Zahl der Nieten sich erhöht ohne, dass ein Gewinn dabei ist. Wenn wir nämlich 2 Nieten nacheinander ziehen, kann man statistisch die Hypothese der 95 %-Gewinnwahrscheinlichkeit nicht mehr aufrechterhalten. Denn wenn dem so wäre, würde nur 5 % Nieten enthalten sein. Wäre diese Annahme korrekt, so läge die Wahrscheinlichkeit für 2 Nieten nacheinander bei 5 % x 5 % = 0.0025 bzw.  1/400. Diese Wahrscheinlichkeit ist so klein, dass wir die dahinter liegende Annahme schlicht nicht mehr glauben. Die Wahrscheinlichkeit muss also kleiner sein als 95 %. Tatsächlich liegt die für ein Gewinnlos bei maximal 77.6 %. Warum? Wenn die Gewinnloswahrscheinlichkeit bei 77.6 %, entspräche die Nietenwahrscheinlichkeit genau der Gegenwahrscheinlichkeit, also 22.4 %. Zwei Nieten nacheinander kommen unter dieser Annahme dann genau zu 5 % vor (22.4 % x 22.4 % = 5 %). Nach der gleichen Logik lässt sich die maximale Wahrscheinlichkeit für ein nicht eingetretenes Ereignis bei einer bestimmten Anzahl an Versuchen ermitteln. Diese Probability at Risk  weist Parallelen mit dem finanzmathematischen Value at Risk  auf. In Anlehnung an den Value at Risk  gibt die Probability at Risk , diejenige Wahrscheinlichkeit für ein Event an mit der maximal trotz Nicht-Auftretens noch zu rechnen ist (siehe Tabellen 1 und 2).</p>
  1079. <p><figure id="attachment_17791" aria-describedby="caption-attachment-17791" style="width: 325px" class="wp-caption alignleft"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/09/2022-08-31_Scheffczyk_Tab1.png?ssl=1"><img loading="lazy" decoding="async" class="size-full wp-image-17791" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/09/2022-08-31_Scheffczyk_Tab1.png?resize=325%2C507&#038;ssl=1" alt="Probability / Odds at Risk nach Versuchsanzahl n (n = 1 - 20)" width="325" height="507" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/09/2022-08-31_Scheffczyk_Tab1.png?w=325&amp;ssl=1 325w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/09/2022-08-31_Scheffczyk_Tab1.png?resize=192%2C300&amp;ssl=1 192w" sizes="(max-width: 325px) 85vw, 325px" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17791" class="wp-caption-text">Tabelle 1: Probability / Odds at Risk nach Versuchsanzahl n (n = 1 &#8211; 20)</figcaption></figure></p>
  1080. <p>Wichtig hierbei ist, dass man die Verteilung innerhalb der Urne niemals genau kennen wird. Durch die Beobachtung der Nieten und Gewinne kann man jedoch bestimmte Hypothesen testen. Man trifft eine bestimmte Annahme (z.B. Anteil Gewinnlose 50 %) und berechnet wie wahrscheinlich dann das aufgetreten Ergebnis wäre. Ist die Wahrscheinlichkeit klein, so spricht diese gegen die Annahme, ist sie groß dann lässt sich die Annahme statistisch zumindest nicht widerlegen.</p>
  1081. <p><figure id="attachment_17792" aria-describedby="caption-attachment-17792" style="width: 348px" class="wp-caption alignright"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/09/2022-08-31_Scheffczyk_Tab2.png?ssl=1"><img loading="lazy" decoding="async" class="size-full wp-image-17792" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/09/2022-08-31_Scheffczyk_Tab2.png?resize=348%2C504&#038;ssl=1" alt="Probability / Odds at Risk nach Versuchsanzahl n (n = 50 - 1 Mio.)" width="348" height="504" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/09/2022-08-31_Scheffczyk_Tab2.png?w=348&amp;ssl=1 348w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/09/2022-08-31_Scheffczyk_Tab2.png?resize=207%2C300&amp;ssl=1 207w" sizes="(max-width: 348px) 85vw, 348px" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17792" class="wp-caption-text">Tabelle 2: Probability / Odds at Risk nach Versuchsanzahl n (n = 50 &#8211; 1 Mio.)</figcaption></figure></p>
  1082. <p>Behauptet beispielsweise der Betreiber einer Lotterie nach der Ziehung einer Niete, dass der Anteil der Gewinne bei 50 % liegt, ist das statistisch tatsächlich noch vertretbar (n=1 à Probability at Risk : 95 %). Tut er dies jedoch auch nach 5 Nieten nacheinander immer noch, so ist das statistisch nicht mehr vertretbar. Die Probability at Risk beträgt dann nämlich nur noch 45.1 %. Es lässt sich dann nicht mehr behaupten, dass Gewinne zu mehr als 50 % auftreten. Denn 50 % x 50 % x 50 % x 50 % x 50 % entspricht einer Wahrscheinlichkeit von 3.125 %. Diese Wahrscheinlichkeit ist kleiner als 5 % und damit statistisch als nicht mehr plausibel einzuschätzen.</p>
  1083. <h2><strong>Probability at Risk</strong></h2>
  1084. <p>Die Probability at Risk kann herangezogen werden, wenn es darum geht eine Risikoeinschätzung anzugeben. Ein einzelner erfolgloser Versuch (n=1) kann statistisch auch dann noch zutreffen, wenn die Event-Wahrscheinlichkeit bei 95 % liegt. Nach dem zweiten erfolglosen Versuch (n=2) reduziert sich die statistisch haltbare Event-Wahrscheinlichkeit auf 77.6 %. Das Nicht-Eintreten hat dann eine Wahrscheinlichkeit von 22.4 %. Die Wahrscheinlichkeit, dass das Event zweimal nicht eintritt beträgt dann 0.224 x 0.224 = 0.05 (Analog hierzu bei n=3: prob at risk: 63.2 % à 0.378 x 0.378 x 0.378 = 0.05) (siehe Tabelle 1).</p>
  1085. <p>Es lässt sich also festhalten, dass eine Wahrscheinlichkeit von 0 % auch nach sehr vielen Fehlversuchen nicht zutrifft. Es ist immer von einer gewissen Wahrscheinlichkeit auszugehen, die immer größer ist als 0 %. Je mehr Fehlversuche, desto kleiner wird die Probability at Risk. Der klassische Ansatz über die relative Häufigkeit berücksichtigt diesen Umstand nicht. Wird die Wahrscheinlichkeit direkt aus der relativen Häufigkeit abgeleitet, so erhalten zwei Versuchsreihen (A: 0 von 1; B 0 von 1&#8217;000) mit 0 % die gleiche Wahrscheinlichkeit, wohingegen die Probability at Risk Versuchsreihe A eine Probability at Risk in Höhe von 95 %, Versuchsreihe B 0.3 % zuweist.</p>
  1086. <h2><strong>Anwendungsfälle im Sport &amp; TV</strong></h2>
  1087. <p>Nehmen wir ein reales Beispiel: Im <strong>ZDF-Sportstudio</strong> versuchen sich seit 1964 Prominente und Studiogäste an der <strong>Torwand</strong>. Seither ist niemandem ein perfektes Torwandschießen mit 6 Treffern gelungen. Die Torwand ist in ihren Maßen seit Jahrzehnten unverändert, sodass die Chance auf einen Treffer konstant bleibt.</p>
  1088. <p>Die genaue Anzahl der Schützen ist nicht bekannt. Es wurden bisher 2&#8217;265 Ausgaben des Sportstudios ausgestrahlt, die Torwand ein Jahr nach Sendebeginn erfunden. Pro Sendung gab es stets mind. einen Schützen, sodass man konservativ gerechnet von mind. 2&#8217;000 Schützen ausgehen kann. Nun haben wir den Fall, dass kein Schütze 6 Treffer erzielen konnte. Liegt die Wahrscheinlichkeit 6 Treffer zu erzielen bei 0%. Nein, denn es ist theoretisch möglich. Geht man einmal von 2&#8217;000 Schützen aus, so lässt sich statistisch zeigen, dass man auf einem Signifikanzniveau von 5 % noch von einer Erfolgswahrscheinlichkeit in Höhe von 0.15 % (Chance: 1 zu 667) ausgehen muss. Und in der Tat ist es außerhalb des ZDF-Sportstudios einem Eishockeyspieler im Jahr 1975 gelungen 6 Treffer zu erzielen. Die relative Häufigkeit ist daher in einem solchen Extremfall kein geeigneter Schätzer. Die Bestimmung einer maximalen Eintritts-Wahrscheinlichkeit mittels der Probability at Risk ist hier die bessere Wahl.</p>
  1089. <p>Nach der gleichen Logik sollte man Ereignisse mit einer absoluten Häufigkeit von 0 immer in Relation zur Anzahl an durchgeführten Versuchen setzen. Tritt ein Ereignis nach 100 Versuchen nicht ein, deutet das auf eine geringere Eintrittswahrscheinlichkeit hin, als wenn ein Ereignis «nur» 10-mal nicht eingetreten ist. Die relative Häufigkeit beträgt in beiden Fällen 0.</p>
  1090. <p>Es stellt sich nun die Frage, welche zugrundeliegende Wahrscheinlichkeit mit einer Beobachtung des Nicht-Eintretens nach 100 Versuchen noch in Einklang zu bringen ist. Hierzu soll die <strong>«Probability at Risk »</strong> definiert werden. Nach 100 erfolglosen Versuchen beträgt die Probability at Risk 2.95 %. Doch wie lässt sich die Probability at Risk interpretieren? Wenn ein Event eine Wahrscheinlichkeit in Höhe von 2.95 % aufweist, so wird es zu 5 % auch nach 100 Versuchen nicht auftreten. Der Zusatz «at risk» bezieht sich darauf, dass trotz des Nicht-Auftretens noch mit einer bestimmten Wahrscheinlichkeit zu rechnen ist. Erst nach 299 oder mehr erfolglosen Versuchen beträgt die «Probability at Risk » weniger als 1 %. Denn wenn ein Event auch nach 300 Versuchen nicht eingetreten ist, kann man (auf einem Signifikanzniveau von 5 %) davon ausgehen, dass die zugrundeliegende Wahrscheinlichkeit nicht größer ist als 1 %. Damit kann man jede Wahrscheinlichkeit von über 1 % statistisch ausschließen, denn dann wäre eine solche Beobachtung unwahrscheinlicher als 5 %. Zum Beispiel ist eine zugrundeliegende Event-Wahrscheinlichkeit von 2 % nicht mehr mit 300 erfolglosen Versuchen in Einklang zu bringen. Denn dieser Fall würde unter Annahme der 2%-igen Event-Wahrscheinlichkeit nur zu 0.2 % bzw. jedes 429. Mal auftreten.</p>
  1091. <p>Anhand der Tabellen 1 und 2 ist abzulesen, dass nach 10 Versuchen (n=10) die maximale Eintrittswahrscheinlichkeit (=Probability at Risk ) noch bei 25.9 % anzusiedeln ist. Denn das ein Ereignis, das im Mittel etwas häufiger als jedes vierte Mal auftritt ist nach 10 Durchgängen nie eintrifft entspricht 5 %. Diese maximale Eintrittswahrscheinlichkeit lässt sich nach 100 erfolglosen Versuchen statistisch nicht mehr in dieser Höhe rechtfertigen, stattdessen muss sie nach unten korrigiert werden. So liegt die Probability at Risk dann nur noch bei 2.95 % bzw. bei einer Quote von 1:33 (<strong>Odds at Risk</strong>).</p>
  1092. <p>Der Weltklasse-Tischtennisspieler <strong>Dimitrij Ovtcharov</strong> hatte gegen den chinesischen Olympiasieger Ma Long in 19 Partien an der Platte trotz teils knapper Spielverläufe immer das Nachsehen. Die Probability at Risk beträgt bei 19 misslungenen Versuchen immerhin noch 14.6 %. Bei einem künftigen Aufeinandertreffen der Beiden wären Ovtcharov zumindest auf Basis dieser Zahlen eine Siegwettquote von maximal 6.86 zu rechtfertigen.</p>
  1093. <p>Boxsportler <strong>Henry Maske</strong> wies vor seinem designierten letzten Profikampf gegen Virgil Hill einen Kampfrekord von 30:0 auf. Damit 30 Siegen in Folge möglich sind, ist davon auszugehen, dass die Siegwahrscheinlichkeit von Henry Maske für jeden Kampf sehr hoch gewesen sein muss. Geht man einmal von einer konstanten Siegwahrscheinlichkeit aus, muss diese mind. 90.5 % betragen haben. Seinem Gegner Virgil Hill waren daher noch maximal 9.5 %, bzw. ein Odds at Risk  in Höhe von 10.52 zuzuschreiben. Diese Chance konnte <strong>Virgil Hill</strong> tatsächlich nutzen und fügte Henry Maske seine erste und einzige Niederlage bei den Profis zu. Mehr als zehn Jahre später revanchierte sich Maske im direkten Duell gegen Virgil Hill mit einem einstimmigen Punktsieg.</p>
  1094. <p>Nach der gleichen Logik sind einem Gegner des aktuellen Schwergewichtsweltmeister <strong>Oleksandr Usyk</strong> bei einem Kampfrekord von 20:0 noch bis zu 13.9 % zuzuschreiben.</p>
  1095. <h2><strong>Praxisbeispiel aus dem Gesundheitswesen</strong></h2>
  1096. <p>Nicht nur im Sport, sondern auch im Gesundheitswesen ist dieses Prinzip anwendbar. Möchte man statistisch belegbar zeigen, dass die Wahrscheinlichkeit für das Auftreten einer z.B. unerwünschten Nebenwirkung eines Medikamentes kleiner ist als 1/1000, so reicht es nicht aus, wenn diese bei 1’000 Probanden nicht aufgetreten ist. Warum eigentlich? Einmal angenommen die Wahrscheinlichkeit liegt genau bei 1/1000, dann ist zu erwarten, dass die Nebenwirkung im Mittel einmal auftritt. Die Wahrscheinlichkeit, dass bei keinem der 1 000 Probanden die Nebenwirkung auftritt, beträgt immer noch 36.7 %. Die These einer Wahrscheinlichkeit von mind.  1/1000 ist also dann noch haltbar. Dies ändert sich erst, wenn die Nebenwirkung bei mind. 2&#8217;994 Probanden nicht aufgetreten ist. Denn dann stellt man fest, dass es statistisch nicht mehr vertretbar ist zu behaupten das Risiko der Nebenwirkung beträgt 1/1000. Wäre das der Fall, würde nur jede 20. Studie mit 2&#8217;994 Probanden bei keinem der Studienprobanden die Nebenwirkung nachweisen. Und da die Statistik solche Ereignisse, welche nur jedes 20.Mal oder noch seltener auftreten nicht für glaubwürdig erachtet, ist die Annahme von 1/1000 als Wahrscheinlichkeit nicht mehr haltbar. Der Zusatz «&lt;» im Sinne von «kleiner als» ist damit gerechtfertigt.</p>
  1097. <p><figure id="attachment_17796" aria-describedby="caption-attachment-17796" style="width: 219px" class="wp-caption alignright"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/09/2022-08-31_Scheffczyk_Tab3.png?ssl=1"><img loading="lazy" decoding="async" class="size-full wp-image-17796" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/09/2022-08-31_Scheffczyk_Tab3.png?resize=219%2C272&#038;ssl=1" alt="Notwendige Versuchsanzahl n für die Probability at Risk (0.1% - 1.0%)" width="219" height="272" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17796" class="wp-caption-text">Tabelle 3: Notwendige Versuchsanzahl n für die Probability at Risk (0.1% &#8211; 1.0%)</figcaption></figure></p>
  1098. <p>Als Faustregel lässt sich merken, dass zwischen der (erfolglosen) Versuchsanzahl und den Odds at risk auf einem Signifikanzniveau von 5 % der Faktor 3 näherungsweise zutrifft. Will man z.B. eine Wahrscheinlichkeit von «&lt; 1/500» nachweisen, so sind 1&#8217;496 Versuche notwendig (siehe Tabelle 3: Prob at Risk : 0.2 % à n=1&#8217;496).</p>
  1099. <h2><strong>0%, 0.0%, 0.00% oder 0.000% &#8211; der kleine, aber feine Unterschied</strong></h2>
  1100. <p>In der Realität liest man nun oft, dass ein Ereignis eine Wahrscheinlichkeit von 0 % oder 0.0 % hatte, weil es eben nie eigetreten ist. Ist dies denn dann statistisch zwangsläufig immer inkorrekt?. Die Antwort: Es kommt darauf an.</p>
  1101. <p>Zu behaupten das Ereignis hat eine Wahrscheinlichkeit von 0 % ist unter bestimmten Umständen tatsächlich legitim. Dies ist der Fall, wenn</p>
  1102. <p>1) die Zahl der Fehlversuche mindestens 598 beträgt, sowie<br />
  1103. 2) dass die Anzeige von (weiteren) Nachkommastellen bereits vor dem Experiment nicht vorgesehen, d.h. nicht erst nachträglich auf Dezimalstellen verzichtet wurde und/oder<br />
  1104. 3) technisch nicht möglich ist.</p>
  1105. <p>Weshalb ist das so?</p>
  1106. <p>Zu 1): Bei 598 Fehlversuchen beträgt die Probability at Risk weniger als 0.5 %. Ohne eine Dezimalstelle wird bei einer Rundung daraus 0 %. Bedingung 1) ist zwingend erforderlich.</p>
  1107. <p>Von den Bedingungen 2) und 3) muss lediglich mindestens eine zutreffen.</p>
  1108. <p>2) Wurde bereits vor dem Experiment festgelegt, dass zu den Kennzahlen keine Dezimalstellen angezeigt werden, so reicht es aus den Schwellwert der Probability at Risk in Höhe von 0.5 % zu unterschreiten, um bei einer Rundung auf 0 % zu kommen. Eine nachträgliche Rundung ohne Dezimalstelle ohne vorherige Vorgabe ist als nicht valide zu betrachten.</p>
  1109. <p>3) Wenn die technische Möglichkeit einer Rundung z.B. aus Platzmangel bei einer Tabelle auf einer Seite nicht gegeben ist.</p>
  1110. <p>Für die valide Wahrscheinlichkeit von 0% braucht es daher mind. 598 Fehlversuche, die vorherige Absprache, dass keine Dezimalstelle angegeben werden muss und/oder die technische Möglichkeit einer Dezimalstellenanzeige nicht gegeben ist. Bei der Anzeige einer Dezimalstelle, d.h. 0.0 % muss von den Bedingungen 2) und 3) unverändert mind. einer dieser beiden zutreffen. Für Bedingung 1) sind jedoch nun mind. 5&#8217;990 Fehlversuche von Nöten.</p>
  1111. <p><figure id="attachment_17797" aria-describedby="caption-attachment-17797" style="width: 290px" class="wp-caption alignright"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/09/2022-08-31_Scheffczyk_Tab4.png?ssl=1"><img loading="lazy" decoding="async" class="size-full wp-image-17797" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/09/2022-08-31_Scheffczyk_Tab4.png?resize=290%2C132&#038;ssl=1" alt="Valide gerundete Anzeige nach Versuchsanzahl n (0% - 0.000%)" width="290" height="132" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17797" class="wp-caption-text">Tabelle 4: Valide gerundete Anzeige nach Versuchsanzahl n (0% &#8211; 0.000%)</figcaption></figure></p>
  1112. <p>Die Probability at Risk beträgt dann erst maximal 0.05 %, was bei einer Rundung auf eine Dezimalstelle zu 0.0 % führt). Für eine statistisch legitime Anzeige von 0.00 % bzw. 0.000 % werden analog hierzu 59&#8217;913 bzw. 599&#8217;145 erfolglose Versuche benötigt (siehe Tabelle 4).</p>The post <a href="https://statistik-dresden.de/geht-nicht-gibts-nicht-probability-at-risk/">Geht nicht, gibt´s nicht – Probability at Risk</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></content:encoded>
  1113. <wfw:commentRss>https://statistik-dresden.de/geht-nicht-gibts-nicht-probability-at-risk/feed/</wfw:commentRss>
  1114. <slash:comments>0</slash:comments>
  1115. <post-id xmlns="com-wordpress:feed-additions:1">17789</post-id> </item>
  1116. <item>
  1117. <title>Die Achterbahnfahrt des SC Freiburg im DFB-Pokal 2021/22</title>
  1118. <link>https://statistik-dresden.de/die-achterbahnfahrt-des-sc-freiburg-im-dfb-pokal-2021-22/</link>
  1119. <comments>https://statistik-dresden.de/die-achterbahnfahrt-des-sc-freiburg-im-dfb-pokal-2021-22/#comments</comments>
  1120. <dc:creator><![CDATA[Tim Scheffczyk]]></dc:creator>
  1121. <pubDate>Tue, 09 Aug 2022 15:54:14 +0000</pubDate>
  1122. <category><![CDATA[Sport]]></category>
  1123. <category><![CDATA[Bayern München]]></category>
  1124. <category><![CDATA[DFB-Pokal]]></category>
  1125. <category><![CDATA[Fußball]]></category>
  1126. <category><![CDATA[Gesetz der kleinen Zahlen]]></category>
  1127. <category><![CDATA[Gewinnwahrscheinlichkeit]]></category>
  1128. <category><![CDATA[Poisson-Verteilung]]></category>
  1129. <category><![CDATA[Wahrscheinlichkeit]]></category>
  1130. <category><![CDATA[Zufall]]></category>
  1131. <guid isPermaLink="false">https://statistik-dresden.de/?p=17770</guid>
  1132.  
  1133. <description><![CDATA[<p>Der Pokal hat seine eigenen Gesetze. Ein einziges Spiel entscheidet über Ausscheiden und Weiterkommen. David gegen Goliath. David schafft es im Fußball doch immer wieder Goliath zu bezwingen. Speziell im DFB-Pokal erscheint es so, dass es den unterklassigen Vereinen häufig gelingt die Top-Klubs zu ärgern. Wieso ist das so?</p>
  1134. The post <a href="https://statistik-dresden.de/die-achterbahnfahrt-des-sc-freiburg-im-dfb-pokal-2021-22/">Die Achterbahnfahrt des SC Freiburg im DFB-Pokal 2021/22</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></description>
  1135. <content:encoded><![CDATA[<blockquote><p><em>„Oft grüßt der Zufall, ohne dass wir danken, öfter noch grüßen wir, ohne dass er dankt.“ </em></p></blockquote>
  1136. <p style="text-align: right;">Emanuel Wertheim</p>
  1137. <p>Der Pokal hat seine eigenen Gesetze. Ein einziges Spiel entscheidet über Ausscheiden und Weiterkommen. David gegen Goliath. David schafft es im Fußball doch immer wieder Goliath zu bezwingen. Speziell im DFB-Pokal erscheint es so, dass es den unterklassigen Vereinen häufig gelingt die Top-Klubs zu ärgern. Wieso ist das so?</p>
  1138. <p>Dieses „Phänomen“ lässt sich vor allem durch die Spielregeln des DFB-Pokal erklären. Jede Begegnung hat den Charakter eines K.O.-Spiels. Zum einen treffen klare Favoriten hier sehr häufig auf klare Außenseiter. Dies führt schon einmal zu einer Vielzahl an Spielen mit potenziellen Sensationssiegen. Zum anderen muss der Außenseiter nur in einem einzigen Spiel den Favoriten besiegen. Während der Außenseiter bei mehreren Aufeinandertreffen nur sehr geringe Chancen auf ein Weiterkommen hätte, so ist die Wahrscheinlichkeit bei einem Treffen immer gegeben. Dieses sog. <strong>Gesetz der kleinen Zahlen</strong> lässt sich anhand eines Beispiels aus dem Tischtennis gut veranschaulichen. Spielt man gegen den besten deutschen Tischtennisprofi <strong>Timo Boll</strong> 1 Punkt, so hat auch ein Amateurspieler aus der Kreisliga ungefähr eine Wahrscheinlichkeit von rund 20 % diesen Punkt zu gewinnen. Für ein ganzes Match über 3-Gewinnsätze hingegen gleicht die Chance ungefähr einem 6er im Lotto. Unabhängig von der eigenen Spielstärke benötigt eine Mannschaft im DFB-Pokal zwangsläufig immer auch eine gewisse Portion Glück. Losglück für möglichst viele Heimspiele und leichte Gegner, aber auch vor allem Glück innerhalb der einzelnen Spiele. Ein unglücklich verlaufendes Spiel, bei dem eine drückende Überlegenheit nicht in Tore umgemünzt wird, kann nicht mehr wett gemacht werden und die Reise im Pokal ist dann beendet. Eine Niederlage gegen einen Außenseiter ist in der Bundesliga für den Favoriten über die weiteren Spiele zu kompensieren. Die Chance auf den Pokalsieg ist durch den Spielmodus auch für den <a href="https://statistik-dresden.de/archives/tag/bayern-munchen">FC Bayern München</a> kleiner als für den deutschen Meistertitel. Insgesamt konnte der Branchenprimus bis dato 32 Meisterschaften und „nur“ 20 Pokalsiege feiern. In den letzten 10 Jahren wurde der FC Bayern München immer Meister, im DFB-Pokal stehen im gleichen Zeitraum hingegen „nur“ 5 Erfolge zu Buche. Selbst der beste Klub Deutschlands blieb im Pokal nicht von Pokalsensationen- die zu seinem Ausscheiden führten-verschont (1990: FV 09 Weinheim, 1994: TSV Vestenbergsgreuth, 2000: 1. FC Magdeburg, 2021: Holstein Kiel).</p>
  1139. <h2>Die Poisson-Verteilung</h2>
  1140. <p>Im DFB-Pokal wird vor jeder Runde gelost. Diese zufällige Losung und der „David-gegen-Goliath-Effekt“, welcher durch das Heimrecht der unterklassigen Vereine in der ersten Runde begünstigt wird, lässt für jeden Teilnehmer die Wahrscheinlichkeit für das Weiterkommen in jeder Runde auf 50 % quantifizieren.  Die Chance auf den Sieg in der jeweiligen Pokalrunde und den Pokalsieg lässt sich durch die sogenannte <strong>Poisson-Verteilung</strong> mit der Annahme, dass pro Spiel 3 Tore fallen (je 1,5 Tore pro Team), kalkulieren. Anhand der Poisson-Verteilung mit den beschriebenen Parametern, lässt sich ein Fußballspiel vor Spielbeginn prognostizieren und nach Spielende analysieren. Das häufigste Ergebnis ist demnach mit 11,2 % an theoretischer Wahrscheinlichkeit ein 1:1-Unentschieden &#8211; siehe Tabelle.</p>
  1141. <p><figure id="attachment_17771" aria-describedby="caption-attachment-17771" style="width: 695px" class="wp-caption aligncenter"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab3.png?ssl=1"><img loading="lazy" decoding="async" class="size-full wp-image-17771" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab3.png?resize=695%2C358&#038;ssl=1" alt="Ergebniswahrscheinlichkeiten für ein Fußballspiel über 90 Minuten" width="695" height="358" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab3.png?w=695&amp;ssl=1 695w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab3.png?resize=300%2C155&amp;ssl=1 300w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17771" class="wp-caption-text">Ergebniswahrscheinlichkeiten für ein Fußballspiel über 90 Minuten laut Poisson-Verteilung</figcaption></figure></p>
  1142. <p>In der Praxis war das 1:1-Unentschieden in den elf Spielzeiten 2010/11-2020/21 tatsächlich in 10 von 11 Jahren das häufigste Ergebnis und der relative Anteil betrug 11,4%. Auch der Anteil an Unentschieden, welche bei theoretischen Poissonverteilung 24,3% beträgt, entsprach zwischen den Spielzeiten 2013/14 und 2021/22 auf genau jenen 24,3% mit einem Minimum von 20,9 % einem Maximum von 27,1%.</p>
  1143. <p><figure id="attachment_17773" aria-describedby="caption-attachment-17773" style="width: 642px" class="wp-caption aligncenter"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab4.png?ssl=1"><img loading="lazy" decoding="async" class="size-full wp-image-17773" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab4.png?resize=642%2C368&#038;ssl=1" alt="Wahrscheinlichkeiten für Tordifferenz nach 90 Minuten" width="642" height="368" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab4.png?w=642&amp;ssl=1 642w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab4.png?resize=300%2C172&amp;ssl=1 300w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17773" class="wp-caption-text">Wahrscheinlichkeiten für Tordifferenz nach 90 Minuten laut Poisson-Verteilung</figcaption></figure></p>
  1144. <h2>Die Pokalreise des SC Freiburg 2021/2022</h2>
  1145. <p>Die Poissonverteilung stellt daher für Fußballspiele eine sehr gute theoretische Verteilung dar und kann somit für Prognosen und Analysen verwendet werden. Anhand den Pokalspielen des SC Freiburg in der Saison 2021/22 soll dies exemplarisch aufgezeigt werden. Die Siegwahrscheinlichkeiten in K.O-Spielen im Fußball nach Spielminuten können der folgenden Tabelle entnommen werden:</p>
  1146. <p><figure id="attachment_17775" aria-describedby="caption-attachment-17775" style="width: 651px" class="wp-caption aligncenter"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab1a.png?ssl=1"><img loading="lazy" decoding="async" class="size-full wp-image-17775" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab1a.png?resize=651%2C545&#038;ssl=1" alt="Siegwahrscheinlichkeiten für ein Fußball-K.O.-Spiel nach Tordifferenz und Minute - reguläre Spielzeit" width="651" height="545" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab1a.png?w=651&amp;ssl=1 651w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab1a.png?resize=300%2C251&amp;ssl=1 300w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17775" class="wp-caption-text">Siegwahrscheinlichkeiten für ein Fußball-K.O.-Spiel nach Tordifferenz und Minute &#8211; reguläre Spielzeit</figcaption></figure></p>
  1147. <p><figure id="attachment_17776" aria-describedby="caption-attachment-17776" style="width: 663px" class="wp-caption aligncenter"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab1b.png?ssl=1"><img loading="lazy" decoding="async" class="size-full wp-image-17776" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab1b.png?resize=663%2C233&#038;ssl=1" alt="Siegwahrscheinlichkeiten für ein Fußball-K.O.-Spiel nach Tordifferenz und Minute - Verlängerung" width="663" height="233" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab1b.png?w=663&amp;ssl=1 663w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab1b.png?resize=300%2C105&amp;ssl=1 300w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17776" class="wp-caption-text">Siegwahrscheinlichkeiten für ein Fußball-K.O.-Spiel nach Tordifferenz und Minute &#8211; Verlängerung</figcaption></figure></p>
  1148. <p>Die Pokalreise des SC Freiburg mit den analytischen Werten ist hier nachzulesen:</p>
  1149. <p><figure id="attachment_17777" aria-describedby="caption-attachment-17777" style="width: 932px" class="wp-caption aligncenter"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab2.png?ssl=1"><img loading="lazy" decoding="async" class="wp-image-17777 size-full" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab2.png?resize=840%2C701&#038;ssl=1" alt="Spiel- und Pokalsiegwahrscheinlichkeit und -quote nach Pokalrunde und Ereignis - SC Freiburg 2021/2022" width="840" height="701" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab2.png?w=932&amp;ssl=1 932w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab2.png?resize=300%2C250&amp;ssl=1 300w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab2.png?resize=768%2C641&amp;ssl=1 768w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17777" class="wp-caption-text">Spiel- und Pokalsiegwahrscheinlichkeit und -quote nach Pokalrunde und Ereignis &#8211; SC Freiburg 2021/2022</figcaption></figure></p>
  1150. <h2>2. Runde: Das Osnabrück-Spiel</h2>
  1151. <p>Der SC Freiburg und seine Fans haben in der Pokalsaison 2021/22 eine <strong>Achterbahnfahrt</strong> erlebt. In der <strong>zweiten Runde</strong> war man in der 119. Minute gegen den <strong>VfL Osnabrück</strong> bei einem Rückstand von 1:2 eigentlich schon so gut wie ausgeschieden. Die Chance auf das Weiterkommen in Runde 3 betrug zu diesem Zeitpunkt gerade einmal 0,8 %. Für den Pokalsieg standen sogar nur noch eine Chance von 1:1.951 zu Buche. Doch der SC Freiburg konnte sich durch das Tor von <strong>Keven Schlotterbeck</strong> tatsächlich noch ins Elfmeterschießen retten. Im Elfmeterschießen verfehlte <strong>Höler</strong> den ersten Elfmetertreffer. Die soeben noch auf 50%-ige Spielsiegchance (Pokalsieg: 3,1 %), sank hierdurch gleich wieder auf 29,1 % (Pokalsieg: 1,8 %). Das Elfmeterschießen konnte bekanntlich noch gewonnen werden, die Gefühlsachterbahn von Fans und Spieler wird durch die innert Minuten stark schwankenden Chancen gut widergespiegelt (siehe oben).</p>
  1152. <h2>Achtelfinale: TSG Hoffenheim</h2>
  1153. <p>Der <strong>4:1-Achtelfinalsieg gegen die TSG Hoffenheim</strong> 1899 war souverän. Dieser Sieg mit einer Tordifferenz von mind. 3 Toren entspricht einem P-Value von 7,0 % (siehe unten), d.h. unter gleichstarken Mannschaften schafft es eine bestimmte Mannschaft nur jedes 14. Mal, eine positive Tordifferenz von 3 oder mehr Toren zu erzielen.</p>
  1154. <p><figure id="attachment_17779" aria-describedby="caption-attachment-17779" style="width: 856px" class="wp-caption aligncenter"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab6.png?ssl=1"><img loading="lazy" decoding="async" class="size-full wp-image-17779" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab6.png?resize=840%2C480&#038;ssl=1" alt="P-Values für Tordifferenzen für ein Fußballspiel über 90 Minuten" width="840" height="480" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab6.png?w=856&amp;ssl=1 856w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab6.png?resize=300%2C171&amp;ssl=1 300w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab6.png?resize=768%2C439&amp;ssl=1 768w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17779" class="wp-caption-text">P-Values für Tordifferenzen für ein Fußballspiel über 90 Minuten</figcaption></figure></p>
  1155. <p>Der Gegentreffer zum 1:2 in der 53.Spielminute reduzierte die Siegchancen nur kurzfristig auf 81,5 %, der Sieg blieb jedoch weitestgehend ungefährdet. Die 5 Tore in diesem Spiel sind zwar gemessen an der reinen Toranzahl überdurchschnittlich, jedoch tritt ein mindestens so torreiches Spiel doch noch jedes knapp sechste Mal auf (18,5 % gemäß folgender Tabelle).</p>
  1156. <p><figure id="attachment_17780" aria-describedby="caption-attachment-17780" style="width: 661px" class="wp-caption aligncenter"><a href="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab5.png?ssl=1"><img loading="lazy" decoding="async" class="size-full wp-image-17780" src="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab5.png?resize=661%2C340&#038;ssl=1" alt="Wahrscheinlichkeit für die Toranzahl nach 90 Minuten" width="661" height="340" srcset="https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab5.png?w=661&amp;ssl=1 661w, https://i0.wp.com/statistik-dresden.de/wp-content/uploads/2022/08/2022-08-Scheffczyk_Tab5.png?resize=300%2C154&amp;ssl=1 300w" sizes="(max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px" data-recalc-dims="1" /></a><figcaption id="caption-attachment-17780" class="wp-caption-text">Wahrscheinlichkeit für die Toranzahl nach 90 Minuten</figcaption></figure></p>
  1157. <h2>Viertelfinale: VfL Bochum</h2>
  1158. <p>Das Viertelfinale gegen den VfL Bochum bot hingegen durchgehend viel Spannung. Das 1:0 von <strong>Nils Petersen</strong> in der 51. Spielminute steigerte die Siegwahrscheinlichkeit für dieses Spiel auf 80,9 %, nur 13 Minuten später egalisierte <strong>Polter</strong> jedoch den Freiburger Führungstreffer. Das Spiel stand nach 64 Minuten daher ausgeglichen. Die Spannung des Spiels lag darin, dass der Führungstreffer für Freiburg oder Bochum die Siegchance zu diesem späten Zeitpunkt des Spiels auf mind. 86 % gesteigert hätte. Das Tor fiel und fiel jedoch nicht. Als sich (Fernseh-) Zuschauer, Spieler, Fans und Betreuer bereits auf das zweite Elfmeterschießen einstellen, erzielt <strong>Sallai</strong> in der letzten Minute der Verlängerung das entscheidende 2:1 und schießt den SC damit in das Halbfinale. Der Jubel war grenzenlos. Die Chance auf den Pokalsieg erschien auch durch das Fehlen von Bayern München und Borussia Dortmund nun tatsächlich möglich. Mit RB Leipzig und dem 1. FC Union Berlin standen jedoch noch zwei Bundesligisten und dem Hamburger SV als einzigen Zweitligisten noch bekannte und auch teilweise mindestens ebenbürtige Gegner im Wettbewerb.</p>
  1159. <h2>Halbfinale: Hamburger SV</h2>
  1160. <p>Der 3:1-Halbfinalsieg in Hamburg, bei dem wie schon in Bochum wieder zahlreiche Fans den Sportclub unterstützten, geriet nie ernsthaft in Gefahr. Bereits in der 11. Minute als <strong>Petersen</strong> auf 1:0 stellte, stieg die Siegchance auf 73,3 %, <strong>Höler</strong> stellte unmittelbar (17. Spielminute) auf 2:0 und damit auf 89,7 % Spielsiegchance, <strong>Vincenzo Grifo</strong> machte mit seinem 3:0 in der 35. Minute im Prinzip den Deckel drauf (Siegchance: 98,1 %). Der 1:3-Anschlusstreffer in der 88. Spielminute von <strong>Glatzel</strong> kam zu spät. Freiburg spielte zwar im Anschluss etwas weniger souverän, konnte den Vorsprung aber über die Zeit bringen.</p>
  1161. <h2>DFB-Pokal-Finale 2022: SC Freiburg &#8211; RB Leipzig</h2>
  1162. <p>„Berlin, Berlin wir fahren nach Berlin“ lautete von nun an die Parole der Freiburger Fans. Das Pokalfinale gegen RB Leipzig im Berliner Olympiastadion stand ein bisschen sinnbildlich für den bisherigen Verlauf des SC im diesjährigen Pokal. Es war eine Achterbahn der Gefühle. Aus Freiburger Sicht war das Glück dem SC nicht hold. Galt man vor dem Spiel als leichter Außenseiter, konnte man das Spiel schnell bestimmen. Das 1:0 durch <strong>Eggestein</strong> in der 19. Minute münzte diese Überlegenheit auch in Zählbares um. Die Chance auf den Pokalsieg stand mit 74,4 % nun erstmal in Wettbewerb tatsächlich über 50 %. Der SC Freiburg konnte das Spiel in der Folge weiterhin dominant gestalten und war dem so wichtigen zweiten Tor näher als Leipzig dem Ausgleich. Kurz vor Ende der ersten Halbzeit verpasste man nur äußerst knapp das 2:0 und damit die Chance, auf eine Siegchance von 94,0 % zu stellen. Durch den 1-Tore-Vorsprung spielte die fortschreitende Zeit dem SC natürlich in die Karten. Zum Zeitpunkt als Leipzig die <strong>Rote Karte gegen Halstenberg</strong> verkraften musste, stand die Siegchance dadurch bei 82,7 %. Im weiteren Verlauf konnten Freiburg und Leipzig bis zur 75. Minute kein Tor erzielen. Die für Leipzig damit knapper werdende Zeit erhöhte Freiburgs Chance dennoch auf 90,1 %. In Unterzahl konnte Leipzig jedoch in Person von <strong>Nkunku</strong> tatsächlich den 1:1-Ausgleich erzielen. Der Spielstand war ausgeglichen, Leipzig in der Folge druckvoller und dem Siegtreffer in der regulären Spielzeit näher. Der „Lucky Punch“ gelang jedoch keinem der Teams. Freiburg dominierte die Verlängerung und hatte durch mehrere Aluminiumtreffer kein Glück im Abschluss. Kein Tor sollte mehr fallen. Das Elfmeterschießen musste den DFB-Pokalsieg entscheiden. Für den SC Freiburg nach dem Spielverlauf, bei dem man nie eine Siegchance von unter 50 % hatte und gar mit bis zu 90,1 % dem Pokalsieg sehr nahe schien, war das bereits eine schnelle und drastische Reduktion der Siegchancen von 90,1 % auf 50 % innerhalb von 45 Minuten.</p>
  1163. <p>Leipzig begann das Elfmeterschießen. Torschütze Nkunku brachte Leipzig mit seinem Elfmetertor erstmals in Führung (Siegchance Freiburg: 43,0 %). Petersen und Orban trafen, Freiburgs Kapitän schoss seinen Elfmeter über das Tor. Die resultierende Siegchance lag nur noch bei 19,2 % und damit bereits leicht niedriger als nach Petersens 1:0-Führungstreffer in Bochum. Durch die folgenden Treffer von Olmo und Keven Schlotterbeck betrug die Chance nur noch 15,2 % und damit exakt so hoch wie nach Mesut Özils Fehlschuss im <strong>Elfmeterschießen im EM-Viertelfinale 2016 gegen Italien</strong>. Im Gegensatz zu der deutschen Nationalmannschaft gelang es Freiburg jedoch leider nicht, diese kleine Chance zu nutzen. Leipzig leistete sich keinen einzigen Fehlschuss und Demirovic hatte bei seinem Aluminiumtreffer kein Glück. Leipzig gewann den DFB-Pokal.</p>
  1164. <h2>Fazit zur Achterbahnfahrt des SC Freiburg</h2>
  1165. <p>Was bleibt von dieser turbulenten Pokalreise? Sicherlich die Erkenntnis, dass die Sympathien des Sportclubs in der Republik als Pokalsieger der Herzen nochmals gestiegen sind. Das stimmungsvolle Einstimmen der Freiburger Fans vor dem Pokalfinale und auch die hörbare Unterstützung im Olympiastadion hinterließen einen bleibenden und positiven Eindruck und waren für die Fans vor Ort ein Highlight.</p>
  1166. <p>Es bleibt aber auch die Erkenntnis, dass der Fußball und speziell der DFB-Pokal mit seinen „eigenen Gesetzen“ durch die große Portion Glück, die es in den K.O.-Spielen braucht sehr große Schwankungen der Siegchancen und damit auch der Gefühlslage mit sich bringt. Freiburg hatte vor allem in Runde 2 das Glück, welches den Einzug in das Pokalfinale erst ermöglichte. Dieses Glück verließ sie leider im Pokalfinale im Elfmeterschießen. Ein Pokalreise mit emotionalen Tiefen (119. Minute in der 2. Runde gegen den VfL Osnabrück mit einer Pokalsiegchance von 1:1951) und Höhen (Siege gegen TSG Hoffenheim 1899, VfL Bochum und den Hamburger SV in Achtel-,Viertel, und Halbfinale und einer 1:0 Führung inkl. Überzahl im Pokalfinale bis zur 75. Minute mit einer Pokalsiegchance von 90,1 % ) fand im verlorenen Elfmeterschießen ihr bitteres Ende. Statistisch gesehen sank die Siegchance innert 45 Minute von 90,1 % über 50 % vor dem Elfmeterschießen, dem ersten Elfmeterfehlschuss mit 19,2 % nach und nach auf 0 %. Für alle Anhänger des SC ist es eine sehr bittere Niederlage, stand man doch so nah wie nie zuvor vor dem Gewinn eines nationalen Titels. In Anbetracht der Tatsache, dass man im Finale lange auf der Siegerstraße stand, ist die so erfolgreiche Pokalsaison mit einem großen Wermutstropfen verbunden. Ruft man sich die zweite Runde in Erinnerung als man das Pokalaus auch mit Glück abwenden konnte, zeigt sich die Abhängigkeit des Fußballs vom Zufall.</p>
  1167. <p>Möchte man die Entwicklung der Pokalsiegchance des SC Freiburg nachvollziehen, so bietet sich hier das Beispiel eines Münzwurfexperimentes an. Der SC brauchte von Osnabrück aus 10-mal nacheinander „Kopf“ für das Erreichen des Pokalfinals, was ihm tatsächlich gelang. Für den Pokalsieg hätte es ein 11. Mal „Kopf&#8220; gebraucht.</p>
  1168. <p><em><strong>Tim Scheffczyk, Data Analyst (M. Sc. Volkswirtschaftslehre)</strong></em></p>The post <a href="https://statistik-dresden.de/die-achterbahnfahrt-des-sc-freiburg-im-dfb-pokal-2021-22/">Die Achterbahnfahrt des SC Freiburg im DFB-Pokal 2021/22</a> first appeared on <a href="https://statistik-dresden.de">Statistik Dresden</a>.]]></content:encoded>
  1169. <wfw:commentRss>https://statistik-dresden.de/die-achterbahnfahrt-des-sc-freiburg-im-dfb-pokal-2021-22/feed/</wfw:commentRss>
  1170. <slash:comments>1</slash:comments>
  1171. <post-id xmlns="com-wordpress:feed-additions:1">17770</post-id> </item>
  1172. </channel>
  1173. </rss>
  1174.  

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://validator.w3.org/feed/check.cgi?url=http%3A//statistik-dresden.de/feed