Error: std::bad_alloc Rstudio

Error: std::bad_alloc Rstudio

本文关键字:alloc Rstudio bad std Error      更新时间:2023-10-16

运行此代码后:

t1 <-Sys.time()
df.m <- left_join(df.h,daRta3,by=c("year","month","MA","day"))
t2 <- Sys.time()
difftime(t2,t1)

我有这个错误。

错误:std::bad_alloc

我尝试创建的矩阵的维度是74495*2695 = 180.10^6行。

我运行代码的计算机有20 GB的RAM

我尝试了memory.limit(),但它并没有解决我的问题。

  1. 检查连接密钥的基数

    • c("year","month","MA","day")df.hdaRta3中都是唯一的吗
    • 最常见的值是什么
  2. CCD_ 6值。left_join可以将NA的值视为相等或不同:

    > tibble(x = c(NA, NA, NA)) %>% left_join(., ., by = 'x')
    # A tibble: 9 x 1
      x    
      <lgl>
    1 NA   
    2 NA   
    3 NA   
    4 NA   
    5 NA   
    6 NA   
    7 NA   
    8 NA   
    9 NA   
    > tibble(x = c(NA, NA, NA)) %>% left_join(., ., by = 'x', na_matches = 'never')
    # A tibble: 3 x 1
      x    
      <lgl>
    1 NA   
    2 NA   
    3 NA
    
  3. 如果c("year","month","MA","day")中的顺序和值可以保证相同,那么简单的cbindbind_cols可能是有效的解决方案