順列を同等と見なしながら、リストに重複する要素が含まれているかどうかを判断したいと思います。すべてのベクトルは同じ長さです。
これを達成するための最も効率的な方法 (最短の実行時間) は何ですか?
## SAMPLE DATA
a <- c(1, 2, 3)
b <- c(4, 5, 6)
a.same <- c(3, 1, 2)
## BOTH OF THSE LISTS SHOULD BE FLAGGED AS HAVING DUPLICATES
myList1 <- list(a, b, a)
myList2 <- list(a, b, a.same)
# CHECK FOR DUPLICATES
anyDuplicated(myList1) > 0 # TRUE
anyDuplicated(myList2) > 0 # FALSE, but would like true.
今のところ、重複をチェックする前にリストの各メンバーをソートすることに頼っています
anyDuplicated( lapply(myList2, sort) ) > 0
より効率的な代替手段があるかどうか疑問に思っています。また、?duplicated
ドキュメントでは、「これをリストに使用すると遅くなる可能性がある」と示されています。リストに適した他の関数はありますか?