オンラインcsvファイルからデータフレームを読み込んでいますが、ファイルを作成した人が間違って都市名であるべき列に数字を入力しています。テーブルcities.data
のサンプル。R数字だけを含むデータフレームエントリの数字を削除する
City Population Foo Bar
Seattle 10 foo1 bar1
98125 20 foo2 bar2
Kent 98042 30 foo3 bar3
98042 Kent 30 foo4 bar4
所望の出力街欄の数字だけで行を削除した後:
City Population Foo Bar
Seattle 10 foo1 bar1
Kent 98042 30 foo3 bar2
98042 Kent 30 foo4 bar4
私は街の欄の数字のみで行を削除します。ケント98042と98042ケントはどちらも大丈夫ですので、市の名前が含まれていますが、98125は都市ではありません。
is.numeric
は、番号がcsvファイルの文字列として読み取られているため使用できません。正規表現を使用してみました。これは、数値だけを含むものではなく、数字だけを含む行を削除します。
City Population Foo Bar
Seattle 10 foo1 bar1
"Kent 98042"
この行を保持したい場合でも削除されました。 提案?お願いしてありがとう!
テキストの後にその数字を保存しないでください。例えば、あなたの望む出力では、第3の観察は "Kent 98042"か、または "Kent"の罰金でなければなりませんか? – seeellayewhy
文字列 'grepl("^[0-9] + "cities.data)の必須開始を追加してみてください。 – storaged
都市の後ろの数字は必要ありません。" Kent "それはもっと難しいかもしれません。 &あいにく市の前に番号がある例を含めるのを忘れていました。 "^ 98042 Kent"はその行を排除するため "^"が機能しない原因となります。 – siushi