Search code examples
rr-factor

Generate table with proportions of success vs failure


I want to calculate the error rate by interval where 0 is good and 1 is bad. If I have a sample of 100 observation as levels divided in intervals as follows:

X <- 10; q<-sample(c(0,1), replace=TRUE, size=X)
l <- sample(c(1:100),replace=T,size=10)

bornes<-seq(min(l),max(l),5)
v <- cut(l,breaks=bornes,include.lowest=T)
table(v)

How can I get a table or function that calculates the default rate by each interval, the number of bad observations divided by the total number of observations?

tx_erreur<-function(x){
    t<-table(x,q)
    return(sum(t[,2])/sum(t))
}

I already tried this code above and tapply. Thank you!


Solution

  • I think you want this:

    tapply(q,# the variable to be summarized
           v,# the variable that defines the bins
           function(x) # the function to calculate the summary statistics within each bin
               sum(x)/length(x))