R-演算子

演算子は、特定の数学的または論理的操作を実行するようにコンパイラーに指示する記号です。R言語には組み込みの演算子が豊富にあり、次のタイプの演算子を提供します。

演算子の種類

Rプログラミングには次のタイプの演算子があります-

  • 算術演算子
  • 関係演算子
  • 論理演算子
  • 代入演算子
  • その他の演算子

算術演算子

次の表は、R言語でサポートされている算術演算子を示しています。演算子は、ベクトルの各要素に作用します。

オペレーター 説明
+ 2つのベクトルを追加します
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v+t)

次の結果が得られます-

[1] 10.0  8.5  10.0
最初のベクトルから2番目のベクトルを減算します
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v-t)

次の結果が得られます-

[1] -6.0  2.5  2.0
* 両方のベクトルを乗算します
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v*t)

次の結果が得られます-

[1] 16.0 16.5 24.0
/ 最初のベクトルを2番目のベクトルで除算します
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v/t)

上記のコードを実行すると、次の結果が生成されます-

[1] 0.250000 1.833333 1.500000
%% 最初のベクトルの残りを2番目のベクトルで与える
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%%t)

次の結果が得られます-

[1] 2.0 2.5 2.0
%/% 最初のベクトルを2番目のベクトル(商)で除算した結果
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v%/%t)

次の結果が得られます-

[1] 0 1 1
^ 2番目のベクトルの指数に上げられた最初のベクトル
v <- c( 2,5.5,6)
t <- c(8, 3, 4)
print(v^t)

次の結果が得られます-

[1]  256.000  166.375 1296.000

関係演算子

次の表は、R言語でサポートされている関係演算子を示しています。最初のベクトルの各要素は、2番目のベクトルの対応する要素と比較されます。比較の結果はブール値です。

オペレーター 説明
>> 最初のベクトルの各要素が2番目のベクトルの対応する要素より大きいかどうかを確認します。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v>t)

次の結果が得られます-

[1] FALSE  TRUE FALSE FALSE
< 最初のベクトルの各要素が2番目のベクトルの対応する要素よりも小さいかどうかを確認します。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v < t)

次の結果が得られます-

[1]  TRUE FALSE  TRUE FALSE
== 最初のベクトルの各要素が2番目のベクトルの対応する要素と等しいかどうかを確認します。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v == t)

次の結果が得られます-

[1] FALSE FALSE FALSE  TRUE
<= 最初のベクトルの各要素が2番目のベクトルの対応する要素以下であるかどうかを確認します。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v<=t)

次の結果が得られます-

[1]  TRUE FALSE  TRUE  TRUE
> = 最初のベクトルの各要素が2番目のベクトルの対応する要素以上であるかどうかを確認します。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v>=t)

次の結果が得られます-

[1] FALSE  TRUE FALSE  TRUE
!= 最初のベクトルの各要素が2番目のベクトルの対応する要素と等しくないかどうかを確認します。
v <- c(2,5.5,6,9)
t <- c(8,2.5,14,9)
print(v!=t)

次の結果が得られます-

[1]  TRUE  TRUE  TRUE FALSE

論理演算子

次の表は、R言語でサポートされている論理演算子を示しています。これは、論理型、数値型、または複合型のベクトルにのみ適用できます。1より大きい数値はすべて、論理値TRUEと見なされます。

最初のベクトルの各要素は、2番目のベクトルの対応する要素と比較されます。比較の結果はブール値です。

オペレーター 説明
これは、要素ごとの論理AND演算子と呼ばれます。これは、最初のベクトルの各要素を2番目のベクトルの対応する要素と組み合わせ、両方の要素がTRUEの場合にTRUEを出力します。
v <- c(3,1,TRUE,2+3i)
t <- c(4,1,FALSE,2+3i)
print(v&t)

次の結果が得られます-

[1]  TRUE  TRUE FALSE  TRUE
| これは、要素ごとの論理OR演算子と呼ばれます。これは、最初のベクトルの各要素を2番目のベクトルの対応する要素と組み合わせ、要素の1つがTRUEの場合に出力TRUEを返します。
v <- c(3,0,TRUE,2+2i)
t <- c(4,0,FALSE,2+3i)
print(v|t)

次の結果が得られます-

[1]  TRUE FALSE  TRUE  TRUE
これは論理NOT演算子と呼ばれます。ベクトルの各要素を取り、反対の論理値を与えます。
v <- c(3,0,TRUE,2+2i)
print(!v)

次の結果が得られます-

[1] FALSE  TRUE FALSE FALSE

論理演算子&&および|| ベクトルの最初の要素のみを考慮し、単一要素のベクトルを出力として提供します。

オペレーター 説明
&& 論理AND演算子と呼ばれます。両方のベクトルの最初の要素を取り、両方がTRUEの場合にのみTRUEを与えます。
v <- c(3,0,TRUE,2+2i)
t <- c(1,3,TRUE,2+3i)
print(v&&t)

次の結果が得られます-

[1] TRUE
|| 論理OR演算子と呼ばれます。両方のベクトルの最初の要素を取り、それらの1つがTRUEの場合はTRUEを与えます。
v <- c(0,0,TRUE,2+2i)
t <- c(0,3,TRUE,2+3i)
print(v||t)

次の結果が得られます-

[1] FALSE

代入演算子

これらの演算子は、ベクトルに値を割り当てるために使用されます。

オペレーター 説明

<−

または

=

または

<< −

左の割り当てと呼ばれる
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)

次の結果が得られます-

[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

->

または

->>

正しい割り当てと呼ばれる
c(3,1,TRUE,2+3i) -> v1
c(3,1,TRUE,2+3i) ->> v2 
print(v1)
print(v2)

次の結果が得られます-

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

その他の演算子

これらの演算子は、一般的な数学的または論理的な計算ではなく、特定の目的のために使用されます。

オペレーター 説明
コロン演算子。ベクトルの一連の数値を順番に作成します。
v <- 2:8
print(v)

次の結果が得られます-

[1] 2 3 4 5 6 7 8
%に% この演算子は、要素がベクトルに属しているかどうかを識別するために使用されます。
v1 <- 8
v2 <- 12
t <- 1:10
print(v1 %in% t) 
print(v2 %in% t)

次の結果が得られます-

[1] TRUE
[1] FALSE
%*% この演算子は、行列にその転置を乗算するために使用されます。
M = matrix( c(2,6,5,1,10,4), nrow = 2,ncol = 3,byrow = TRUE)
t = M %*% t(M)
print(t)

次の結果が得られます-

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