创建子数据集并将其并行传递给集群

时间:2013-06-28 18:31:31

标签: r parallel-processing

我有600行和58000的数据集;这是我需要做的:

  1. 将数据集分为三个部分,即25%,50%和75%的最大缺失值(我将其称之为(ai)。
  2. 每个ai需要根据次要等位基因频率进行划分(0,0.05,0.01,0.1) “对于次要等位基因频率的定义,请参见附录”MAF“。
  3. 对于所有组合(3 * 4),我们需要使用三种方法估计缺失值,然后对所有组合应用特定模型(3 * 4 * 3)。
  4. 现在我们有36个数据集。 我的一所大学建议我们可以为超级计算机(大学集群 - Linux)上的所有组合创建36个目录,然后分别处理每个数据,最后将结果组合起来。谁知道怎么做?我附加数据集和简单的R代码可能会让我的问题有点清楚! 预先感谢您的帮助。

       MAF<-function(geno){        ## markers are in the rows
     geno[(geno!=0) & (geno!=1) & (geno!=-1)] <- NA
     geno <- as.matrix(geno)
     ## calc_Freq for alleles
     n0 <- apply(geno==0,1,sum,na.rm=T)
     n1 <- apply(geno==1,1,sum,na.rm=T)
     n2 <- apply(geno==-1,1,sum,na.rm=T)
     n <- n0 + n1 + n2
     ## calculate allele frequencies
     p <- ((2*n0)+n1)/(2*n)
     q <- 1 - p
     maf  <- pmin(p, q)
     frq.index <- maf<=.95 & maf>=.05 ## keep minor allele frequency larger than 0.05
     geno_maf <- geno[frq.index,]
     geno_maf
     }  
    

0 个答案:

没有答案