Know that if I have List_1 and List_2 that I can check to see if the intersect via the code below: List _1: a, b, c, d, e, f, g List_2: z, y, x, w, v, u, b length(intersect(List_1, List_2)) > 0 return = true If instead I wanted to check a dataframe that is a "list of lists," how would I do that by record without looping? List _1: a, b, c, d, e, f, g List_2: z, y, x, w, v, u, b y, z, w, v, v, u, m z, y, x, a, b, c . . . return true false true , , , -- View this message in context: http://r.789695.n4.nabble.com/Intersecting-list-vs-rows-in-matrix-tp2320427p2320427.html Sent from the R help mailing list archive at Nabble.com.
GL wrote:> Know that if I have List_1 and List_2 that I can check to see if the > intersect via the code below: > > List _1: > a, b, c, d, e, f, g > List_2: > z, y, x, w, v, u, b > length(intersect(List_1, List_2)) > 0 > return = true > > If instead I wanted to check a dataframe that is a "list of lists," how > would I do that by record without looping? > > List _1: > a, b, c, d, e, f, g > > List_2: > z, y, x, w, v, u, b > y, z, w, v, v, u, m > z, y, x, a, b, c > . > . > . > > return > true > false > true*Please* use actual R code and objects to represent your examples, not pseudo-code! I believe you may have some confusion about the difference between lists and vectors in R. A data.frame is a list, but not a "list of lists". Since you haven't given a reproducible example, it's hard for me to know exactly what you want. Assume a data.frame df1 composed of all character data, and a character vector cv to match against. apply(df1, 1, function(x) length(intersect(x, cv)) > 0) may do what you want.
Hi GL, Erik has given a data.frame solution. If you data is a list with unequal lengths, try lapply. ----- A R learner. -- View this message in context: http://r.789695.n4.nabble.com/Intersecting-list-vs-rows-in-matrix-tp2320427p2320463.html Sent from the R help mailing list archive at Nabble.com.
Try this: colSums(apply(List_2, 1, is.element, List_1)) > 0 On Tue, Aug 10, 2010 at 5:42 PM, GL <pflugg@shands.ufl.edu> wrote:> > Know that if I have List_1 and List_2 that I can check to see if the > intersect via the code below: > > List _1: > a, b, c, d, e, f, g > List_2: > z, y, x, w, v, u, b > length(intersect(List_1, List_2)) > 0 > return = true > > If instead I wanted to check a dataframe that is a "list of lists," how > would I do that by record without looping? > > List _1: > a, b, c, d, e, f, g > > List_2: > z, y, x, w, v, u, b > y, z, w, v, v, u, m > z, y, x, a, b, c > . > . > . > > return > true > false > true > , > , > , > > -- > View this message in context: > http://r.789695.n4.nabble.com/Intersecting-list-vs-rows-in-matrix-tp2320427p2320427.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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. >-- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O [[alternative HTML version deleted]]