我想在相同类型(列ID)的至少X个样本中计算超过阈值的行条目数?以下是我想要做的一个例子:
在至少2个相同类型的品种中计算高于5的基因数(g1-g4)。
Cultivar A A B B B
g1 5 2 6 7 10
g2 6 9 3 2 1
g3 2 1 3 4 5
g4 4 6 7 3 2
计数必须导致计数g1,g2,而不是g3和g4。 结果= 2。 我知道如何计算两个随机样本中的基因数量,并对该过程进行随机化和二次抽样:
#Filter for genes with values larger than 5 reads in at least 2 random samples
# Replace values >5 to 1
Gene_counts1=ifelse(RAW_gene_counts>5,1,0)
# Number of randomizations 100
MATRIX = matrix(NA,100,length(SAMPLE))
x=1
SAMPLE = c(10,20,30,40,50,60)
for(i in SAMPLE){
for (j in 1:100){
columns = sample(1:ncol(Gene_counts1), i, replace = TRUE)
random_sample = mapply(function(row,col)return(Gene_counts1[row,col]), col=columns)
MATRIX[j,x] = sum(rowSums(random_sample)>=2)
}
x=x+1
}
MATRIX
colnames(MATRIX)=SAMPLE
任何人都可以帮助我吗?