On 18-09-2013, at 14:43, ioanna ioannou <ii54...@msn.com> wrote:

> Hello all, 
> 
> A very simple problem. 
> 
> Lets assume I  have an interval [0,1] and I split it in 6 bins having
> thresholds:
> pro= cbind(0, 0.3675509, 0.8618615, 0.9814291, 0.9975283, 0.9997789,
> 1.0000000,
>           0, 0.3662881, 0.8609743, 0.9812032, 0.9974822, 0.9997738,
> 1.0000000)
> 
> dim(pro)<-c(7,2)
> 
> I randomly generate a number and I want to identify which bin it belongs
> to. How? What I provide below doesn't seem to be working. 

"Doesn't seem to be working" is pretty vague.
It either works or it doesn't.
What are you seeing? An error message (I got one)? Wrong result?

> Any ideas?
> 

Yes.
In the expression "j in 1:length(pro[,i])-1" the 1 is subtracted from the left 
and righthand side of :.
The expression should read: j in 1:(length(pro[,i])-1)


> for (i in 1:2){
>    ids<-runif(1)
>  for (j in 1:length(pro[,i])-1){
>    if (ids < pro[j,i]) {
>      ds[i]<-j

You need to break after this.
>    }
>    else {
>      ds[i]<-6
>    } 
>  }
> }
> 

Alternative to Jim's suggestion is: have a look at findInterval.

Berend

> Best, 
> IOanna
> 
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to