web-dev-qa-db-ja.com

read.table()内:readTableHeaderによって検出された不完全な最終行

そのファイルをread.csv()しようとするとCSVがあり、警告の警告メッセージが表示されます:

In read.table(file = file, header = header, sep = sep, quote = quote,  :
  incomplete final line found by readTableHeader on ...

また、ソリューションのStackOverflowとR-helpを精査しても、問題を特定することはできません。

これはデータのDropboxリンクです。 https://www.dropbox.com/s/h0fp0hmnjaca9ff/PING%20CONCOURS%20DONNES.csv

14
user3351370

Hendrik Pon で説明されているように、メッセージはファイルの最後の行が行末(EOL)文字(改行(\ n)または復帰+改行(\ r\n))。

治療法は簡単です:

  • ファイルを開く
  • ファイルの最後の行に移動します
  • その行の終わりにカーソルを置きます
  • Return/Enterを押します
  • ファイルを保存する

ここに警告なしのファイルがあります

df=read.table("C:\\Users\\Administrator\\Desktop\\tp.csv",header=F,sep=";")
 df
    V1               V2               V3               V4               V5               V6               V7               V8               V9              V10
1 Date 20/12/2013 09:04 20/12/2013 09:08 20/12/2013 09:12 20/12/2013 09:16 20/12/2013 09:20 20/12/2013 09:24 20/12/2013 09:28 20/12/2013 09:32 20/12/2013 09:36
2    1           1,3631           1,3632           1,3634           1,3633            1,363           1,3632           1,3632           1,3632           1,3629
3    2          0,83407          0,83408          0,83415          0,83416          0,83404          0,83386          0,83407          0,83438          0,83472
4    3           142,35           142,38           142,41            142,4           142,41           142,42           142,39           142,42            142,4
5    4           1,2263          1,22635          1,22628          1,22618          1,22614          1,22609          1,22624          1,22643           1,2265

しかし、データフレームを再構築する必要があるため、このように読むべきではないと思います、ありがとう。

17
Aashu

メモ帳でデータマトリックスを作成しているときに、同じ問題に直面しました。だから私はデータマトリックスの最後の行に来て、Enterを押しました。これで、「n」行のデータマトリックスと、「n + 1」行の先頭にカーソルがある新しい空白行ができました。問題が解決しました。

2
aditya harbola

.xlsファイルでも同じ問題が発生しました。私の解決策は、ファイルをタブ区切りの.txtとして保存することです。次に、手動で.txt拡張子を.xlsに変更し、read.delimを使用してデータフレームを開くこともできます。

とにかくこれは問題を克服するための非常に失礼な方法です。

1
Quechua

これはCSVファイルではなく、各行は列です。手動で解析できます。例:

file <- '~/Downloads/PING CONCOURS DONNES.csv'
lines <- readLines(file)
columns <- strsplit(lines, ';')
headers <- sapply(columns, '[[', 1)
data <- lapply(columns, '[', -1)
df <- do.call(cbind, data)
colnames(df) <- headers
print(head(df))

最後の行末が欠落しているため、警告は無視できることに注意してください。

0
Karl Forner