1

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

  1. 将数据集分成三个部分,即 25%、50% 和 75% 的最大缺失值(我称之为 (ai)。
  2. 每个ai需要根据次要等位基因频率(0、0.05、0.01、0.1)进行划分“次要等位基因频率的定义见附件代码“MAF”。
  3. 对于所有组合 (3*4),我们需要使用三种方法估计缺失值,然后对所有组合 (3*4*3) 应用特定模型。

现在我们有 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
 }  
4

0 回答 0