[R] The "Sets" package and element equality test

David Meyer meyerd at technikum-wien.at
Sat Oct 8 15:40:47 CEST 2011


Dear Johnny,

this is a bug in the hashing-code of sets. Use:


sets_options("hash", FALSE)
lset <- cset(s, matchfun = matchfun(match.2.list))

which will work.

Thanks for pointing this out!

David

----------------

Hi,

I tried to use the sets package yesterday, which seems to be a very 
powerful
package: thanks to the developers. I wanted to define sets of lists where 2
lists are considered equal if they have the same length.
So, I implemented:

match.2.list <- function(l1,l2){
   length(l1)==length(l2)
}

and then defined my cset as:

s <- set(list(1,2),list(3,4))
lset <- cset(s,matchfun(match.2.list))

so if I now do:
y <- list(3,4)
y %e% lset

I get the correct answer, which is TRUE.

But if I do:
x <- list(1,8)
x %e% lset

I now get FALSE, even though x is a list of length 2, and should thus match
any of the 2 lists in lset.

I must be doing something wrong; I checked with the doc, but I don't
understand.

-- 
Priv.-Doz. Dr. David Meyer
Institut für Wirtschaftsinformatik

Fachhochschule Technikum Wien
Höchstädtplatz 5, 1200 Wien
T: +43 1 333 40 77-394
F: +43 1 333 40 77-99 394
E: david.meyer at technikum-wien.at
I: www.technikum-wien.at



More information about the R-help mailing list