【发布时间】:2016-07-18 12:58:55
【问题描述】:
我正在寻找 R 的 hist(x, breaks=XXX, plot=FALSE)$count 函数的更快替代方案,因为我不需要生成的任何其他输出(因为我想在 sapply 调用中使用它,需要 100 万次迭代将在其中调用此函数),例如
x = runif(100000000, 2.5, 2.6)
bincounts = hist(x, breaks=seq(0,3,length.out=100), plot=FALSE)$count
有什么想法吗?
【问题讨论】:
-
也许可以查看
hist.default的代码并扔掉不需要的部分?例如,是否存在无限数?hist进行检查。 -
好吧,调用 .Call(C_BinCount, x,fuzzybreaks, right, include.lowest) 似乎很容易——从任何常规脚本中调用它的最佳方法是什么?我只有有限的值。
-
在每次迭代中,您是创建一个新的
x还是使用相同的x?如果x在您的sapply期间相同,请考虑在开始时使用sort,因为它通常会减少hist/findInterval中的任何一个的计算时间 -
哈哈,这都是不同的向量!