R计数频率有效

时间:2014-07-14 19:54:01

标签: r

假设我有一个问题,我有一个名为base的矢量,定义为

bases <- c(1:100000)

我创建了一个名为instances的随机其他向量,随机定义为

instances <- c(12, 367, 442, 551, 1882, 2556, 13222, 13772, 18999, 26000, 29004, 83027)

如何计算有多少实例元素属于基础向量的每个1:1000窗口?

例如,为了澄清我的意思,对于实例的元素(12,367,442和551),1:1000窗口的频率应为4。窗口84001:85000的频率应为零。

我计划有一个更大的基矢量(但从1:n连续),还有一个更大的实例矢量,其中所有实例值都小于n。另外,请保持窗口大小可修改。

任何人都可以提供有效的解决方案吗?

感谢。请原谅我的无知,因为我是R的新手并且还在学习R编程作为高中生。

1 个答案:

答案 0 :(得分:1)

基本上你正在寻找直方图。使用hist功能。

bases <- c(1:100000)
instances <- c(12, 367, 442, 551, 1882, 2556, 13222, 13772, 
               18999, 26000, 29004, 83027)

# plot = 0 prevents plotting 
# breaks are the values at which we want to split our interval 
h <- hist(instances, breaks = seq(0, max(bases), 1000), plot=0) 

现在h$counts将包含每个bin中的计数。