簡體   English   中英

為什么 plyr 的 join_all function 會導致 r 崩潰?

[英]Why plyr's join_all function causes r to crash?

我想通過使用 plyr 的 join_all function 來加入多個數據幀。 我的數據框每個包含三列,並且它們都具有相同數量的行。 當我運行代碼時,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 的 function join_all 發生沖突?

我非常害怕再次運行該代碼,因為它浪費了我大約 30 分鍾的時間; 因此,如果您或多或少確定,請提供答案。 謝謝。

如果事情早些時候工作並突然崩潰,最好檢查數據集。 使用連接時,某些數據集的鍵列可能會重復,這可能會觸發笛卡爾連接而不是left連接,從而產生 memory 問題。


使用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"))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM