Rの文字列ベクトルで、文字列を指定して要素を削除する方法をお伝えする。
通常、ベクトルの要素を削除する場合は、次のように添字にマイナスを付加して削除する。


> s <- c("吾輩は", "猫である。", "名前は", "まだ無い。")

> # 1番目の要素を削除
> s[-1]
[1] "猫である。" "名前は"     "まだ無い。"

> # 1番目から2番目の要素を削除
> s[-1:-2]
[1] "名前は"     "まだ無い。"

> # 1番目と3番目の要素を削除
> s[c(-1, -3)]
[1] "猫である。" "まだ無い。"

文字列を指定して要素を直接削除する場合は、which関数を利用し指定した文字列の添字を取得してから、マイナスを付加して削除すれば良い。具体的には次のようになる。


> s <- c("吾輩は", "猫である。", "名前は", "まだ無い。")

> # 「吾輩は」を削除
> s[-which(s %in% "吾輩は")] 
[1] "猫である。" "名前は"     "まだ無い。"

> # 「吾輩は」と「まだ無い。」を削除
> s[-which(s %in% c("吾輩は", "まだ無い。"))] 
[1] "猫である。" "名前は" 

関連する記事

  • R スミルノフ・グラブス検定を繰り返し用いて外れ値を除去する方法 スミルノフ・グラブス検定は、正規分布を仮定した標本において、最大値または最小値が外れ値かどうか判定する検定の一つである。 外れ値を除去する際、外れ値を一つずつ検証することよりも、外れ値がすべて除去されたデータだけがほしいときもあるのではないだろうか。 ここでは、正規分布を仮定したデータからスミルノフ・グラブス検定を繰り返し用いて外れ値を除去するソースコードをご紹介する […]
  • R MASSパッケージcorresp関数のエラー対処方法 RのMASSパッケージ内のcorresp関数を用いたとき、エラーに悩まされたので、皆様と共有しておく。 環境 Ubuntuのバージョン $ cat /etc/lsb-release […]
  • R スティール(Steel)法R スティール(Steel)法 スティール(Steel)法とは、ダネット(Dunnett)法の多重比較に対応するノンパラメトリックな多重比較である。 スティール法を簡単に言うと、正規分布を仮定しない1つの対照群と2つ以上の処理群間を順位を用いて多重比較で調べる方法である。 Rで、スティール法を使う場合は、「スティール(Steel)の方法による多重比較」のページにソースコードが紹介されている。 […]
  • R K-means法のクラスタ数を機械的に決定する方法R K-means法のクラスタ数を機械的に決定する方法 K-means法(K平均法)を用いてクラスタリングする場合は、あらかじめクラスタ数を指定しなければならない。 このときのクラスタ数をどのように決めてよいか迷ったことはないだろうか。 ここでは、K-means法のクラスタ数を機械的に決定する方法をお伝えする。 K-means法のクラスタ数を機械的に決定するために用いるのが、Gap統計量である。 Gap統計量を用いたク […]
  • Ubuntuに日本語係り受け解析器CaboChaをインストールする手順Ubuntuに日本語係り受け解析器CaboChaをインストールする手順 日本語のテキストデータを解析する際に、係り受けを抽出したいときがある。係り受けを行うことができるフリーのソフトウェアの一つにCaboChaがある。CaboChaは, Support Vector […]
R 文字列ベクトルで文字列を指定して要素を削除する方法