文字列に正規表現を用いたパターンマッチング、ここでN.は、いくつかの例です:私は0、1で構成される文字列の多数で構成されていたデータフレームを持って
a = "10000000011111111"
b = "11111111111111111"
c = "11111110000000NNN"
d = "00000000000000000"
e = "00000001111111111"
f = "11111000000000000"
Imが探して'0'と '1'の両方だけで構成された文字列を 'N'存在なしで識別する方法です。私の究極の目標は、この状況が発生する場所で私の元のデータフレーム「REC」に置き換えることです。このquestionで行われたのと同様です。
私の上記のデータからの結果は次のようになります。
a = "REC"
b = "11111111111111111"
c = "11111110000000NNN"
d = "00000000000000000"
e = "REC"
f = "REC"
私の目標を達成するために、(以前の質問からの応答によって導か)アイブ氏は採用の主な戦略はgsub
を使用していますが、私は動作します正規表現を得るカント私の希望する出力のために。私はここにしようとするには余りにも多くの反復を試みたが、ここで私の最も最近の機能できた、次のとおりです。
markREC <- function(X) {
gsub(X, pattern = "^(0)+.*(1)+$",
replacement = "REC?")}
この関数は、アイブ氏が試した他の戦略が依拠lapply
でデータフレーム上で実行されるだろうstrsplit
でも、これも問題なく動作しています。人々がそれらを見たいと思えば私は例を提供することができます。私はこれがいくつかの正規表現の専門家のためにシンプルになるだろうと思うが、試して何時間も後、IDはいくつかの助けが大好き!
このdoesntのはかなりの仕事を、それがしたいだけ0または1のみのIDを持っている文字列を拾うので、このグループから除外します。 Iveは質問を自分の望む出力で編集しました。 –
@SamGlobus実際これは完全に機能します。あなたが何を話しているのか分かりません。 – FailedDev
二重引用符で囲まれた文字列に似た文字列にのみ有効です。文字列はデータフレーム内にあり、異なる長さになります。 –