私は、データの一部が国名を削除しているプロジェクトに取り組んでいます。私の元のデータフレーム(命名NOAA)LOCATION_NAME列には、次のようになります。テキストの一致と置換R
ヘッド(NOAAます$ LOCATION_NAME、5)
[1] "JORDAN:BAB-A-ダルアー、AL-カラック"
[ 2] "シリア:ウガリット"
[3] "トルクメニスタン:W"
[4] "ギリシャ:THERA ISLAND(SANTORINI)"
[5] "ISRAEL:アリハ(JERICHO)"
私が使用している国名を削除するには:
NOAAの$のLOCATION_NAME < - GSUB 「アンタクヤ(:それはかなりうまく動作します( '^ *。+'、 ''、NOAAの$のLOCATION_NAME)
は、しかし、私はまだのようなエントリを取得しますANTIOCH); SYRIA " または " DIMASHQ;トルコ:ANTIOCH;レバノン:TARABULUS COUNTRYNAME」(表現がで始まっていないので、 『:』
で終わる何でも削除 『:CHINA:雲南省:ミドゥ『
:』 の場合には、オプションではありませんが』I "は雲南省:ミドゥ" 保持したいため
を "パキスタン:INDUS DELTA;インド:SAMAWANI(SAMAJI)"
Iを保持したい "INDUS DELTAを、SAMAWANI(SAMAJI)"
私も同じようなインスタンスがあります"SWITZERLAND"(いいえ ":")、私はちょうど ""(スペース)を入れると思います。
私は自分のデータフレームに国名の列を持ち、固有の国名のベクトルを作ることができます。文字列の一部が私の国の列の国名と一致するかどうかを調べるスマートな方法があるかどうか疑問に思っていました。もしそうなら、それを削除することができます。
私はこれについていくつかの助けに感謝します。
ちょうど逆のアルファベットで国の名前を並べ替えます。次に、すべての文字列を ''(?: ''+ join(' | '、array)+'') ''のように交互に結合します。次に境界構造を追加する必要があります。 – sln