Rでc()を使って2つのベクトルを結合する
ベクトルとは
Rにおけるベクトルは、同じ型の要素を順番に並べたデータ構造です。数値、文字列、論理値など、様々な種類のデータをベクトルとして扱うことができます。
c()関数の役割
c()
関数は、複数の要素を結合して、新しいベクトルを作成するために使用されます。結合する要素は、ベクトルだけでなく、数値、文字列、リストなど、様々な種類のものすることができます。
ベクトルの結合例
# 数値ベクトルの結合
vec1 <- c(1, 2, 3)
vec2 <- c(4, 5, 6)
vec3 <- c(vec1, vec2)
print(vec3)
# [1] 1 2 3 4 5 6
上記の例では、2つの数値ベクトル vec1
と vec2
を c()
関数を使って結合し、新しいベクトル vec3
を作成しています。vec3
は、vec1
の要素と vec2
の要素が順番に並んだベクトルになります。
注意点
- 結合する要素の型が一致している必要があります。異なる型の要素を結合しようとすると、エラーが発生します。
- 結合する要素の長さは一致していなくても構いません。長さが異なる場合は、短い方の要素が長い方の要素に繰り返しされます。
c()
関数は、ベクトルだけでなく、リストやデータフレームなどの異なる種類のデータ構造を結合するのにも使用できます。c()
関数は、要素を並べ替えるためにも使用できます。
# 数値ベクトルの結合
vec1 <- c(1, 2, 3)
vec2 <- c(4, 5, 6)
vec3 <- c(vec1, vec2)
print(vec3)
# 文字列ベクトルの結合
str1 <- c("a", "b", "c")
str2 <- c("d", "e", "f")
str3 <- c(str1, str2)
print(str3)
# 異なる型の要素の結合
num <- 1
str <- "a"
list <- list(1, "a", TRUE)
combined <- c(num, str, list)
print(combined)
# 要素の並べ替え
vec <- c(3, 1, 2)
sorted_vec <- c(sort(vec))
print(sorted_vec)
[1] 1 2 3 4 5 6
[1] "a" "b" "c" "d" "e" "f"
[[1]] 1
[[2]] "a"
[[3]] TRUE
[1] 1 2 3
append() 関数
append()
関数は、既存のベクトルに新しい要素を追加するために使用されます。2つのベクトルを結合するには、最初のベクトルを append()
関数の最初の引数として、2番目のベクトルを2番目の引数として指定します。
vec1 <- c(1, 2, 3)
vec2 <- c(4, 5, 6)
vec3 <- append(vec1, vec2)
print(vec3)
rbind() 関数
rbind()
関数は、複数のベクトルを行方向に結合するために使用されます。2つのベクトルを結合するには、2つのベクトルを rbind()
関数の引数として指定します。
vec1 <- c(1, 2, 3)
vec2 <- c(4, 5, 6)
mat <- rbind(vec1, vec2)
print(mat)
上記の例では、vec1
と vec2
を rbind()
関数を使って結合し、新しい行列 mat
を作成しています。mat
は、2行3列の行列になり、1行目は vec1
の要素、2行目は vec2
の要素が格納されます。
pmin() / pmax() 関数
pmin()
関数と pmax()
関数は、それぞれ2つのベクトルの要素を比較して、最小値または最大値を要素ごとに選択した新しいベクトルを作成します。
vec1 <- c(1, 2, 3)
vec2 <- c(4, 5, 6)
min_vec <- pmin(vec1, vec2)
max_vec <- pmax(vec1, vec2)
print(min_vec)
print(max_vec)
上記の例では、vec1
と vec2
を pmin()
関数と pmax()
関数を使って比較し、それぞれ最小値と最大値を要素ごとに選択したベクトル min_vec
と max_vec
を作成しています。
r