English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

R-Grundoperationen

Dieses Kapitel stellt einfache Operationen der R-Sprache vor.

Zuweisung

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。

Mathematische Operatoren

Die folgende Tabelle zeigt die wichtigsten mathematischen Operatoren und ihre Reihenfolge der Operationen:

PrioritätZeichenBedeutung
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

Relationale Operationen

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.

OperatorBeschreibung
>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

Logische Operationen

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.

OperatorBeschreibung
&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

Zuweisungsoperatoren

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.

OperatorBeschreibung

<−

=

<<−

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"

Andere Operatoren

R-Sprache enthält auch einige spezielle Operatoren.

OperatorBeschreibung
: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

Mathematische Funktionen

Gängige für einige mathematische Funktionen sind:

FunktionErklä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:

NameParametermodellBedeutung
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.