どうも、ちょげ(@chogetarou)です。
ベクトル(vector)の要素を削除する方法を紹介します。
方法

ベクトル(vector)の要素を削除する方法は、2つあります。
インデックスで削除
ひとつは、指定したインデックスで削除する方法です。
まず、ベクトル名と[]を記述します。
そして、[]内に、削除するインデックスの負(マイナス)の値を指定します。
#vect=対象のベクトル
result <- vect[-index]
上記の[]は、対象のベクトル(vector)から特定のインデックス(index)の要素を削除した結果を返します。
使用例
nums <- c(1, 2, 3, 4, 5)
#インデックス3を削除
index = 3
result <- nums[-index]
result
出力:
[1] 1 2 4 5
値で削除
もうひとつは、指定した値で削除する方法です。
まず、ベクトル名と[]を記述します。
そして、[]内に、「ベクトル != 値
」を指定します。
#vect=対象のベクトル, value=削除する値
result <- vect[vect != value]
上記の[]は、対象のベクトル(vector)から特定の値を全て削除した結果を返します。
もし、複数の値を一緒に削除したい場合は、「%in%」を使います。
まず、ベクトル名と[]を記述します。
[]内で、「%in%」の左辺に対象のベクトル、右辺に削除する複数の値をまとめたベクトルを指定します。
そして、上記の「%in%」の条件式の先頭に「!」をつけます。
#vect=対象のベクトル
#value1, value2, value3, ・・・ =削除する複数の値
result <- vect[! vect %in% c(value1, value1, value3, ・・・)]
上記の[]は、対象のベクトル(vector)から複数の値を全て削除した結果を返します。
使用例
nums <- c(1, 2, 1, 1, 3, 4, 5, 1)
result <- nums[nums != 1]
result
出力:
[1] 2 3 4 5
使用例2
nums <- c(1, 2, 1, 1, 5, 3, 4, 4, 5, 1)
#1, 4, 5を削除
result <- nums[! nums %in% c(1, 4, 5)]
result
出力:
[1] 2 3
まとめ
ベクトル(vector)の要素を削除する方法は、次の2つです。
- インデックスで削除する方法
result <- vect[-index]
- 値で削除する方法
result <- vect[vect != value]
result <- vect[! vect %in% c(value1, value1, value3, ・・・)]
コメント