2016-04-29 33 views
2

有與不同長度等字符向量:的模式尋找在人物的名單載體

f1 <- c("YTOI", "JKLO", "POLI") 
f2 <- c("KOPL", "KOPL", "KOPL") 
f3 <- c("JNLI", "NJLI", "IUYP") 
f4 <- c("FIPN", "JHPL", "UIPE") 

它們在列表中的fe <- list(f1,f2,f3,f4)。參賽作品不一定都是長度3--可能會有所不同。

如何找到所有條目相同的條目(索引)?

回答

3
which(sapply(fe, function(x) length(unique(x))==1)) 
## [1] 2 
3

使用lengths():長度

which(lengths(sapply(fe, unique)) == 1) 

Note:

一個存在的理由(x)是其作爲sapply的更有效的 版本使用(X,長度)和類似*適用於長度調用。

1

另一種選擇是uniqueN

library(data.table) 
which(sapply(fe, uniqueN)==1)