Dear All, here an example temp <- list(set1=c("a","b","d","x"), set2=c("b","c","q","m"), set3=c("b","f","e","k","q","h")) preserve only the first one string>tempset1 a b d x set2 c q m set3 f e k h OR remove repeated string>tempset1 a d x set2 c m set3 f e k h Thanks [[alternative HTML version deleted]]
Hi, Here is one for removing repeated strings.> temp$set1 [1] "a" "b" "d" "x" $set2 [1] "b" "c" "q" "m" $set3 [1] "b" "f" "e" "k" "q" "h"> sapply(1:3,function(x){temp[[x]][as.numeric(table(unlist(temp))[temp[[x]]])==1]})[[1]] [1] "a" "d" "x" [[2]] [1] "c" "m" [[3]] [1] "f" "e" "k" "h" -- View this message in context: http://r.789695.n4.nabble.com/remove-repeated-string-in-list-tp4704166p4704189.html Sent from the R help mailing list archive at Nabble.com.
Hi, To avoid hardcoded 1:3, here is some revision.> temp$set1 [1] "a" "b" "d" "x" $set2 [1] "b" "c" "q" "m" $set3 [1] "b" "f" "e" "k" "q" "h"> sapply(1:*length(temp)*,function(x){temp[[x]][as.numeric(table(unlist(temp))[temp[[x]]])==1]})[[1]] [1] "a" "d" "x" [[2]] [1] "c" "m" [[3]] [1] "f" "e" "k" "h" -- View this message in context: http://r.789695.n4.nabble.com/remove-repeated-string-in-list-tp4704166p4704190.html Sent from the R help mailing list archive at Nabble.com.
Hi, Here is one for preserving the first strings. as.numeric in the previous posting is not necessary.> temp$set1 [1] "a" "b" "d" "x" $set2 [1] "b" "c" "q" "m" $set3 [1] "b" "f" "e" "k" "q" "h"> sapply(1:length(temp),function(x){c <- list(); for (j in 1:x){c <- > c(c,temp[[j]])}; temp[[x]][table(unlist(c))[temp[[x]]]==1]})[[1]] [1] "a" "b" "d" "x" [[2]] [1] "c" "q" "m" [[3]] [1] "f" "e" "k" "h" -- View this message in context: http://r.789695.n4.nabble.com/remove-repeated-string-in-list-tp4704166p4704191.html Sent from the R help mailing list archive at Nabble.com.
Many Thanks JS karim On Thu, Mar 5, 2015 at 4:08 AM, JS Huang <js.huang at protective.com> wrote:> Hi, > > Here is one for preserving the first strings. as.numeric in the previous > posting is not necessary. > > > temp > $set1 > [1] "a" "b" "d" "x" > > $set2 > [1] "b" "c" "q" "m" > > $set3 > [1] "b" "f" "e" "k" "q" "h" > > > sapply(1:length(temp),function(x){c <- list(); for (j in 1:x){c <- > > c(c,temp[[j]])}; temp[[x]][table(unlist(c))[temp[[x]]]==1]}) > [[1]] > [1] "a" "b" "d" "x" > > [[2]] > [1] "c" "q" "m" > > [[3]] > [1] "f" "e" "k" "h" > > > > > -- > View this message in context: > http://r.789695.n4.nabble.com/remove-repeated-string-in-list-tp4704166p4704191.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. >[[alternative HTML version deleted]]