在字符向量列表中找到模式

时间:2016-04-29 05:50:42

标签: r parsing pattern-matching

有些不同长度字符的向量如:

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 个答案:

答案 0 :(得分:4)

使用lengths()

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

Note:

  

长度(x)的一个存在理由是将其用作更有效的版本   sapply(x,length)和类似的*将调用应用于length。

答案 1 :(得分:3)

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

答案 2 :(得分:1)

另一个选项是uniqueN

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