2016-10-11 49 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)) 
相关问题