R:计算相同类型的至少X个样本中超过阈值的条目数?

时间:2013-07-30 08:13:18

标签: r count threshold subset

我想在相同类型(列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

任何人都可以帮助我吗?

0 个答案:

没有答案