警告消息:在read.table(file = file,header = header,sep = sep,quote = quote,:由readTableHeader在'hola.csv'上找到的不完整的最后一行

时间:2019-10-17 13:29:21

标签: r csv line warnings

问题:在R中,我收到警告消息:

  

在read.table中(文件=文件,标头=标头,sep = sep,引用=引号,:由readTableHeader在'hola.csv'上找到的不完整的最后一行

为简化起见,我在excel中创建了一个基本表,并已将其保存为它提供的所有.csv格式(逗号分隔的值,csv UTF8,MS2 csv等),并且所有错误均持续存在。我正在使用Mac 10.15 Catalina,Excel版本16.29.1(2019)。

我将笔记本电脑的语言从西班牙更改为英国,将,设置为组,将.设置为小数,因为这里有人建议这可能是由于默认情况下使用分号代替了某些国家/地区的语言用于CSV的逗号。在此之后,正如预期的那样,确实创建了用逗号分隔的csv,但是我仍然得到警告。

按照建议,如果我在textedit中打开文件并单击最后的Enter,然后将其保存,R可以正常工作并且错误消失了,但是每次我想打开文件时这样做似乎都不实际/有效。 CSV。另一方面,为什么使用mac UK配置的在职同事没有收到此错误(当我打开他们在笔记本电脑上创建的csv时也不会出现此错误)对我来说仍然是一个谜。

可以是Excel版本吗?我应该忽略警告吗? (打开表时看起来不错)。谢谢!

aq2<-read.csv("hola.csv")

2 个答案:

答案 0 :(得分:0)

这是一条警告消息,因为R的read.table期望最后一行包括行尾字符(或)。这几乎总是不必要的警告。许多程序(包括Excel)都会创建类似的文件。

答案 1 :(得分:0)

您应该仔细阅读错误消息。它说 incomplete final line found by readTableHeader。这指的是 .csv 文件的最后,表明该行不完整,R 无法阅读。那么可能是什么问题呢?如果您有一个 csv(=逗号分隔值)文件,很可能每一行都有特定的格式。检查此格式是否在整个文件中一致应用。一个经常出现在手工收集数据中的问题。如果您使用 tail(aq2)(来自 tidyverse 包)发布数据摘录,我们可以查看最后一行并检查格式以更深入地回答问题。最终,它只是一个 warning,而不是错误消息。不过,了解 warnings 很重要。