R 中 read.csv() 和 read.csv2() 之间的区别
Posted
技术标签:
【中文标题】R 中 read.csv() 和 read.csv2() 之间的区别【英文标题】:Difference between read.csv() and read.csv2() in R 【发布时间】:2014-05-23 02:24:32 【问题描述】:在 R 中,read.csv() 和 read.csv2() 有什么区别
官方文档说,
在各种欧洲语言环境中,逗号字符用作 小数点,应使用函数 read.csv2 代替
这是什么意思。我在表面上看不出有什么不同。任何人都可以给出一个具体的例子来进一步澄清它。
【问题讨论】:
我问这个问题的原因是我不知道该用哪一个 这取决于。查看您尝试读取的文件,这些值是如何分隔的? 【参考方案1】:它们(几乎)是相同的功能 - 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, ...)
<bytecode: 0x5e3fa88>
<environment: namespace:utils>
> read.csv2
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, ...)
<bytecode: 0x5c0a330>
<environment: namespace:utils>
来自文档(参见?read.table
):
read.csv
和 read.csv2
与 read.table
相同,但默认值除外。它们用于读取“逗号分隔值”文件 (‘.csv’) 或 (read.csv2) 在使用逗号作为小数点和分号作为字段分隔符的国家/地区使用的变体。
【讨论】:
谢谢,这很有帮助。到目前为止我没有看源代码。 逗号既可以是字段分隔符sep = ","
,也可以是十进制分隔符dec = ","
。但是当然这些字段会被 csv 读写器引用。无论如何,这样的文件仍然是“真实的”csv(逗号分隔)。以上是关于R 中 read.csv() 和 read.csv2() 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章
R数据导入导出: read.table()和read.csv()的区别
如何在 R 中的 read.csv(或其他读取函数)中“关闭”科学记数法?
R语言data.table导入数据实战:fread函数和read.csv函数时间效率对比