2016-10-11 25 views
1

我有一個向量列表,其中每個向量包含不同數量的數字字符串,例如如何從列表中刪除重複的集合並獲取R中的第一個元素?

A <- list(c(2,3,1,5),c(4,3,1),c(1,4,3),c(3,4,2,1)) 

我想刪除重複的載體,這樣的結果將是

[[1]] 
[1] 1 2 3 5 

[[2]] 
[1] 1 3 4 

[[3]] 
[1] 1 2 3 4 

我做的,通過unique(lapply(A, function(x) sort(unlist(x)))),但我需要保存每一個獨特的載體沒有排序的第一個元素,那就是:

[[1]] 
[1] 2 

[[2]] 
[1] 4 

[[3]] 
[1] 3 

任何人都可以幫助我嗎?

回答

0

我們可以應用duplicatedsort ING獲得的邏輯索引,用它來子集list

A1 <- A[!duplicated(lapply(A, sort))] 

,並獲得第一個元素

lapply(A1, `[`, 1) 

或者,如果我們使用unique需要sort ed元素

unique(lapply(A, sort)) 
相關問題