问题标签 [readr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
155 浏览

r - 使用 readr cols_only 选择特定列

我正在使用一个没有列标题的 delim 文件。有 45 列,但我只想要前 26 列。在处理多个未命名的列时,我不太清楚 cols_only 的正确语法。给定我下面的代码,cols_only 去哪里了?

0 投票
3 回答
6907 浏览

r - 从 read_csv() 中删除空列

我正在尝试使用readr 包读取此处read_csv()链接的 csv 文件,然后删除空列。

如果我read.csv()改为使用,则可以使用 8:12 轻松删除空列

但是,当我使用该函数读取 csv 文件时read_csv(),相同的代码会出错;

如何删除这些空列?

正确命名空列似乎没有意义,以便我可以删除它们。我更愿意使用,read_csv()而不是read.csv()因为它使以后的分析工作更轻松。

0 投票
1 回答
4077 浏览

r - readr - 在 CSV 中导入日期列

我需要关于如何readr通过输入我自己的日期格式来导入数据的建议我正在尝试的方式是:

但它给了我错误

" col_date 中的错误("02/03/2015", "%d/%m/%Y"): 未使用的参数 ("%d/%m/%Y")

当我使用它测试单个输入时,parse_date("02/03/2015", "%d/%m/%Y")它会给我想要的结果

如果有人能帮助我,我真的很感激,在过去的几天里一直被困在这个问题上。

0 投票
1 回答
649 浏览

r - 如何让 readr 处理引用的 NA 值?

运行此产生:

实际上,这些"N/A"值最终为NA,但是有没有更优雅的方法来处理这个?例如,这运行没有问题,说明了所需的行为。

0 投票
1 回答
365 浏览

r - 解压缩文件时 read_fwf 不工作

我想将几个固定宽度格式的 txt 文件读入 R,但我首先需要将它们解压缩。

由于它们是非常大的文件,我想read_fwfreadr包中使用它,因为它非常快。

当我做:

read_fwf(unz(zipfileName, fileName), fwf_widths(colWidths, col_names = colNames))

我收到这个错误Error in isOpen(con) : invalid connection

但是,当我这样做时:

read.table(unz(zipfileName, fileName))没有指定宽度,它读起来R就很好。关于为什么这不起作用的任何想法read_fwf

我无法制作可重现的示例。这是我得到的:

0 投票
1 回答
142 浏览

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

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

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

任何帮助操作系统表示赞赏。

0 投票
1 回答
1394 浏览

r - R readr::read_fwf 使用 fwf_widths 忽略字符

我想知道是否有一种简单的方法可以使用 R 中 readr 包中的 read_fwf 跳过字符。

例如,修改文档中的示例之一

抛出错误:

但是,使用基本的 read.fwf 函数可以正常工作:

有没有办法可以模仿这种行为readr::read_fwf?(我主要是出于性能原因感兴趣)。

0 投票
0 回答
61 浏览

r - 使用 readr 包在 R 中读取固定宽度的文本文件时跳过变量

由于文件宽度固定,我正在使用readr包读取 R 中的一些文本文件,但在某些文件上我得到了cannot allocate vector of size.... 我假设有些文件太大了,但我实际上并不需要其中的所有信息,只需要几个变量。

这就是我现在用来读取完整文件的方法

这些是 21 个变量,但我可能只需要其中的 10 个。当然,它们在文本文件中并不相邻,但我确实知道它们在文件中的确切位置。有没有办法让我可以读取我想要的变量并忽略其他变量以节省内存?

谢谢!

0 投票
2 回答
6571 浏览

r - R:如何读取带有 data.table::fread 的 CSV 文件,其中逗号为小数点,点为千位分隔符 =“。”

我得到了几个 CSV 文件,其中包含本地德语风格的数字,即以逗号作为小数分隔符,将点作为千位分隔符,例如 10.380,45。CSV 文件中的值用“;”分隔。这些文件还包含来自字符、日期、日期和时间以及逻辑类的列。

read.table 函数的问题在于,您可以使用 dec="," 指定小数点分隔符,但不能指定千点分隔符。(如果我错了,请纠正我)

我知道预处理是一种解决方法,但我想以某种方式编写我的代码,其他人可以在没有我的情况下使用它。

通过设置我自己的类,我找到了一种使用 read.csv2 以我想要的方式读取 CSV 文件的方法,如以下示例所示。基于最优雅的方式来加载 csv,点为 R 中的千位分隔符

我现在的问题是,不同的数据集最多有 200 列和 350000 行。使用上面的解决方案,我需要 40 到 60 秒来加载一个 CSV 文件,我想加快速度。

通过我的研究,我fread()data.table包装中发现,这真的很快。加载 CSV 文件大约需要 3 到 5 秒。

不幸的是,也无法指定千位分隔符。因此,我尝试将我的解决方案与 colClasses 一起使用,但似乎存在一个问题,即您不能将单个类与 fread https://github.com/Rdatatable/data.table/issues/491一起使用

另请参阅我的以下测试代码:

所以我的问题是:有没有办法用 fread 读取数值为 10.380,45 的 CSV 文件?

(或者:读取具有此类数值的 CSV 的最快方法是什么?)

0 投票
0 回答
305 浏览

r - 将 csv 导入到 r 时处理特殊字符

我无法将 csv(分号分隔)导入 R。问题是某些列包含带有特殊字符(如分号)的文本,导致某些行中的列数不相等。

特殊字符被配额包围,例如“;”。该文件为 2.3 GB。我可以在 Excel 中正确打开这个文件(至少是其中的一部分)。

我尝试了 readr、data.table、basic R 并失败了。

我可以在 Notepad++ 中做到这一点,但更喜欢 R。