首页 > 解决方案 > AWS - 在 Rstudio 中存储巨型稀疏矩阵的 EC2 包

问题描述

我正在rte用元素创建一个以 R命名的列表350,每个元素都是一个大规模的稀疏矩阵(条目只有0or 1),行 x 列 = 300+ x 320,000+。该代码Amazon Web Server - EC2以实例类型m5.24xlarge运行,运行良好,但Rstudio Server8th iteration.

问题:对我来说,完成所有迭代、成功创建和保存每个矩阵的唯一选择是使用AWS - EC2 上350最强大的实例 ( ) 吗?x1.32xlargehttps://aws.amazon.com/about-aws/whats-new/2016/05/now-available-x1-instances-the-largest-amazon-ec2-memory-optimized-instance-with-2-tb -of-memory/)鉴于我仍然需要为每个保存列表workspace,因为我将对它们中的每一个执行一些代数操作。Rstudiomatrix element

rte_m <- vector("list", length(unique(d_zone_ON$Date)))
inx_big = 0
for(j in unique(d_zone_ON$Date)){
  inx_row <- sum(d_zone_ON$Date== j)
  inx_big <- inx_big+1
  rte_m[[inx_big]] <- data.frame(matrix(0, nrow = inx_row, ncol = inx_row*(inx_row+1)/2))
  lb <- min(which(d_zone_ON$Date == j)) 
  ub <- max(which(d_zone_ON$Date == j)) 
  for(i in lb:ub){
    if(i==lb){
       rte_m[[inx_big]][1,1:(ub-lb)] = 1; 
    }
    else if(i<ub && i> lb){
      rte_m[[inx_big]][i-lb+1, ((i-lb)*(ub-lb)-(i-lb+1)*(i-lb-2)/2):((i-lb+1)*(ub-lb)-(i-lb+1)*(i-lb)/2)] = 1; 
    } else {rte_m[[inx_big]][ub-lb+1, ] = 0} 
  }
}

链接到数据框 d_zone_ON

标签: ramazon-ec2rstudio-server

解决方案


推荐阅读