2

我有一个数据集,它是一个大字符向量(1,024,459 个元素),由基因 ID 组成。看起来像:

> length(allres)
[1] 1024459
>allres[1:10]  
[1] "1"   "1"   "1"   "1"   "1"   "1"   "1"   "10"  "10"  "100"  

其中每个基因 ID 重复它在 RNA seq 运行中看到的次数(所以在这里,基因“1”有 7 个读数,基因“10”有 2 个读数)。我想以 10,000 个读取间隔绘制每个读取次数识别的基因数量,以便我可以看到如果我随机采样 10,000 个读取、20,000、30,0000 等,我可以看到有多少基因被识别出来。我制作了一个间距向量seq() 函数如下:

> gaps <- seq(10000, length(allres), by=10000)  

但我不确定如何将其应用于我的 allres 矢量并绘制它。非常感谢任何帮助。

4

1 回答 1

1

所以,你可能想要的是这样的:

gaps <- seq(10000, length(allres), by = 10000)

lapply(gaps, function(x){

    #This will give you the number of appearances of each value, within
    #an gaps[x]-sized sample of allres
    aggregated_sample <- table(sample(allres, size = x))

    #plotting code for sample goes here. And "x" is the number of reads so
    #you can even use it in the title!
    #Just remember to include code to save it to disc, if you want to save it to disc.
    return(TRUE)

})

如果您使用 ggplot2 进行绘图,当然,您甚至可以将绘图保存为一个对象,然后 return(plot) 而不是 return(TRUE) 并在之后进行进一步的调整/调查。

于 2014-12-22T02:38:19.193 回答