Wie habt ihr Rlernt?

Interessantes ohne bestimmtes Thema!

Moderator: student

Antworten
R007
Beiträge: 49
Registriert: Di Okt 11, 2016 10:49 pm

Wie habt ihr Rlernt?

Beitrag von R007 » Fr Nov 18, 2016 10:22 am

Hallo,

in dem "alten" Forum hatten wir mal einen Thread zu dem Thema "Wie habt ihr R gelernt" bzw. wie geht man am besten vor. Diesen würde ich gerne hier wieder neu eröffnen. Denn gerade für R-Anfänger ist es sehr hilfreich zu wissen, wie die "Profis" R gerlernt haben und was sie rückblickend ggf. anders machen würde.

Und eine wichtige Frage dazu wäre: Wie lange habt ihr gebraucht, um mit R vertraut zu sein?

Ich lerne aktuell wie folgt R:
Neben ein/zwei deutschen Büchern über R, welche ich parallel lese, probiere ich beruflich (komme aus dem BI-/Controlling-Bereich) viel mit R zu lösen, was ich zuvor auf andere Wege bzw. mit anderer Software gelöst habe. Gerade das praktische hilft mir für mein Verständnis sehr - practice makes perfect!
Am meisten helfen mir fertige Skripte - so habe ich bisher am meisten von R gelernt!
Was mir ebenfalls sehr viel hilft, sind die Diskussionen hier im Forum, wo ich relativ viele Fragen stelle. :)
In Zukunft werde ich wahrscheinlich beruflich immer mehr mit R zu tun haben, weshalb ich sehr darauf gespannt bin, wie ihr R gelernt habt?

Gruß
R007

Benutzeravatar
EDi
Beiträge: 692
Registriert: Sa Okt 08, 2016 3:39 pm

Re: Wie habt ihr R gelernt?

Beitrag von EDi » Fr Nov 18, 2016 3:05 pm

Habe R irgendwann 2010 angefangen zu nutzen.
Das war noch vor meiner ersten Statistik-Vorlesung [war aber immer schon sehr Mathe-affin], weil ich wissen wollte wie man Ordinationsdiagramme interpretiert und erstellt (die sieht man ganz häufig in der Ökologischen Fachliteratur).

Dann gings weiter in Feldpraktika, wo ich die Daten mit R ausgewertet hab (R hat einfach bessere Grafiken als Excel^^).
Mein erste BSc Arbeit hab ich abgebrochen, nachdem vorläufige Auswertungen zeigten, dass die Varianz unterirdisch hoch war (danke R!).
Danach bin ich komplette in die Datenanalyse abgetaucht und hab eigentlich nur noch Daten ausgewertet (BSc. Arbeit, Projektarbeiten, MSc.arbeit, jetzt die Doktorarbeit).

Ich hab irgendwie die Gabe mich für Probleme anderer Leute zu interessieren und mag Probleme die nicht trivial zu lösen sind (hab' wohl auch eine sehr hohe Frustrationsgrenze).
Die Fragen hier, auf SO und an der Uni, sowie die Suche nach einer Problemlögung haben maßgeblich zu meinem R wissen beigetragen (und auch zu der Breite dessen).
Durch ein Projekt bin ich dann zum taxize package gekommen (Scott und ich habe quasi das gleiche Problem gleichzeitig auf verschiedenen Weise gelöst und unsere beider Sachen in ein Package gepackt. Ich hab mich mitlerweile weitestgehen zurückgezogen und Scott managed taxize). Durch diese Zusammenarbeit hab ich viel über die Paket erstellung, best practices und reproducible research gelernt (schaut mal bei RopenSci rein!).
Das war auch der erste Kontakt mit github. - Will ich heute nciht mehr missen für meine Entwicklungen. Ich surfe aber auch so gerne auf github und entdecke neue packages (nicht nur R, auch andere tolle software).

Gelernt, hab ich R im alleingang, zusammen mit multivariater Statistik (danach kam noch anderes Zeugs dazu).
Viel gelesen (hauptsächlich englisch, da die deutsche Literatur zu R nicht so pralle ist [Ausnahmen gibt es aber]) und nachgekocht.
Die Vignetten vom vegan package (bei dem ich mitlerweile ein wenig mitentwickle) haben mir viel geholfen.
Auch das ich das alles in einem angewandten Kontext (Fließgewässerökologie) gerlernt habe hat mir sehr geholfen. Durch die BSc arbeit hatte ich auch meine eigenen Daten zum rumspielen.
Irgendwann kam das Problem der großen Datenmengen, sodass ich mich da umsehen musste.
Das war noch vor der dplyr Zeit, weshalb ich ein data.table Jünger bin (mit pipes werde ich mich aber wohl nie anfreunden).
Das hat aber lange gedauert und auch heute gibt es Sachen wo ich nicht durchsteige. Ähnlich war es bei ggplot.
Generell würde ich sagen, dass R schon eine steile Lernkruve hat (aber nicht abschrecken / frustrieren lassen).
Das ist ein bisschen wie 10 Finger tippen. Am Anfange gehts sehr schwer und langsam. je mehr man es nutzt (anfangs in kleine Schritten) merkt man wie es einfacher geht.
Mache packages auf packen diese Kruve nochmal andere steile Kurven drauf.

Bei R kann man immer was lernen. Man muss offen sein und nicht aufgeben. Am besten sucht man sich angewandte Aufgaben aus seinem Alltag.

So genug hier geschrieben...
Bitte immer ein reproduzierbares Minimalbeispiel angeben. Meinungen gehören mir und geben nicht die meines Brötchengebers wieder.

Dieser Beitrag ist lizensiert unter einer CC BY 4.0 Lizenz
Bild.

bigben
Beiträge: 720
Registriert: Mi Okt 12, 2016 9:09 am

Re: Wie habt ihr R gelernt?

Beitrag von bigben » Fr Nov 18, 2016 6:47 pm

Hi!

Also mein Pfad zu R war holprig und ich kann niemandem ernsthaft raten, den so nachzugehen. Deshalb werde ich ihn hier auch nicht schildern. Ich habe irgendwie das Gefühl, dass der Buchmarkt gekippt ist, nachdem ich gute Bücher gebraucht hätte. Inzwischen gibt es sie, damals war das irgendwie schwierig.

Im erfolgreichen zweiten Teil, gibt drei Meilensteine, die mich richtig voran gebracht haben:
1. Uwe Ligges Buch "Programmieren mit R". Vielleicht nicht, weil es unbedingt das beste Buch ist. Für mich hat es die Erkenntnis gebracht, dass man R nicht wie einen Rechner für statistische Tests, sondern wie eine Programmiersprache angehen sollte, danach hat es Klick gemacht.
2. Dieses Forum war der entscheidende Punkt. Ich habe ganz lange einfach nur gelesen, wie jogo, EDi und Athomas für andere Leute gelöst haben und habe dabei unsagbar viel gelernt. Die ständig neuen Fragen, jedesmal "Wie würdest Du das angehen?", und jedesmal wenn ich eine Lösung hatte hat vor mir schon jemand eine viel bessere gepostet. DAs wäre auch die einzige Empfehlung, die ich ganz sicher jedem Anfänger gegeben würde: Dieses Forum!
3. In Python und in R habe ich gemerkt, dass ich das mit den Funktionen höherer Ordnung (nennen wir es die `apply`-Familie) zwar irgendwie verstanden habe aber nicht wirklich verinnerlichen konnte. Ich habe dann mal ein paar Monate lang versucht, Haskell zu lernen. Warum Haskell? Weil es da keine for-Schleife und keine while-Schleife gibt und man die Dinge entweder per Rekursion oder per Funktion höherer ORdnung erledigen muss. Oh Mann hat das Kopfschmerzen gemacht und oh Mann, was liegen da noch für Berge zum Verstehen im Haskell-Land herum (nein, das mit den Monaden hab ich noch nicht kapiert). Aber Rekursion und Metafunktionen waren danach etwas ganz anderes. Kein Problem, sondern einfach nur der andere Weg. Der Umweg über eine rein funktionale Programmiersprache ist aber schon ziemlich groß, wenn man nicht den Weg als Ziel sieht. Deshalb ist das nicht unbedingt eine Empfehlung an andere, es mir darin gleich zu tun.

Was bleibt: Klinkt Euch ins Forum ein. Das bleibt. Und erstmals vielen Dank an EDi und jogo für die Jahre als Lehrer!


Viele liebe Grüße,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte

consuli
Beiträge: 358
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Wie habt ihr Rlernt?

Beitrag von consuli » Sa Nov 19, 2016 10:09 pm

Ich glaube der Ablauf war ungefähr so.
1. Statistische Datenanalyse mit R (Günter Faes) + R Tutorium Skript.
2. Software for Data Analysis: Programming with R (John M. Chambers), viele fortgeschritteneren Themen erstmal nicht verstanden
3. Data Manipulation with R (Data Manipulation with R)
4. R in a Nutshell: A Desktop Quick Reference (Joseph Adler)
5. Advanced R (Hadley Wickham)

Wenn ich noch mal R lernen müsste und gut englisch könnte, würde ich mit "R in a Nutshell: A Desktop Quick Reference" anfangen, weil R dort wie eine Programmiersprache vorgestellt wird.
A joystick, a compass and a somewhat erratic RPM-indicator.

jogo
Beiträge: 1010
Registriert: Fr Okt 07, 2016 8:25 am

Re: Wie habt ihr Rlernt?

Beitrag von jogo » So Nov 20, 2016 10:58 am

Ich habe mich bisher aus dieser Frage dezent zurückgehalten, da ich weiß, dass das sonst etwas länger dauert. Ich weiß aber nicht recht, wo ich anfangen soll. Vielleicht mit den Programmieraufgaben zu meiner Diplomarbeit und Promotion (in der zweiten Hälfte der 1980-er Jahre). Das war zuerst in Pascal und später in C und bestand zu einem Teil aus nichtlinearer Optimierung und zum anderen aus linearer Algebra (spezielle Skalierungen mit Nichtdiagonalmatrizen). Nach meinem Studium hatte ich dann Kontakt mit Matlab, das war eine Erleuchtung:
Hätte ich diese Programmiersprache für meine Abschlussarbeiten gehabt, wäre alles wesentlich einfacher gewesen. (Aber die damaligen Computer hätten es wahrscheinlich nicht hergegeben.) Dass die Wahl einer geeigneten Programmiersprache entscheidend die Größe der Mühen bei der Programmierung beeinflusst, hatte ich schon während des Studiums erforscht (z.B. in dem ein Kommilitone und ich den Gaußschen Algorithmus in Prolog umsetzten).
Meine Berufliche Tätigkeit hatte dann erstmal mit Datenbanken zu tun: DBase und Paradox. Zwischendurch versuchte ich noch meine alten C-Quelltexte nach Matlab und später octave umzusetzen.
Erst im Jahr 2001 kam ich in einen Bereich, der mit Preis- und Mengenindizes zu tun hatte, die ich auch noch selber berechnen sollte. Also ging es 2003 an die Wahl einer geeigneten Programmiersprache. Zunächst schaute ich mir wieder octave an; jedoch stand diese Programmiersprache zu dem Zeitpunkt in einem größeren konzeptionellen Umbruch. Also schaute ich nach weiteren freien Programmiersprachen und bemerkte dabei R. Nach einigen Prüfungen stand fest:
Das ist es, was ich gesucht habe: Eine Programmiersprache der vierten Generation, die auch mit komplexeren Datenobjekten (Vektoren und Matrizen wie octave aber auch mit Datensammlungen so wie die Datenbanken) umgehen kann. Und auch für die Parameterschätzungen in der Ökonometrie war alles vorhanden. So entstanden im Sept. 2003 meine ersten Quelltexte in R. Als Lesematerial hatte ich nur die üblichen Einführungen und ich durfte jeden Fehler selber machen (und habe auch keinen der üblichen Anfängerfehler ausgelassen). Das erste wirklich gute Buch, das mir zwischen die Finger kam, war Uwe Ligges: Programmieren in R.
Insgesamt hat es wohl drei Jahre gedauert, bis ich mich ziemlich heimisch fühlte beim Programmieren mit R. Daraus ergab sich auch die Erkenntnis, dass R im Selbststudium auch recht mühselig ist. Deshalb war ich auch sehr froh, dass ich später dieses Forum gefunden habe (damals noch bei forencity http://r-statistik.foren-city.de/ ). Hier kann ich bewirken, dass die R-Novizen nicht alle Fehler nochmal selbst machen müssen bzw. dass sie entsprechend geleitet werden bei der Erarbeitung dieser 4G-Programmiersprache.
Auch konnte ich selbst noch einiges hier lernen:
zuerst war es, dass mir immer nur tapply() u.ä. einfiel an Stellen, wo man ave() verwendt (Athomas konnte dann immer schön auf ave() hinweisen). ;)
Aber auch RStudio und die Pakete data.table und plyr habe ich hier im Forum kennengelernt (dank Edi).

Dieses Forum sehe ich als erste Anlaufstelle für die R-Novizen, denn die konkreten Aufgabenstellungen bei der Programmierung können sehr verschieden sein. Hier gibt es Rat zu Literatur und Umsetzung. Als Lektüre für den fortgeschrittenen R-Programmierer würde ich unbedingt das R-Inferno https://www.burns-stat.com/pages/Tutor/R_inferno.pdf und Advanced R-Programming http://adv-r.had.co.nz/ und bei StackOverflow die Themen mit hoher Wertung https://stackoverflow.com/questions/tag ... ageSize=50 empfehlen. Für data.table gibt es sehr schönes Material hier: http://franknarf1.github.io/r-tutorial/_book/index.html

Gruß, Jörg

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast