私は2つの文字列、a <- "AERRRTX"; b <- "TRRA"
を持っています。2つの文字列で異なる別の文字を抽出します
b
で使用されていない
a
の文字を抽出したい
、すなわち「ERX」
私はsetdiff
を使用していますExtract characters that differ between two stringsで答えを、試してみました。 b
は "R"を持ち、setdiff
はa
の3つの "R"をすべて削除するため "EX"を返します。私の目的は、各文字を区別できるように扱うことです。したがって、a
の3つのRのうち2つだけを削除する必要があります。
setdiff
の代わりに、私の出力を達成するために何ができるかについてのご意見はありますか?
マイナーポイントを使用して異なるアプローチ:それはお勧めですが'c'の割り当てを避けるために、一般的に使われる組み込み関数です。 'c'が囲む環境で定義された変数である場合、その識別子への参照はそれに束縛され、多くのコードを混乱させる可能性があります。例えば、 'do.call(c、...)'はこの場合失敗します。 – bgoldst
@bgoldstあなたは正しいです。更新しました。ありがとう! –
良い選択肢。 3行目を 'a1 [-pmatch(b1、a1)]'に置き換えることができます。また、 'pmatch'の" duplicates.ok = FALSE "引数の動作を' match 'と区別するのに役立つでしょう –