R - ベクター:入門ガイド

こんにちは、将来のRプログラマーさんたち!今日は、Rのベクターの世界に一緒に飛び込んでみましょう。プログラミングの経験がなくても心配しないでください。あなたの親切なガイドとして、私はここにいますので、ステップバイステップで進めていきましょう。このチュートリアルの終わりまでに、プロのようにベクターの作成と操作ができるようになるでしょう!

R - Vectors

ベクターとは?

まず、ベクターとは何かを理解しましょう。Rでは、ベクターは同じ種類の複数のアイテムを保持するコンテナのようなものです。列車が複数の車両を持っていて、それぞれが同じ種類の貨物を運んでいる thing 想像してみてください。この荷物は数値、テキスト、甚至是非値(true/false)でもよいのです。

ベクターの作成

まずは、ベクターの作成方法を学びましょう。Rにはいくつかの方法がありますが、最も一般的で役立つ方法に焦点を当てます。

c()関数の使用

最も簡単な方法は、c()関数を使用することです。'c'は'combine'(結合)または'concatenate'(連結)の略です。

# 数値ベクターの作成
numbers <- c(1, 2, 3, 4, 5)
print(numbers)

# 文字列ベクターの作成
fruits <- c("apple", "banana", "cherry")
print(fruits)

# 論理ベクターの作成
is_student <- c(TRUE, FALSE, TRUE, TRUE)
print(is_student)

これらの例では、3種類異なるベクターを作成しています。<-シンボルは、ベクターを変数名に割り当てるために使用されます。

:演算子の使用

数値のシーケンスを作成するには、:演算子が非常に便利です。

# 1から10のシーケンスを作成
sequence <- 1:10
print(sequence)

# 逆順のシーケンスを作成
reverse_sequence <- 10:1
print(reverse_sequence)

これは、整数のシーケンスを作成するための素早い方法です。まるでRに「この数からあの数までの全ての数をくれ」と言っているようなものです。

seq()関数の使用

シーケンスに対してより多くの制御を行いたい場合は、seq()関数が役立ちます。

# 特定のステップを持つシーケンスを作成
by_twos <- seq(from = 0, to = 10, by = 2)
print(by_twos)

# 特定の長さを持つシーケンスを作成
five_numbers <- seq(from = 0, to = 1, length.out = 5)
print(five_numbers)

seq()関数は、より柔軟で、開始点、終点、ステップサイズ、または要素数を指定することができます。

rep()関数の使用

時々、値を繰り返す必要があるかもしれません。その際にはrep()関数が役立ちます。

# 単一の値を繰り返す
repeat_five <- rep(5, times = 3)
print(repeat_five)

# ベクターを繰り返す
repeat_vector <- rep(c(1, 2), times = 3)
print(repeat_vector)

# 各要素を繰り返す
repeat_each <- rep(c(1, 2), each = 3)
print(repeat_each)

rep()は、パターンを作成したり、データを繰り返した値でパディングするのに非常に便利です。

ベクター要素のアクセス

ベクターの作成を学んだので、次に要素のアクセス方法を学びましょう。Rでは、要素にアクセスするために角括弧[]を使用します。

インデックスによるアクセス

Rでは、インデックスは1から始まります。他のプログラミング言語のように0から始まらないので注意してください。

fruits <- c("apple", "banana", "cherry", "date")

# 最初の要素にアクセス
print(fruits[1])  # 出力: "apple"

# 3番目の要素にアクセス
print(fruits[3])  # 出力: "cherry"

# 複数の要素にアクセス
print(fruits[c(1, 3)])  # 出力: "apple" "cherry"

# 範囲の要素にアクセス
print(fruits[2:4])  # 出力: "banana" "cherry" "date"

ネガティブインデックス

Rでは、ネガティブインデックスを使用して要素を除外することができます。

# 2番目の要素を除外
print(fruits[-2])  # 出力: "apple" "cherry" "date"

# 複数の要素を除外
print(fruits[c(-1, -3)])  # 出力: "banana" "date"

論理インデックス

また、論理ベクターを使用して要素にアクセスすることもできます。

numbers <- c(1, 2, 3, 4, 5)

# 偶数にアクセス
print(numbers[numbers %% 2 == 0])  # 出力: 2 4

# 3より大きな数にアクセス
print(numbers[numbers > 3])  # 出力: 4 5

ベクターの操作

ベクターの作成とアクセスを学んだので、次にベクターの操作方法を学びましょう。

ベクターの算術

ベクターに対して算術演算を行うことができます。

vec1 <- c(1, 2, 3)
vec2 <- c(4, 5, 6)

# 加算
print(vec1 + vec2)  # 出力: 5 7 9

# 減算
print(vec1 * vec2)  # 出力: 4 10 18

# 除算
print(vec2 / vec1)  # 出力: 4 2.5 2

ベクターのリサイクル

異なる長さのベクター間で操作を行う際、Rは短いベクターをリサイクルします。

short_vec <- c(1, 2)
long_vec <- c(1, 2, 3, 4, 5, 6)

print(short_vec + long_vec)  # 出力: 2 4 4 6 6 8

Rは短いベクターを長いベクターに合わせるために繰り返します。

ベクター関数

Rには、ベクターを操作するための多くの便利な関数があります。

numbers <- c(5, 2, 8, 1, 9)

# ベクターの長さ
print(length(numbers))  # 出力: 5

# 全ての要素の和
print(sum(numbers))  # 出力: 25

# ベクターの平均(平均値)
print(mean(numbers))  # 出力: 5

# ベクターの並べ替え
print(sort(numbers))  # 出力: 1 2 5 8 9

以下は、いくつかの一般的なベクター関数の摘要です:

関数 説明
length() ベクターの要素数を返します
sum() ベクターの全ての要素の和を計算します
mean() ベクターの平均(平均値)を計算します
median() ベクターの中央値を見つけます
max() ベクターの最大値を返します
min() ベクターの最小値を返します
sort() ベクターを昇順に並べ替えます
rev() ベクターの要素の順序を逆にします

結論

おめでとうございます!あなたはRのベクターの世界への最初の一歩を踏み出しました。作成、要素のアクセス、基本的な操作について学びました。練習は完璧を生みますので、これらの概念を試してみてください。

ベクターはRにおけるデータ操作の基本単位であり、それをマスターすることでRプログラミングにおける成功への道が開けます。さらに探求し、コードを書き続け、そして何より楽しみましょう!

Credits: Image by storyset