为什么 plyr 的 join_all 函数会导致 r 崩溃?
Why plyr's join_all function causes r to crash?
我想使用 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 分钟的时间;因此,如果您或多或少确定,请提供答案。谢谢
如果事情早些时候运行正常并突然崩溃,最好检查数据集。使用连接时,某些数据集的键列可能有重复项,这可能会触发笛卡尔连接而不是 left
连接,从而造成内存问题。
使用 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"))
我想使用 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 分钟的时间;因此,如果您或多或少确定,请提供答案。谢谢
如果事情早些时候运行正常并突然崩溃,最好检查数据集。使用连接时,某些数据集的键列可能有重复项,这可能会触发笛卡尔连接而不是 left
连接,从而造成内存问题。
使用 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"))