Re: [R] Putting x into the right subset

From: Uwe Ligges <ligges_at_statistik.uni-dortmund.de>
Date: Sat 22 Jul 2006 - 19:45:36 EST

John Wiedenhoeft wrote:

> Dear all,
>
> I'm sorry I have to bother you with this newbie stuff.
>
> Within a loop I obtain pairs of values x <- c(a, b). An empty set M is
> defined before the loop (as a list or whatever). Now I want to do the
> following: if there is a vector y in M that contains at least one of
> the values of x, then x shall be concatenated to y. If y doesn't contain
> any of the values in x, then x shall be put into M as a new vector. I
> first imagined it to be trivial but I'm having a hard time with the
> if-statement. I tried to define a function contains(value, vector),
> which returns FALSE or TRUE, but R complains that I tried to execute a
> "non-function"...
>
> Could anybody help a despaired newbie, please!

Example (maybe not efficient, but should do the trick):

M <- list()
temp <- NA
for(i in 1:20){

     a <- sample(1:10, 1)
     b <- sample(11:20, 1)
     x <- c(a, b)
     if(i > 1)
         temp <- which(sapply(M, function(y) any(x %in% y)))[1]
     if(!is.na(temp))
         M[[temp]] <- c(M[[temp]], x)
     else
         M[[length(M) + 1]] <- x

}

> Thanks a lot,
> John
>
> ______________________________________________
> R-help@stat.math.ethz.ch 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@stat.math.ethz.ch 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. Received on Sat Jul 22 19:44:51 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Sun 23 Jul 2006 - 00:15:49 EST.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.