Rは統計解析やデータ処理に特化したプログラミング言語であり、数値計算を効率的に行うための豊富な機能を提供しています。本記事では、Rでの基本的な演算方法について、サンプルコードとともに詳しく解説します。Rを使い始めたばかりの方でも理解しやすいよう、各演算の概念と実行例を紹介します。
1. 算術演算
Rでは、加算、減算、乗算、除算などの基本的な算術演算を簡単に実行できます。例えば、数値の加算は以下のように行います。
# 加算 x <- 5 y <- 3 z <- x + y z
上記のコードでは、変数 x
に5、y
に3を代入し、それらを加算して z
に格納しています。結果は8になります。
# 実行結果 [1] 8
同様に、減算、乗算、除算は次のように行います。
# 減算、乗算、除算 a <- 10 - 4 # 減算 b <- 6 * 7 # 乗算 c <- 16 / 4 # 除算 a b c
# 実行結果 [1] 6 # 減算結果 [1] 42 # 乗算結果 [1] 4 # 除算結果
2. 剰余演算とべき乗演算
剰余演算は、2つの数値の除算後の余りを求める演算です。Rでは、%%
演算子を使って剰余を計算します。
# 剰余演算 d <- 10 %% 3 d
# 実行結果 [1] 1
べき乗演算には ^
演算子を使用します。次の例では、2の3乗を計算します。
# べき乗演算 e <- 2 ^ 3 e
# 実行結果 [1] 8
3. 複雑な演算式
Rでは、複雑な数式を一行で書いて計算することが可能です。括弧を使うことで演算の優先順位を制御できます。例えば、次のような複雑な式を考えます。
# 複雑な演算 f <- (5 + 3) * 2 ^ 2 - (10 / 2) f
# 実行結果 [1] 26
この例では、最初に括弧内の計算が行われ、次にべき乗、乗算、そして最後に引き算と除算が行われます。
4. ベクトル演算
Rでは、単一の数値だけでなくベクトル(数値の集合)に対しても同じ演算を適用できます。次の例では、2つのベクトルの要素ごとの加算を示しています。
# ベクトル演算 vec1 <- c(1, 2, 3) vec2 <- c(4, 5, 6) vec3 <- vec1 + vec2 vec3
# 実行結果 [1] 5 7 9
このように、ベクトル同士の演算は、各要素に対して自動的に適用されます。ベクトルのサイズが異なる場合には、Rは警告を出しつつも最小の要素数に基づいて計算を行います。
5. Rの例: 基本的な演算
Rでは、算術演算、比較演算、論理演算、文字列操作など、さまざまな演算を簡単に実行できます。
# 1. 算術演算(Arithmetic Operations) a <- 10 b <- 3 # 足し算 sum_result <- a + b print(paste("足し算:", sum_result)) # 10 + 3 = 13 # 引き算 sub_result <- a - b print(paste("引き算:", sub_result)) # 10 - 3 = 7 # 掛け算 mul_result <- a * b print(paste("掛け算:", mul_result)) # 10 * 3 = 30 # 割り算 div_result <- a / b print(paste("割り算:", div_result)) # 10 / 3 = 3.333... # べき乗 pow_result <- a^b print(paste("べき乗:", pow_result)) # 10^3 = 1000 # 剰余演算(余りを求める) mod_result <- a %% b print(paste("剰余:", mod_result)) # 10 %% 3 = 1 # 整数除算 int_div_result <- a %/% b print(paste("整数除算:", int_div_result)) # 10 %/% 3 = 3 # 2. 比較演算(Comparison Operations) x <- 7 y <- 5 print(paste("x == y:", x == y)) # 等しいか確認: FALSE print(paste("x != y:", x != y)) # 異なるか確認: TRUE print(paste("x > y:", x > y)) # x が y より大きい: TRUE print(paste("x < y:", x < y)) # x が y より小さい: FALSE print(paste("x >= y:", x >= y)) # x が y 以上: TRUE print(paste("x <= y:", x <= y)) # x が y 以下: FALSE # 3. 論理演算(Logical Operations) p <- TRUE q <- FALSE # AND演算 and_result <- p & q print(paste("AND演算:", and_result)) # FALSE # OR演算 or_result <- p | q print(paste("OR演算:", or_result)) # TRUE # NOT演算 not_result <- !p print(paste("NOT演算:", not_result)) # FALSE # 4. 文字列操作(String Operations) str1 <- "Hello" str2 <- "World" # 文字列結合 concat_result <- paste(str1, str2) print(paste("文字列結合:", concat_result)) # "Hello World" # 文字列の長さ str_length <- nchar(str1) print(paste("文字列の長さ:", str_length)) # 5
説明
- 算術演算:
+
(足し算)、-
(引き算)、*
(掛け算)、/
(割り算)、^
(べき乗)、%%
(剰余)、%/%
(整数除算)を使用します。 - 比較演算:
==
(等しい)、!=
(異なる)、>
(大きい)、<
(小さい)、>=
(以上)、<=
(以下)などで値を比較できます。 - 論理演算:
&
(AND)、|
(OR)、!
(NOT)などを使用して、論理演算を行います。 - 文字列操作:
paste()
関数で文字列を結合し、nchar()
関数で文字列の長さを求めます。
この例を使用すると、Rでの基本的な演算を理解し、様々な操作を行う方法を学ぶことができます。
6. まとめ
Rでは、基本的な算術演算から複雑な数式の計算、さらにはベクトルを使った演算まで幅広くサポートしています。これらの機能を理解することで、データ解析や統計的な作業を効率的に進めることができます。次回は、Rでのデータ操作や統計分析の方法についてさらに掘り下げていきます。