计算插槽百分比

时间:2014-10-24 08:55:19

标签: r

示例数据:

0.1,0.22,0.2232,0.4,0.44...1.0,1.0

binwidth设为0.1,然后我有10个广告位:

[0,0.1] has 10 points
[0.1,0.2],has 10 points
[0.2,0.3],has 10 points
[0.3,0.4],has 10 points
[0.4,0.5],has 10 points
[0.5,0.6],has 10 points
[0.6,0.7],has 10 points
[0.7,0.8],has 10 points
[0.8,0.9],has 10 points
[0.9,1],has 10 points

假设总分:100

我想计算每个"插槽的百分比" ...

[0,0.1] , 10/100
...

有一个库可以在R中使用吗?或者如何为自己编写一个函数,因为我需要多次调用它:)

1 个答案:

答案 0 :(得分:0)

我不确定R中是否有这样的内置函数。但是,编写这样的函数并不困难。我的想法是尝试使用向量和标量之间的逻辑运算。这是一个简单的例子

intv <- 0.1;
total <- 10/intv;
slots <- seq(from=0, to=(10-intv), by=intv);
data <- seq(from=0, to=10, by=0.01);
result <- vector();

i <- 1;
for (slot in slots){
    result[i] <- sum(data>slot & data<=(slot+intv));
    i <- i+1;
}

result <- result/total;

在上面,sum(data>slot & data<=(slot+intv))是关键表达。希望它对你有所帮助。