我有 600 行和 58000 行的数据集;这是我需要做的:
- 将数据集分成三个部分,即 25%、50% 和 75% 的最大缺失值(我称之为 (ai)。
- 每个ai需要根据次要等位基因频率(0、0.05、0.01、0.1)进行划分“次要等位基因频率的定义见附件代码“MAF”。
- 对于所有组合 (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
}