在 r 中使用 readr 读取文件时的大整数

Posted

技术标签:

【中文标题】在 r 中使用 readr 读取文件时的大整数【英文标题】:big integers when reading file with readr in r 【发布时间】:2016-08-11 11:10:12 【问题描述】:

我想使用readr 包,因为我将来会处理一些更大的文件。我的问题是,有一个名为Intensity 的列有一些非常大的值(例如5493500000)。我的问题是,第一次出现这个大值是在第 2200 行,readr 已经将该列定义为integer 而不是numeric,并产生缓冲区溢出。

有没有办法只为read_tsv 函数提供一个列类型,因为我不想为所有(大约)40 列提供正确的类型。

感谢任何帮助。

【问题讨论】:

【参考方案1】:

您需要参数col_types = cols(Intensity = col_double()),根据手册,这将防止基于前 1000 行的列类型插补。如果您只想要列的子集,请使用cols_only

【讨论】:

我的语法不正确,想知道我现在是否需要为每列提供正确的数据类型。没有得到我也可以覆盖单一类型!坦克就解决了我的问题。

以上是关于在 r 中使用 readr 读取文件时的大整数的主要内容,如果未能解决你的问题,请参考以下文章

使用 readr 读取文本文件,其中引号结束行

readr - 不读取缺少标题的列

R语言中常用包

使用标题中带有数字符号的变量读取 csv 问题 [r]

Read.Table 与 Readr 包中的 Read_Table - Readr 添加的额外列

R语言导入读取网络CSV数据(Read a CSV from a URL)实战:R原生read_csvreadr包data.table