列指向のcsvファイルをデータフレームとしてRに読み込もうとしています。
ファイルの1行目は次のようになります。
_sDATE, sTIME,iGPS_ALT, ...
_
そして、追加の各行は測定値です。
_4/10/2011,2:15,78, ...
_
これをRに読み込もうとすると
d = read.csv('filename')
Rはデータの最初の列が行名であると見なし、すべての測定が同じ日に行われたため、最初の列の値は変更されないため、row.namesの重複エラーが発生します。
_row.names = NULL
_を_read.csv
_呼び出しに入れると、sDATE列に対応する余分な列_d$row.names
_が取得され、すべてが1列下に「シフト」されるため、_d$sDATE
_には_2:15
_が含まれ、必要に応じて_4/10/2011
_は含まれません。
CsvをExcelで開き、何もせずに保存すると、すべてがクールになります。私はこれらの何百も処理しなければならないので、Excelに手動で保存することは私が望んでいることではありません。プログラムで何かがある場合、これらのcsvをpythonまたはそれ以外で前処理するために私ができることがあれば、それは素晴らしいことです。
read.csv
ヘッダーの値が他の行よりも少ない場合にのみ、行名があると想定します。したがって、どういうわけか、列名が欠落しているか、不要な余分な列があります。
おそらく追加の列があります。
しかし、それはおそらく、元のスプレッドシートのデータの右側にある、実際には空である、迷いフォーマットされたセル(またはセルの列)から発生します。
重要な点は次のとおりです。Excelは、シートでフォーマットされている空のセルの空のフィールドをCSVファイルに保存します。おそらくこの問題が発生する理由は次のとおりです。ExcelでCSVファイルを開いて再保存すると、Rの問題が解消されるためです。
状況:CSVファイルをExcelにプルバックすると、データの右側または下にある空のセルは無視されます(CSVファイルにはフォーマットがないため)。
結論:統計パッケージで使用するために、フォーマットされたスプレッドシートをCSVファイルとして保存するように注意してください。浮遊フォーマットとは、CSVの浮遊フィールドを意味します。
私は同じ問題に直面しました。以下のようにheader=TRUE
を追加することで解決しました
tempdata <- read.csv("C:\\File.csv",header=TRUE)
日付列である最初の列が正しく配置されました。
考えられる理由の1つは、ヘッダー行の後の行末に余分なコンマがあることです。 Excelは警告なしでそれらを無視し、保存中に削除します。
少なくとも私はそうだった