R - Operatory

Operator to symbol, który mówi kompilatorowi, aby wykonał określone operacje matematyczne lub logiczne. Język R jest bogaty we wbudowane operatory i zapewnia następujące typy operatorów.

Rodzaje operatorów

W programowaniu R mamy następujące typy operatorów -

  • Operatory arytmetyczne
  • Operatorzy relacyjni
  • Operatory logiczne
  • Operatory przypisania
  • Różni operatorzy

Operatory arytmetyczne

Poniższa tabela przedstawia operatory arytmetyczne obsługiwane przez język R. Operatory działają na każdym elemencie wektora.

Operator Opis Przykład
+ Dodaje dwa wektory
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v+t)

daje następujący wynik -

[1] 10.0  8.5  10.0
- Odejmuje drugi wektor od pierwszego
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v-t)

daje następujący wynik -

[1] -6.0  2.5  2.0
* Mnoży oba wektory
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v*t)

daje następujący wynik -

[1] 16.0 16.5 24.0
/ Podziel pierwszy wektor z drugim
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v/t)

Kiedy wykonujemy powyższy kod, daje on następujący wynik -

[1] 0.250000 1.833333 1.500000
%% Resztę pierwszego wektora podaj drugiemu
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%%t)

daje następujący wynik -

[1] 2.0 2.5 2.0
% /% Wynik dzielenia pierwszego wektora przez drugi (iloraz)
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%/%t)

daje następujący wynik -

[1] 0 1 1
^ Pierwszy wektor podniesiony do wykładnika drugiego wektora
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v^t)

daje następujący wynik -

[1]  256.000  166.375 1296.000

Operatorzy relacyjni

Poniższa tabela przedstawia operatory relacyjne obsługiwane przez język R. Każdy element pierwszego wektora jest porównywany z odpowiadającym mu elementem drugiego wektora. Wynikiem porównania jest wartość logiczna.

Operator Opis Przykład
> Sprawdza, czy każdy element pierwszego wektora jest większy niż odpowiadający mu element drugiego wektora.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v>t)

daje następujący wynik -

[1] FALSE  TRUE FALSE FALSE
< Sprawdza, czy każdy element pierwszego wektora jest mniejszy niż odpowiadający mu element drugiego wektora.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v < t)

daje następujący wynik -

[1]  TRUE FALSE  TRUE FALSE
== Sprawdza, czy każdy element pierwszego wektora jest równy odpowiadającemu elementowi drugiego wektora.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v == t)

daje następujący wynik -

[1] FALSE FALSE FALSE  TRUE
<= Sprawdza, czy każdy element pierwszego wektora jest mniejszy lub równy odpowiadającemu elementowi drugiego wektora.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v<=t)

daje następujący wynik -

[1]  TRUE FALSE  TRUE  TRUE
> = Sprawdza, czy każdy element pierwszego wektora jest większy lub równy odpowiadającemu elementowi drugiego wektora.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v>=t)

daje następujący wynik -

[1] FALSE  TRUE FALSE  TRUE
! = Sprawdza, czy każdy element pierwszego wektora jest nierówny z odpowiadającym mu elementem drugiego wektora.
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v!=t)

daje następujący wynik -

[1]  TRUE  TRUE  TRUE FALSE

Operatory logiczne

Poniższa tabela przedstawia operatory logiczne obsługiwane przez język R. Ma zastosowanie tylko do wektorów typu logicznego, numerycznego lub złożonego. Wszystkie liczby większe niż 1 są traktowane jako wartość logiczna PRAWDA.

Każdy element pierwszego wektora jest porównywany z odpowiadającym mu elementem drugiego wektora. Wynikiem porównania jest wartość logiczna.

Operator Opis Przykład
& Nazywa się to operatorem logicznym AND w odniesieniu do elementów. Łączy każdy element pierwszego wektora z odpowiednim elementem drugiego wektora i daje wynik PRAWDA, jeśli oba elementy są PRAWDA.
v <- c(3,1,TRUE,2+3i)
t <- c(4,1,FALSE,2+3i)
print(v&t)

daje następujący wynik -

[1]  TRUE  TRUE FALSE  TRUE
| Nazywa się to operatorem logicznym OR opartym na elementach. Łączy każdy element pierwszego wektora z odpowiednim elementem drugiego wektora i daje wynik PRAWDA, jeśli jeden z elementów jest PRAWDA.
v <- c(3,0,TRUE,2+2i)
t <- c(4,0,FALSE,2+3i)
print(v|t)

daje następujący wynik -

[1]  TRUE FALSE  TRUE  TRUE
! Nazywa się to operatorem logicznym NOT. Pobiera każdy element wektora i podaje przeciwną wartość logiczną.
v <- c(3,0,TRUE,2+2i)
print(!v)

daje następujący wynik -

[1] FALSE  TRUE FALSE FALSE

Operator logiczny && i || bierze pod uwagę tylko pierwszy element wektorów i podaje wektor pojedynczego elementu jako wynik.

Operator Opis Przykład
&& Nazywany operatorem logicznym AND. Pobiera pierwszy element obu wektorów i podaje PRAWDA tylko wtedy, gdy oba są PRAWDA.
v <- c(3,0,TRUE,2+2i)
t <- c(1,3,TRUE,2+3i)
print(v&&t)

daje następujący wynik -

[1] TRUE
|| Nazywany operatorem logicznym OR. Pobiera pierwszy element obu wektorów i podaje PRAWDA, jeśli jeden z nich jest PRAWDA.
v <- c(0,0,TRUE,2+2i)
t <- c(0,3,TRUE,2+3i)
print(v||t)

daje następujący wynik -

[1] FALSE

Operatory przypisania

Te operatory służą do przypisywania wartości do wektorów.

Operator Opis Przykład

<-

lub

=

lub

<< -

Nazywa się przydział lewostronny
v1 <- c(3,1,TRUE,2+3i)
v2 <<- c(3,1,TRUE,2+3i)
v3 = c(3,1,TRUE,2+3i)
print(v1)
print(v2)
print(v3)

daje następujący wynik -

[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i

->

lub

- >>

Nazwane Przypisanie Praw
c(3,1,TRUE,2+3i) -> v1
c(3,1,TRUE,2+3i) ->> v2 
print(v1)
print(v2)

daje następujący wynik -

[1] 3+0i 1+0i 1+0i 2+3i
[1] 3+0i 1+0i 1+0i 2+3i

Różni operatorzy

Operatory te są używane do określonego celu, a nie do ogólnych obliczeń matematycznych lub logicznych.

Operator Opis Przykład
: Operator okrężnicy. Tworzy serię liczb w sekwencji dla wektora.
v <- 2:8
print(v)

daje następujący wynik -

[1] 2 3 4 5 6 7 8
%w% Ten operator służy do identyfikacji, czy element należy do wektora.
v1 <- 8
v2 <- 12
t <- 1:10
print(v1 %in% t) 
print(v2 %in% t)

daje następujący wynik -

[1] TRUE
[1] FALSE
% *% Ten operator służy do mnożenia macierzy wraz z jej transpozycją.
M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE)
t = M %*% t(M)
print(t)

daje następujący wynik -

[,1] [,2]
[1,]   65   82
[2,]   82  117