如何解决为什么plyr的join_all函数导致r崩溃?
我想使用 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 分钟的时间;因此,如果您或多或少确定,请提供答案。谢谢。
解决方法
如果事情更早一些,突然崩溃了,最好检查一下数据集。使用 join 时,某些数据集的键列可能会重复,这可能会触发笛卡尔连接而不是 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"))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。