如何在 r 中修复:readtableheader 找到的最后一行不完整
您在 R 中可能遇到的警告是:
Warning message: In read.table(file = file, header = header, sep = sep, quote = quote, : incomplete final line found by readTableHeader on 'my_data.csv'
当您尝试在 R 中读取 CSV 文件但文件的最后一行不为空时,会出现此警告。
需要注意的是,这只是一条警告消息,而不是错误。即使出现此消息,您的文件仍会导入到 R 中。
本教程解释了如何完全避免此警告。
如何重现警告
假设我有以下名为my_data.csv的 CSV 文件,我想将其导入到 R 中:
现在假设我尝试使用以下代码将此 CSV 文件导入到 R 中:
#import CSV file
df <- read. csv (' my_data.csv ')
Warning message:
In read.table(file = file, header = header, sep = sep, quote = quote, :
incomplete final line found by readTableHeader on 'my_data.csv'
我收到一条警告消息,因为 CSV 文件的最后一行不为空。
但是,文件仍然导入成功:
#view imported data frame
df
team points assists
1 to 20 5
2 B 15 3
3 C 19 9
4 D 20 3.
方法一:如何避免警告
避免此警告的一种方法是简单地将read.csv()函数放入suggestWarnings()函数中:
#import CSV file and remove any warnings
df <- suppressWarnings( read.csv (' my_data.csv '))
#view data frame
df
team points assists
1 to 20 5
2 B 15 3
3 C 19 9
4 D 20 3
这次我们可以导入 CSV 文件而不会出现任何警告。
这种方式的优点是我们不需要直接修改文件。
这种方法的缺点是,如果在导入文件时需要注意更严重的警告,我们将无法看到它们。
方法2:如何避免警告
避免此警告的另一种方法是直接编辑 CSV 文件。
具体来说,我们可以转到文件的最后一行,然后按 Enter 键在文件末尾创建一个新的空行:
现在,当我们导入 CSV 文件时,我们不会收到任何警告:
#import CSV file
df <- read. csv (' my_data.csv ')
#view data frame
df
team points assists
1 to 20 5
2 B 15 3
3 C 19 9
4 D 20 3
这种方法的优点是我们在导入文件时仍然能够看到其他警告。
这种方法的缺点是我们必须直接修改文件,而不仅仅是使用编程解决方案。
其他资源
以下教程解释了如何在 R 中执行其他常见操作:
如何在 R 中使用 readLines() 函数
如何将 CSV 文件导入到 R 中
如何在 R 中使用 read.table