0
クラスプロジェクトのデータをクリーンアップしようとしています。このデータは、1950年から2011年までのNOAA Stormデータを扱っています。嵐の種類(EVTYPE)は48種類ありますが、1000を超えるユニークな項目があります。私は私に与えている、すべての雪関連エントリを見つけようとしています:R 3.4.1 Windows上のgsub - すべての文字列を検索して置き換えます。
table(grep("snow", temp$EVTYPE, ignore.case = TRUE, value = TRUE))
ACCUMULATED.SNOWFALL BLOWING.SNOW COLD.AND.SNOW DRIFTING.SNOW
4 5 1 1
EARLY.SNOWFALL EXCESSIVE.SNOW FALLING.SNOW.ICE FIRST.SNOW
7 25 2 2
HEAVY.SNOW HEAVY.SNOW.SHOWER HEAVY.SNOW.SQUALLS ICE.SNOW
13988 1 1 4
LAKE.EFFECT.SNOW LATE.SEASON.SNOW LATE.SEASON.SNOWFALL LATE.SNOW
656 1 3 2
LIGHT.SNOW LIGHT.SNOW.FLURRIES LIGHT.SNOW.FREEZING.PRECIP LIGHT.SNOWFALL
174 3 1 1
MODERATE.SNOW MODERATE.SNOWFALL MONTHLY.SNOWFALL MOUNTAIN.SNOWS
1 101 1 1
RECORD.MAY.SNOW RECORD.SNOW RECORD.SNOWFALL RECORD.WINTER.SNOW
1 2 2 3
SEASONAL.SNOWFALL SNOW SNOW.ACCUMULATION SNOW.ADVISORY
1 425 1 1
SNOW.AND.ICE SNOW.AND.SLEET SNOW.BLOWING.SNOW SNOW.DROUGHT
4 5 6 4
SNOW.ICE SNOW.SHOWERS SNOW.SLEET SNOW.SQUALL
1 5 5 5
SNOW.SQUALLS THUNDERSNOW.SHOWER UNUSUALLY.LATE.SNOW
14 1 1
は48嵐の種類の一つである「Lake.Effect.Snow」と呼ばれる嵐の種類、があります。その特定の嵐の種類を除外して、他のすべてのエントリを置き換えるにはどうすればよいですか?私は試しました:
table(grep("([^lake]?)snow", temp$EVTYPE, ignore.case = TRUE, value = TRUE))
私は試してみましたが、Lake.Effect.Snowのエントリを無視しても良いです。
''(?<!lake!\\効果\\。)snow」を試して、 'perl = TRUE'を追加してください。 –
*他のすべてのエントリをどのように置き換えることができますか? - しかし、grepで何も置き換えていない場合は、パターンに一致するエントリを抽出するだけです。あなたが意味するものを明確にしてください。 –
gsub()を使用して文字列を実際に置き換えると、コンソールでgrep()コードが表示されただけです。 –