Wie man R als Programmiersprache lernt [geschlossen]


105

Ich würde gerne wissen, wie man die R-Sprache als "Programmiersprache" lernt, anstatt sie als statistisches System zu lernen. Meine Frage wird durch mangelndes Verständnis von Funktionen wie Parsen, Auswerten usw. ausgelöst, die von einem R-Benutzer mit einer statistischen Überzeugung möglicherweise nicht häufig verwendet werden.

Bearbeiten: Ich habe solche Tools wie Rpy RSPerl rJava untersucht und möchte (zumindest) Konzepte verstehen können, die die Kommunikation von R mit anderen Programmiersprachen erleichtern.

Die Verfügbarkeit von Webanwendungen für R (R-PHP, RApache usw.) ist ein weiterer Motivationsfaktor für mich, um ein tieferes, strukturelleres Verständnis von R zu erlangen.

Last but not least möchte ich in der Lage sein, R-Pakete zu schreiben, für die ein solches Verständnis von Vorteil wäre, wenn es nicht notwendig wäre.


1
Sie erhalten bessere Antworten, wenn Sie sagen können, warum Sie R als Programmiersprache und nicht als statistisches System verwenden möchten. Kleben Sie andere Software zusammen, die bereits in R entwickelt wurde? Haben Sie andere Programmierer, die nur R kennen, also sind Sie gezwungen, sich darin zu entwickeln?
Chip Uni

7
Es besteht definitiv Bedarf an einem Buch mit einem Titel wie "Statistical Software Engineering with R", das R aus Sicht der Programmiersprachen erklärt, Prinzipien der funktionalen Programmierung und objektorientierten Programmierung in R diskutiert und sich wirklich auf Best Practices konzentriert zur Entwicklung relativ großer Systeme.
Harlan

Ich denke, dies ist eine der unterhaltsamsten Möglichkeiten, diese Sprache zu lernen: tryr.codeschool.com/levels/1/challenges/16
Umit Kaya

Meine Stimme für die Wiedereröffnung basiert auf der Tatsache, dass dies eine hoch bewertete Frage ist und in einem der ersten Treffer bei Google, wenn Sie nach "stackoverflow r" suchen. Es ist 10 Jahre alt und nur einige der Empfehlungen sind noch gültig. Darüber hinaus wurde der Mangel an Möglichkeiten, moderneres Material anzubieten, eingestellt.
IRTFM

@ 42- Sie würden es nicht als "Suche nach einem Tutorial" -Frage betrachten?
Camille

Antworten:


87

Für den Anfang möchten Sie vielleicht diesen Artikel von John Cook lesen . Stellen Sie außerdem sicher, dass Sie "The R Inferno" lesen .

Es gibt viele gute Ressourcen auf der R-Homepage , aber lesen Sie insbesondere "Eine Einführung in R" und "Die R-Sprachdefinition" .

Einige sehr eng verwandte Fragen zum Stapelüberlauf:

Mein Lieblingsbuch zum Thema: "Software zur Datenanalyse: Programmieren mit R" von John Chambers , dem Schöpfer der S-Sprache.


Ich würde mit dem gleichen Link antworten. @harshsinghal Vorausgesetzt, Sie sind kein Anfänger in der Programmierung, ist dieser Link sehr nützlich.
Secko

Ich werde auch für das R-Inferno bürgen. Es enthält viel von dem, was ich aus dem Chambers-Buch herausbekommen habe, ohne die Ausführlichkeit und die religiösen Überzeugungen.
Eytan

Das R-Inferno-Dokument ist brillant
Federico Giorgi


18

Ich würde eher einen guten und umfassenden Start vorschlagen, wie The R Book von Michael Crawley. Es ist ein einfach zu lesendes und vollständiges Buch über R-Kernfunktionen mit statistischen Tipps und einigen Übungen. Es konzentriert sich stark auf R-Stärken (z. B. lineare Modelle) und bietet auch nützliche Codierungstricks. Es hat mir sehr geholfen, als ich mit kryptischen Online-Kursen zu kämpfen hatte.

Alt-Text


2
Ich stimme zu - dies ist ein ausgezeichnetes Einführungsbuch; Crawley schreibt sehr deutlich.
Richie Cotton

Es ist viel zu detailliert. Der Artikel von John Cook oben ist viel prägnanter. Als Programmierer brauchen Sie keinen großen Teil von "The R book".
Max

14

Ich lerne sehr praktisch, daher kann dieser Rat spezifisch für meinen Lernstil sein. Ich würde vorschlagen, dass der beste Ort, um mit dem "Programmierenlernen" in einer beliebigen Sprache zu beginnen, darin besteht, Probleme außerhalb Ihres normalen Erfahrungsbereichs zu finden und sie dann mit einer Programmiersprache zu lösen.

Die Projekte, in denen ich am meisten gelernt habe, wie man programmiert, Rhatten überhaupt nichts mit Statistik zu tun.

Das Wissen um Funktionen wie parse()und eval()ist keineswegs ein Maß dafür, "ein guter R-Programmierer" zu sein. Anwendungen, bei denen diese Funktionen häufig verwendet werden müssen, machen nicht den größten Teil des Problembereichs aus, in dem Sie sich bewerben können R. Stattdessen sollten Sie versuchen, "ein guter Programmierer" zu sein, der es weiß R. Dies beinhaltet die Verfeinerung Ihrer Lösungsansätze.

Programmieren ist kein Zuschauersport - ein gutes Buch ist als Referenz für die verfügbaren Tools unverzichtbar, aber Sie müssen einige Probleme finden, um Ihre Fähigkeiten zu verbessern.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.