English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dieses Kapitel stellt einfache Operationen der R-Sprache vor.
Die Zuweisung in der Regel in anderen Sprachen ist = Zeichen, aber da R eine mathematische Sprache ist, ist das Zuweisungssymbol sehr ähnlich zu dem Pseudocode in unseren Mathematikbüchern, einem linken Pfeil <- :
a <- 123 b <- 456 print(a + b)
Ergebnis der Ausführung des obigen Codes:
[1] 579
Dieses Zuweisungssymbol ist ein formeller Vorteil und ein operativer Nachteil der R-Sprache: formell besser geeignet für Mathematiker, schließlich sind nicht alle Mathematiker daran gewöhnt, = als Zuweisungssymbol.
Was die Operation betrifft, so ist der Symbol < - Die Symbole sind nicht sehr gut zu tippen, was viele Programmierer unangenehm finden kann. Daher unterstützt auch die vergleichsweise neue Version der R-Sprache = als Zuweisungssymbol:
a = 123 b = 456 print(a + b)
Dies ist auch ein gültiges R-Programm.
Hinweis:Es ist schwer zu bestätigen, ab welcher Version von R die Unterstützung hinzugefügt wurde = Zuweisung, aber die in diesem Tutorial verwendete Version von R ist 4.0.0。
Die folgende Tabelle zeigt die wichtigsten mathematischen Operatoren und ihre Reihenfolge der Operationen:
Priorität | Zeichen | Bedeutung |
---|---|---|
1 | ()) | Klammern |
2 | ^ | Potenzrechnung |
3 | %% | Ganze Division mit Rest |
%/% | Ganze Division | |
4 | * | Multiplikation |
/ | Division | |
5 | + | Addition |
- | Subtraktion |
Der folgende Beispiel zeigt einfache mathematische Operationen:
> 1 + 2 * 3 [1] 7 > (1 + 2) * 3 [1] 9 > 3 / 4 [1] 0.75 > 3.4 - 1.2 [1] 2.2 > 1 - 4 * 0.5^3 [1] 0.5 > 8 / 3 %% 2 [1] 8 > 8 / 4 %% 2 [1] Inf > 3 %% 2^2 [1] 3 > 10 / 3 %/% 2 [1] 10
Die folgende Tabelle zeigt die relativen Operationen, die von R unterstützt werden und zwei Vektoren vergleichen, indem jedes Element des ersten Vektors mit jedem Element des zweiten Vektors verglichen wird, und ein boolesches Ergebnis zurückgegeben wird.
Operator | Beschreibung |
---|---|
> | Beurteilen Sie, ob jedes Element des ersten Vektors größer dem entsprechenden Element des zweiten Vektors ist. |
< | Beurteilen Sie, ob jedes Element des ersten Vektors kleiner dem entsprechenden Element des zweiten Vektors ist. |
== | Beurteilen Sie, ob jedes Element des ersten Vektors gleich dem entsprechenden Element des zweiten Vektors ist. |
!= | Beurteilen Sie, ob jedes Element des ersten Vektors ungleich dem entsprechenden Element des zweiten Vektors ist. |
>= | Beurteilen Sie, ob jedes Element des ersten Vektors größer gleich dem entsprechenden Element des zweiten Vektors ist. |
<= | Beurteilen Sie, ob jedes Element des ersten Vektors kleiner gleich dem entsprechenden Element des zweiten Vektors ist. |
v <- c(2,4,6,9) t <- c(1,4,7,9) print(v>t) print(v < t) print(v == t) print(v!=t) print(v>=t) print(v<=t)
Das Ausführen des obigen Codes gibt das folgende Ergebnis aus:
[1] TRUE FALSE FALSE FALSE [1] FALSE FALSE TRUE FALSE [1] FALSE TRUE FALSE TRUE [1] TRUE FALSE TRUE FALSE [1], TRUE TRUE FALSE TRUE [1] FALSE TRUE TRUE TRUE
Die folgende Tabelle zeigt die logischen Operationen, die von R unterstützt werden und für Vektoren von Zahlen, Logik und komplexen Typen verwendet werden können.
größer 1 der Zahlen TRUE sind.
Logische Operationen vergleichen zwei Vektoren, vergleichen jedes Element des ersten Vektors mit jedem Element des zweiten Vektors und geben ein boolesches Ergebnis zurück.
Operator | Beschreibung |
---|---|
& | Elementlogische und-Operation, kombiniert jedes Element des ersten Vektors mit dem entsprechenden Element des zweiten Vektors, wenn beide Elemente TRUE sind, dann ist das Ergebnis TRUE, sonst FALSE. |
| | Elementlogische oder-Operation, kombiniert jedes Element des ersten Vektors mit dem entsprechenden Element des zweiten Vektors, wenn eines der beiden Elemente TRUE ist, dann ist das Ergebnis TRUE, wenn beide Elemente FALSE sind, dann wird FALSE zurückgegeben. |
! | Logische nicht-Operation, gibt die umgekehrten logischen Werte jedes Elements des Vektors zurück, wenn das Element TRUE ist, dann wird FALSE zurückgegeben, wenn das Element FALSE ist, dann wird TRUE zurückgegeben. |
&& | Logische und-Operation, nur die ersten Elemente der beiden Vektoren werden beurteilt, wenn beide Elemente TRUE sind, dann ist das Ergebnis TRUE, sonst FALSE. |
|| | Logischer Oder-Operator, vergleicht nur den ersten Element der beiden Vektoren, wenn eines der Elemente TRUE ist, dann das Ergebnis ist TRUE, wenn beide FALSE sind, dann gibt es FALSE zurück. |
v <- c(3,1,TRUE,2+3i) t <- c(4,1,FALSE,2+3i) print(v&t) print(v|t) print(!v) # &&、|| nur für den ersten Element vergleichen v <- c(3,0,TRUE,2+2i) t <- c(1,3,TRUE,2+3i) print(v&&t) v <- c(0,0,TRUE,2+2i) t <- c(0,3,TRUE,2+3i) print(v||t)
Das Ausführen des obigen Codes gibt das folgende Ergebnis aus:
[1], TRUE TRUE FALSE TRUE [1], TRUE TRUE TRUE TRUE [1], FALSE FALSE FALSE FALSE [1], TRUE [1], FALSE
Variablen in der R-Sprache können mit linken, rechten oder Gleichheitsoperatoren zugewiesen werden.
Die folgende Tabelle zeigt die Zuweisungsoperatoren, die R-Sprache unterstützt.
Operator | Beschreibung |
---|---|
<− = <<− | Linker Zuweisung. |
−> −>> | Rechter Zuweisung. |
# Linker Zuweisung v1 <- c(3,1,TRUE,"w3codebox") v2 <<- c(3,1,TRUE,"w3codebox") v3 = c(3,1,TRUE,"w3codebox") print(v1) print(v2) print(v3) # Rechter Zuweisung c(3,1,TRUE,"w3codebox") -> v1 c(3,1,TRUE,"w3codebox") ->> v2 print(v1) print(v2)
Das Ausführen des obigen Codes gibt das folgende Ergebnis aus:
[1]3" "1" "TRUE" "w3codebox" [1]3" "1" "TRUE" "w3codebox" [1]3" "1" "TRUE" "w3codebox" [1]3" "1" "TRUE" "w3codebox" [1]3" "1" "TRUE" "w3codebox"
R-Sprache enthält auch einige spezielle Operatoren.
Operator | Beschreibung |
---|---|
: | Doppelpunkt-Operator, wird verwendet, um eine Reihe von Zahlen in einen Vektor zu erstellen. |
%in% | Wird verwendet, um zu prüfen, ob ein Element im Vektor enthalten ist, gibt einen booleschen Wert zurück, TRUE, wenn es enthalten ist, sonst FALSE. |
%*% | Wird verwendet, um die Matrix und ihre Transponierte zu multiplizieren. |
# 1 bis 10 der Vektor v <- 1:10 print(v) # Prüfen, ob eine Zahl im Vektor v enthalten ist v1 <- 3 v2 <- 15 print(v1 %in% v) print(v2 %in% v) # Matrix und ihre Transponierte multiplizieren M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE) t = M %*% t(M) print(t)
Das Ausführen des obigen Codes gibt das folgende Ergebnis aus:
[1] 1 2 3 4 5 6 7 8 9 10 [1], TRUE [1], FALSE ,]1],2] [1,] 65 82 [2,] 82 117
Gängige für einige mathematische Funktionen sind:
Funktion | Erklärung |
---|---|
sqrt(n) | Wurzel aus n |
exp(n) | das n-te Potenz der natürlichen Konstanten e, |
log(m,n) | m ist die Logarithmusfunktion, die das n-te Potenz von n ist, das gleich m ist |
log10(m) | entspricht log(m,10) |
Hier ist ein Beispiel für die Anwendung mathematischer Funktionen:
> sqrt(4) [1] 2 > exp(1) [1] 2.718282 > exp(2) [1] 7.389056 > log(2,4) [1] 0.5 > log10(10000) [1] 4
Rundungsfunktion:
Name | Parametermodell | Bedeutung |
---|---|---|
round | (n) | Runden Sie n ab |
(n, m) | Nehmen Sie m Stellen hinter dem Komma von n | |
ceiling | (n) | Nach oben rundet n |
floor | (n) | Nach unten rundet n |
)
> round(1.5) [1] 2 > round(2.5) [1] 2 > round(3.5) [1] 4 > round(4.5) [1] 4
Beachten Sie:Die round-Funktion in R kann in einigen Fällen "5 abrunden".
Wenn die Ganzzahl durch 2 geteilt ein gerades Ergebnis ergibt, wird 5 auch abgerundet, was sich von C unterscheidet.
Die trigonometrischen Funktionen von R sind in Gradmaß:
> sin(pi/6) [1] 0.5 > cos(pi/4) [1] 0.7071068 > tan(pi/3) [1] 1.732051
Invers trigonometrische Funktionen:
> asin(0.5) [1] 0.5235988 > acos(0.7071068) [1] 0.7853981 > atan(1.732051) [1] 1.047198
Wenn Sie Wahrscheinlichkeitstheorie und Statistik gelernt haben, sollten Sie die folgenden Wahrscheinlichkeitsverteilungsfunktionen gut kennen, da R-Sprache für Mathematiker entwickelt wurde und oft verwendet wird:
> dnorm(0) [1] 0.3989423 > pnorm(0) [1] 0.5 > qnorm(0.95) [1] 1.644854 > rnorm(3, 5, 2) # erzeugt 3 Durchschnittswert 5,Standardabweichung 2 Zufallszahlen der Normalverteilung [1] 4.177589 6.413927 4.206032
Diese vier werden alle verwendet, um die Normalverteilung zu berechnen. Ihr Name endet mit "norm", was "Normalverteilung" bedeutet.
Die Präfixe der Verteilungsfunktionsnamen gibt es vier Arten:
d - Wahrscheinlichkeitsdichtefunktion
p - Wahrscheinlichkeitsdichtefunktion (Integral von unendlich klein bis x)
q - Quantil-Funktion
r - Zufallszahlengenerator (häufig für Stochastische Simulationen verwendet)
AnmerkungDa dieses Tutorial nicht darauf abzielt, mathematische Theorien zu erläutern, werden die mathematischen Theorien zur Wahrscheinlichkeitsverteilung nicht im Detail erläutert. R-Sprache enthält neben der Normalverteilungsfunktion auch Poisson-Verteilung (pois, Poisson) und andere gängige Verteilungsfunktionen. Wenn Sie mehr darüber erfahren möchten, können Sie " Wahrscheinlichkeitstheorie und Mathematische Statistik " lernen.