R言語入門・daiichi.dev

R言語:4.Rで基本的な演算を行う方法

独習R

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

説明

  1. 算術演算: +(足し算)、-(引き算)、*(掛け算)、/(割り算)、^(べき乗)、%%(剰余)、%/%(整数除算)を使用します。
  2. 比較演算: ==(等しい)、!=(異なる)、>(大きい)、<(小さい)、>=(以上)、<=(以下)などで値を比較できます。
  3. 論理演算: &(AND)、|(OR)、!(NOT)などを使用して、論理演算を行います。
  4. 文字列操作: paste()関数で文字列を結合し、nchar()関数で文字列の長さを求めます。

この例を使用すると、Rでの基本的な演算を理解し、様々な操作を行う方法を学ぶことができます。

6. まとめ

Rでは、基本的な算術演算から複雑な数式の計算、さらにはベクトルを使った演算まで幅広くサポートしています。これらの機能を理解することで、データ解析や統計的な作業を効率的に進めることができます。次回は、Rでのデータ操作や統計分析の方法についてさらに掘り下げていきます。

購読
通知
0 Comments
Inline Feedbacks
View all comments