gpt4 book ai didi

r - read.csv与read.table

转载 作者:行者123 更新时间:2023-12-03 13:44:14 24 4
gpt4 key购买 nike

我在几种情况下看到,虽然read.table()无法读取制表符分隔的文件(例如,微阵列的注释表),但返回以下错误:

Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  : 
line xxx did not have yyy elements
read.csv()可以完美地在同一个文件上运行,没有错误。我认为 read.csv()的速度也比 read.table()高。

甚至更多: read.table()在读取我的文件时非常疯狂。在读取第100行时会出现此错误,但是当我在同一文件的开头之后复制并粘贴第90至110行时,仍然会出现第100 + 21行的错误(在开头复制新行)。如果该行有任何问题,为什么在开始读取粘贴的行时不报告该错误?我确认 read.csv()读取相同文件没有错误。

您是否知道 read.table()为什么无法读取 read.csv()可以处理的文件?在任何情况下,是否有任何理由使用 read.table()

最佳答案

read.csvread.table的相当薄的包装器;如果您无法通过为read.csv提供正确的参数来完全复制read.table的行为,我会感到非常惊讶。但是,其中一些参数(例如引号或注释字符的处理方式)可以很好地改变函数的速度和行为。

特别是,这是read.csv的完整定义:

function (file, header = TRUE, sep = ",", quote = "\"", dec = ".", 
fill = TRUE, comment.char = "", ...) {
read.table(file = file, header = header, sep = sep, quote = quote,
dec = dec, fill = fill, comment.char = comment.char, ...)
}

如前所述,它只是带有一组特定选项的 read.table

就像@Chase在下面的注释中指出的那样, read.table()的帮助页面在 Details下也是如此:

read.csv and read.csv2 are identical to read.table except for the defaults. They are intended for reading ‘comma separated value’ files (‘.csv’) or (read.csv2) the variant used in countries that use a comma as decimal point and a semicolon as field separator.

关于r - read.csv与read.table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12828438/

24 4 0