Hi, Is there a simple package to manage sets of general objects, and perform simple operations like: - union - intersection - difference - test for membership... but where the equality test between 2 objects is under the control of the programmer?
In the base package, it seems only operations on vectors are allowed. And I tried also the sets package, with the cset class, but I did not manage to make it work: for example, if I want to manage sets of lists, where equality is predicated on only one element (named id) of the list, defining a: obj.equal.p <- function(x,y){ x$id == y$id } and then FUN <- matchfun(obj.equal.p) and then: obj1 <- list(id=1,info="toto1") obj2 <- list(id=2,info="toto2") obj3 <- list(id=3,info="toto3") cs <- cset(set(obj1,obj2,obj3), matchfun = FUN) obj4 <- list(id=1,info="toto4") (yes, id=1) obj4 %e% cs returns a FALSE instead of the TRUE I was expecting since obj4$id == obj1$id. Thanks for your help Johnny [[alternative HTML version deleted]] ______________________________________________ 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.