web-dev-qa-db-ja.com

Rのread.csvの最初の列名にジャンクテキストを付加

SQL Server Management Studioの結果グリッドからcsvファイルにデータをエクスポートしました。 csvファイルは正しいようです。

しかし、read.csvを使用してデータをRデータフレームに読み込むと、最初の列名の先頭に "ï.."が付加されます。このジャンクテキストを削除するにはどうすればよいですか?

例:

str(trainData)

'data.frame':   64169 obs. of  20 variables:    
 $ ï..Column1             : int  3232...   
 $ Column2                : int  4242...

データは次のようになります(特別なものはありません)。

列1、列2
100116577、100116577
100116698、100116702

20

ファイルの先頭にUnicode UTF-8 BOMがあります。

http://en.wikipedia.org/wiki/Byte_order_mark

テキストエディターまたはWebブラウザーがテキストをISO-8859-1またはCP1252として解釈すると、「ï"」という文字が表示されます

Rはgivingを提供し、残りの2つは英数字以外の文字であるためドットに変換します。

ここに:

http://r.789695.n4.nabble.com/Writing-Uni​​code-Text-into-Text-File-from-R-in-Windows-td4684693.html

ダンカンマードックは次のように提案しています。

入力時にBOMを無視したい場合は、ファイルが "UTF-8-BOM"でエンコードされていると宣言できます。

したがって、read.csvfileEncoding="UTF-8-BOM"で試してみるか、SQLを使用してBOMを出力しないようにしてください。

それ以外の場合は、名がï..で始まるかどうかをテストし、substrで削除することもできます(本当にそのように始まる列がないことがわかっている限り...)

34
Spacedman