【发布时间】:2020-06-08 00:32:12
【问题描述】:
我经常使用逗号分隔值,并对read_csv() 和read.csv() 之间的区别感到好奇。
是否有任何实际差异可以阐明两者的情境用法?
【问题讨论】:
我经常使用逗号分隔值,并对read_csv() 和read.csv() 之间的区别感到好奇。
是否有任何实际差异可以阐明两者的情境用法?
【问题讨论】:
【讨论】:
11.2.1 与基础 R 相比
如果您以前使用过 R,您可能想知道为什么我们不使用 read.csv()。有几个充分的理由支持 readr 函数而不是基本等效函数:
它们通常比基本的同类产品快得多(~10 倍)。长时间运行的作业有一个进度条,因此您可以看到正在发生的事情。如果您正在寻找原始速度,请尝试data.table::fread()。它不太适合 tidyverse,但它可以更快一些。
它们产生 tibbles,它们不将字符向量转换为因子*,使用行名或 munge 列名。这些是对基本 R 函数感到沮丧的常见原因。
它们的重现性更高。基本 R 函数从您的操作系统和环境变量中继承某些行为,因此在您的计算机上工作的导入代码可能不适用于其他人。
*注意来自R 4.0.0
R [...] 使用
stringsAsFactors = FALSE默认值,因此默认情况下不再将字符串转换为调用data.frame()和read.table()的因子。
【讨论】: