问题标签 [multidplyr]

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 投票
1 回答
638 浏览

r - R:为什么并行会(很多)慢?将并行用于(左)加入大量大文件的最佳策略是什么?

我已经阅读了一些关于这些主题的问题以及一些教程,但未能解决我的问题,所以决定问自己。

我收集了大量类型为 A、B、C 的大文件;在某些情况下,我需要将 B、C 与 A 分开。我在具有 64 个 CPU 和 240GB 的远程服务器上工作,所以我很自然地想同时使用它的电源和处理。我拥有的一个重要知识是,如果 a_i 文件只能与 b_i 成功连接,b_(i+1) 来自 B,对于 C 也是如此。我最初的尝试是为 'a_i' 文件创建一个 'join_i' 函数,然后运行它并行(我有 448 个文件)。然而,没有显着的时间改进,事实上,当我观察性能时——可悲的是,CPU 的负载百分比非常低。据我所知,我认为瓶颈是 IO,尤其是因为所有文件都很大。这是一个有效的假设吗?无论如何,在第二次尝试时,我决定按顺序浏览每个文件,但在每次迭代中使用并行优势。但是,经过多次尝试,我也没有在这里获得任何运气。我试图在下面做一个最小的例子,其中并行要慢得多(实际上在我的真实数据上它冻结了)。这里有什么问题?是代码错误还是对 R 中的并行工作原理有更深的误解?此外,我尝试了一些 multidplyr 和 mclapply,但在这两种情况下也没有运气。我还想指出,读取文件需要的不仅仅是连接本身:在 1 次迭代中读取大约需要 30 秒(我使用 fread,通过 cmd 在其中解压缩),而连接大约需要 10 秒。鉴于此,这里最好的策略是什么?提前致谢!我试图在下面做一个最小的例子,其中并行要慢得多(实际上在我的真实数据上它冻结了)。这里有什么问题?是代码错误还是对 R 中的并行工作原理有更深的误解?此外,我尝试了一些 multidplyr 和 mclapply,但在这两种情况下也没有运气。我还想指出,读取文件需要的不仅仅是连接本身:在 1 次迭代中读取大约需要 30 秒(我使用 fread,通过 cmd 在其中解压缩),而连接大约需要 10 秒。鉴于此,这里最好的策略是什么?提前致谢!我试图在下面做一个最小的例子,其中并行要慢得多(实际上在我的真实数据上它冻结了)。这里有什么问题?是代码错误还是对 R 中的并行工作原理有更深的误解?此外,我尝试了一些 multidplyr 和 mclapply,但在这两种情况下也没有运气。我还想指出,读取文件需要的不仅仅是连接本身:在 1 次迭代中读取大约需要 30 秒(我使用 fread,通过 cmd 在其中解压缩),而连接大约需要 10 秒。鉴于此,这里最好的策略是什么?提前致谢!在 1 次迭代中读取大约需要 30 秒(我使用 fread,通过 cmd 在其中解压缩),而加入大约需要 10 秒。鉴于此,这里最好的策略是什么?提前致谢!在 1 次迭代中读取大约需要 30 秒(我使用 fread,通过 cmd 在其中解压缩),而加入大约需要 10 秒。鉴于此,这里最好的策略是什么?提前致谢!

在我的服务器上,%do% 大约需要 5s,%dopar% 需要超过 1m。请注意,这是为了加入本身,甚至不考虑制作集群的时间。顺便说一句,有人也可以评论我应该有多少个集群吗?比如说,我在 X 个均匀大小的块上划分数据并有 Y 个 CPU 可用——我应该尽可能多地放置 Y,还是 X,或其他数量的集群?

0 投票
1 回答
140 浏览

r - 将不同数据框中的列相乘

我正在编写用于分析一组 dplyr 数据的代码。

这是我的 table_1 的外观:

我的 table_2 看起来像这样:

我很想根据表1列“A”,如果A>6,则在表1中创建列“G”,等于“ C*D+C*E

基本上,这就像将表 2 作为一个因素......

有什么办法可以做到吗?

我可以将过滤器应用于列“A”并将列“C”与设定的数字相乘,而不是 table_2 中的因子

0 投票
1 回答
94 浏览

r - 处理多个 .csv 文件,其中一个的代码,并作为整体输出

我正在使用 R 来总结多个 .CSV 文件中的“A”列,我已经为 1 个 csv 文件准备了代码,无论如何我可以一次处理所有 csv 文件并将其作为一个输出吗?

这是输出的样子

我想要的是

有可能实现吗?

多谢你们

0 投票
1 回答
226 浏览

r - 如何使用 Windows 10 和 R 3.4.4 安装和调用包“multidplyr”

我试图使用 devtools::install_github("hadley/multidplyr")

但是当我使用它时,我得到了错误

0 投票
0 回答
46 浏览

r - 您如何处理分区中的错误?

我正在尝试对我的数据集进行分区,以便将组的所有成员发送到同一个核心,我正在逐字关注在线教程,但似乎存在问题。错误是:分区错误(。,组,集群=集群):未使用的参数(组)

因为我有 16 个核心,每个组都分配了一个 1:16 的数字,这个数字保存在组列中

0 投票
0 回答
231 浏览

r - 有没有办法并行化 tidyr?

我正在使用 Tidyr 完成余额和交易的时间序列,但是由于个人数量的计算需要大量时间。我有 16 个内核,而 R 只使用一个内核有什么方法可以并行化 Tidyr?

我所拥有的只是这个(它由一组进行,以便分别完成每个人的时间序列)

0 投票
1 回答
135 浏览

r - 如何将自定义函数导出到 multidplyr 中的集群?

继问题herehere之后,我正在尝试获取最新版本multidplyr以使用自定义函数。

通过可重现的示例,我尝试过:

但我得到一个Computation failed错误。我尝试了不同的排序和其他一些小的变化,但没有运气。

是否可以将自定义函数导出到最新版本的集群中multidplyr?如果是这样,怎么做?

0 投票
0 回答
56 浏览

r - Rstudio致命错误与multidplyr中的分区

当我尝试对数据进行分区时,我遇到了 Rstudio 不断崩溃的问题。我设法使用在 multidplyr 的小插图中使用的 nycflights13 数据重现了同样的问题。

这有效

但是当我这样做时

它崩溃了,我收到以下消息

R 会话中止

R 遇到致命错误

会话已终止

我正在使用 Rstudio (1.2.5033) 和 R 版本 3.6.2

当我在 R 中运行时,它确实有效。

0 投票
3 回答
673 浏览

r - 根据 r 中的多个标准在数据框中创建一个新变量

我有一个数据集

基于这三列,我需要在同一个表中添加新变量

预期产出

0 投票
1 回答
668 浏览

r - 如何在 R 中使用 multidplyr 和并行连接、分组和汇总大型数据帧

这个问题类似于 R 中数据非常大的其他问题,但我找不到如何合并/加入然后对两个 dfs 执行计算的示例(而不是读取大量数据帧并使用 mclapply 来执行计算)。这里的问题不是加载数据(大约需要 20 分钟,但它们确实会加载),而是合并和汇总。

我已经尝试了所有我能找到的 data.table 方法、不同类型的连接和 ff,但我仍然遇到 vecseq 限制 2^31 行的问题。现在我正在尝试使用 multidplyr 并行执行,但无法弄清楚错误来自哪里。

数据框:species_data # df 约 6500 万行,cols <- c("id","species_id") 查找 #df 约 1700 万行,cols <- c("id","cell_id","rgn_id")并非查找中的所有 id 都出现在 species_data

使用 multidplyr 合并和加入 dfs

这是我第一次尝试并行和大数据,我正在努力诊断错误。

谢谢!