我想確定列表是否包含任何重複元素,同時考慮排列等效。所有載體長度相等。在列表中查找重複項,包括排列
要完成此任務,最有效的方法(最短的運行時間)是什麼?
## 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
文檔中,它指示「對列表使用此操作可能會很慢」。還有其他更適合列表的功能嗎?
我們可以假設矢量長度相等嗎? – Roland
是的,這裏的假設是矢量具有相同的長度。 –