R Programmiersprache erklärt

R ist eine Open-Source-Programmiersprache und Softwareumgebung für statistische Berechnungen und Grafiken. Es ist eine der Hauptsprachen, die von Datenwissenschaftlern und Statistikern gleichermaßen verwendet werden. Es wird von der R Foundation for Statistical Computing und einer großen Community von Open Source-Entwicklern unterstützt. Da R eine Befehlszeilenschnittstelle verwendet, kann es für einige Personen, die an die Verwendung von GUI-fokussierten Programmen wie SPSS und SAS gewöhnt sind, zu einer steilen Lernkurve kommen, sodass Erweiterungen von R wie RStudio von großem Vorteil sein können. Da R ein Open-Source-Programm ist und frei verfügbar ist, kann es eine große Anziehungskraft für Akademiker geben, deren Zugang zu statistischen Programmen durch ihre Vereinigung mit verschiedenen Hochschulen oder Universitäten geregelt wird.

Installation

Das erste, was Sie brauchen, um mit R zu beginnen, ist es, es von der offiziellen Website entsprechend Ihrem Betriebssystem herunterzuladen.

Beliebte R-Tools und -Pakete

  • RStudio ist eine integrierte Entwicklungsumgebung (IDE) für R. Sie enthält eine Konsole, einen Syntaxhervorhebungseditor, der die direkte Codeausführung unterstützt, sowie Tools zum Plotten, Verlauf, Debuggen und zur Verwaltung des Arbeitsbereichs.
  • Das Comprehensive R Archive Network (CRAN) ist eine führende Quelle für R-Tools und -Ressourcen.
  • Tidyverse ist eine Sammlung von R-Paketen, die für die Datenwissenschaft entwickelt wurden, wie ggplot2, dplyr, readr, tidyr, purr, tibble.
  • data.table ist eine Implementierung der Basis, die data.framesich auf eine verbesserte Leistung und eine knappe, flexible Syntax konzentriert.
  • Glänzendes Framework zum Erstellen von Web-Apps im Dashboard-Stil in R.

Datentypen in R.

Vektor

Es ist eine Folge von Datenelementen des gleichen Grundtyps. Zum Beispiel:

> o  p  q  o;p;q [1] 1.0 2.0 5.3 6.0 -2.0 4.0 [1] "one" "two" "three" "four" "five" "six" [1] TRUE TRUE FALSE TRUE FALSE

Matrix

Es ist ein zweidimensionaler rechteckiger Datensatz. Die Komponenten in einer Matrix müssen ebenfalls vom gleichen Grundtyp wie der Vektor sein. Zum Beispiel:

> m = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE) > m >[,1] [,2] [,3] [1,] "a" "a" "b" [2,] "c" "b" "a"

Datenrahmen

Es ist allgemeiner als eine Matrix, da verschiedene Spalten unterschiedliche Basisdatentypen haben können. Zum Beispiel:

> d  e  f  mydata  names(mydata)  mydata

Listen

Es ist ein R-Objekt, das viele verschiedene Arten von Elementen wie Vektoren, Funktionen und sogar eine andere Liste enthalten kann. Zum Beispiel:

> list1  list1 [[1]] [1] 2 5 3 [[2]] [1] 21.3 [[3]] function (x) .Primitive("sin")

Funktionen in R.

Mit einer Funktion können Sie einen wiederverwendbaren Codeblock definieren, der in Ihrem Programm mehrmals ausgeführt werden kann.

Funktionen können wiederholt benannt und aufgerufen oder anonym ausgeführt werden (ähnlich wie Lambda-Funktionen in Python).

Um ein umfassendes Verständnis der R-Funktionen zu entwickeln, müssen die Umgebungen verstanden werden. Umgebungen sind einfach eine Möglichkeit, Objekte zu verwalten. Ein Beispiel für Umgebungen in Aktion ist, dass Sie einen redundanten Variablennamen innerhalb einer Funktion verwenden können, der nicht betroffen ist, wenn die größere Laufzeit bereits dieselbe Variable enthält. Wenn eine Funktion eine Variable aufruft, die nicht in der Funktion definiert ist, überprüft sie außerdem die übergeordnete Umgebung für diese Variable.

Syntax

In R weist eine Funktionsdefinition die folgenden Merkmale auf:

  1. Das Schlüsselwort function
  2. ein Funktionsname
  3. Eingabeparameter (optional)
  4. ein Codeblock, der ausgeführt werden soll
  5. eine return-Anweisung (optional)
# a function with no parameters or returned values sayHello() = function(){ "Hello!" } sayHello() # calls the function, 'Hello!' is printed to the console # a function with a parameter helloWithName = function(name){ paste0("Hello, ", name, "!") } helloWithName("Ada") # calls the function, 'Hello, Ada!' is printed to the console # a function with multiple parameters with a return statement multiply = function(val1, val2){ val1 * val2 } multiply(3, 5) # prints 15 to the console

Funktionen sind Codeblöcke, die einfach durch Aufrufen der Funktion wiederverwendet werden können. Dies ermöglicht eine einfache, elegante Wiederverwendung von Code, ohne Codeabschnitte explizit neu zu schreiben. Dies macht Code sowohl lesbarer als auch erleichtert das Debuggen und begrenzt Tippfehler.

Funktionen in R werden mit dem functionSchlüsselwort zusammen mit einem Funktionsnamen und Funktionsparametern in Klammern erstellt.

Die return()Funktion kann von der Funktion zum Zurückgeben eines Werts verwendet werden und wird normalerweise verwendet, um die vorzeitige Beendigung einer Funktion mit einem zurückgegebenen Wert zu erzwingen. Alternativ gibt die Funktion den endgültigen Druckwert zurück.

# return a value explicitly or simply by printing sum = function(a, b){ c = a + b return(c) } sum = function(a, b){ a + b } result = sum(1, 2) # result = 3

Sie können auch Standardwerte für die Parameter definieren, die R verwendet, wenn während des Funktionsaufrufs keine Variable angegeben wird.

sum = function(a, b = 3){ a + b } result = sum(a = 1) # result = 4

Sie können die Parameter auch in der gewünschten Reihenfolge unter Verwendung des Parameternamens übergeben.

result = sum(b=2, a=2) # result = 4

R kann auch zusätzliche optionale Parameter mit '…' akzeptieren.

sum = function(a, b, ...){ a + b + ... } sum(1, 2, 3) #returns 6

Funktionen können auch anonym ausgeführt werden. Diese sind in Kombination mit der Funktionsfamilie 'apply' sehr nützlich.

# loop through 1, 2, 3 - add 1 to each sapply(1:3, function(i){ i + 1 })

Anmerkungen

Wenn eine Funktionsdefinition Argumente ohne angegebene Standardwerte enthält, müssen Werte für diese Werte enthalten sein.

sum = function(a, b = 3){ a + b } sum(b = 2) # Error in sum(b = 2) : argument "a" is missing, with no default

Innerhalb einer Funktion definierte Variablen existieren nur im Rahmen dieser Funktion, prüfen jedoch eine größere Umgebung, wenn keine Variable angegeben ist

double = function(a){ a * 2 } double(x) # Error in double(x) : object 'x' not found double = function(){ a * 2 } a = 3 double() # 6

Eingebaute Funktionen in R.

  • R verfügt über viele Funktionen, mit denen Sie anspruchsvolle Aufgaben wie Zufallsstichproben ausführen können.
  • Sie können beispielsweise eine Zahl mit dem runden round()oder ihre Fakultät mit dem berechnen factorial().
> round(4.147) [1] 4 > factorial(3) [1] 6 > round(mean(1:6)) [1] 4
  • Die Daten, die Sie an die Funktion übergeben, werden als Argument der Funktion bezeichnet.
  • You can simulate a roll of the die with R’s sample()function. The sample() function takes two arguments:a vector named x and a number named size. For example:
> sample(x = 1:4, size = 2) [] 4 2 > sample(x = die, size = 1) [] 3 >dice dice [1] 2 4 >sum(dice) [1] 6
  • If you’re not sure which names to use with a function, you can look up the function’s arguments with args.
> args(round) [1] function(x, digits=0)

Objects in R

R allows to save the data by storing it inside an R object.

What’s an object?

It is just a name that you can use to call up stored data. For example, you can save data into an object like a or b.

> a  a [1] 5

How to create an Object in R?

  1. To create an R object, choose a name and then use the less-than symbol, <, followed by a minus sign, -, to save data into it. This combination looks like an arrow, <-. R will make an object, give it your name, and store in it whatever follows the arrow.
  2. When you ask R what’s in a, it tells you on the next line. For example:
> die  die [1] 1 2 3 4 5 6
  1. You can name an object in R almost anything you want, but there are a few rules. First, a name cannot start with a number. Second, a name cannot use some special symbols, like ^, !, $, @, +, -, /, or *:
  2. R also understands capitalization (or is case-sensitive), so name and Name will refer to different objects.
  3. You can see which object names you have already used with the function ls().

More Information:

  • Learn R programming language basics in just 2 hours with this free course on statistical programming
  • An introduction to web scraping using R
  • An introduction to aggregates in R: a powerful tool for playing with data