在
readr
包中,是否可以读取数据并在所有列中指定单个数据类型?类似于使用colClasses = "character"
或as.is
参数的base::read.table
。除非任务、数据头、文件编码等在分析之前得到了明确定义,否则我更喜欢编写我的加载器而不改变数据类型,然后在下游处理模式后处理模式。对于其他人如何考虑这些问题,我总是乐于听取建议。
nmax = 1
读取一行以获取列数,然后使用col_types = paste(rep("c", ncol), collapse = "")
(表示“字符”)读取整个内容。 - Gregor Thomasread.table
中的colClasses
相同的能力来回收列规范是相当合理的。我没有看到一种简洁、直接的方法来实现它,但我认为这将是在 GitHub 上提出一个很好的功能请求。 - jorancolumn_types
,因为它们将从输入的前30行中推断出来。有关详细信息,请查看?read_table
如果您确实想要在所有列中指定单个数据类型,则Gregor的答案非常好。 - rafa.pereira