r - 为什么plyr的join_all函数会导致r崩溃?

标签 r plyr

我想使用 plyr 的 join_all 函数连接多个数据帧。我的数据框每个由三列组成,并且它们都具有相同的行数。当我运行代码时, r 无法完成其工作;整个计算机滞后,我必须重新启动它。

这是我使用过的代码:

library(plyr)

merge_corp_inv_count_noavg <- join_all(list(canada,china,france,germany,india,italy,japan,russia,saudiarabia,
                                      spain,turkey,unitedkingdom,unitedstates),
                                 by = c("date", "target_nation"), type='left')

我过去使用过这段代码并且它有效,尽管当时数据框包含更多列。尽管如此,它现在不起作用仍然令人困惑。

有什么想法会导致 r 崩溃吗?

这是我已加载的包的列表:

library(tidyverse)
library(readxl)
library(tm)
library(tidyr)
library(data.table)
library(convertr)
library(dplyr)
library(stringr)
library(zoo)
library(runner)
library(ggplot2)

也许其中任何一个与 plyr 的函数 join_all 冲突?

我非常害怕再次运行该代码,因为它浪费了我大约 30 分钟的时间;因此,如果您或多或少确定,请提供答案。谢谢。

最佳答案

如果事情早些时候运行并突然崩溃,最好检查数据集。使用连接时,某些数据集可能会出现重复的关键列,这可能会触发笛卡尔连接而不是连接,从而产生内存问题。


使用tidyverse的选项是

library(dplyr)
library(purrr)
list(canada, china, france, germany, india, italy, japan, russia, saudiarabia,
                                  spain, turkey, unitedkingdom, unitedstates) %>%
   reduce(left_join, by = c("date", "target_nation"))

关于r - 为什么plyr的join_all函数会导致r崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67560876/

相关文章:

按位置重命名 R 中的一组列

r - 使用现有数据和概率模拟数据

r - 在 R 中按排名和条件提取行

r - 提取行名称的一部分以在 R 数据框中创建新列

r - gsub 名字 姓氏 改为 FL

根据多个条件替换 data.frame 上的值

r - Demean R 数据框

r - 从 ddply 函数中获取分组术语?

r - 在 R 中替代 dlply

R plyr 应用于行