我有一个大约180 000个小值的向量(但我会扩展它)。
head(UncertaintyData)
[1] 0.95 0.99 0.06 0.02 1.00 1.00
我正在做的很简单,我想知道每个非重叠滑动窗口中值的比例低于某个值:
proportion_above = function(vec)
{
return(sum(vec < 0.1) / length(vec))
}
UncertaintyData=rollapply(UncertaintyDataHaploidI1100, 20000, proportion_above, by=1)
user system elapsed
321.248 0.016 321.322
比计算每个窗口的平均值快100多倍。
UncertaintyData=rollapply(UncertaintyDataHaploidI1100, 20000, mean, by=1)
user system elapsed
2.144 0.032 2.175
为什么proportion_above
这么慢,我怎样才能加快速度呢?
感谢。