【问题标题】:Pattern finding in a list of character vectors在字符向量列表中查找模式
【发布时间】:2016-08-24 03:40:04
【问题描述】:

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

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

它们在列表中为fe &lt;- list(f1,f2,f3,f4)。条目不一定都是长度 3 - 可能会有所不同。

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

【问题讨论】:

    标签: r parsing pattern-matching


    【解决方案1】:

    使用lengths()

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

    Note:

    lengths(x) 存在的一个原因是它被用作更有效的版本 sapply(x, length) 和类似的 *apply 调用长度。

    【讨论】:

      【解决方案2】:
      which(sapply(fe, function(x) length(unique(x))==1))
      ## [1] 2
      

      【讨论】:

        【解决方案3】:

        另一个选项是uniqueN

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

        【讨论】:

          猜你喜欢
          • 2014-11-18
          • 1970-01-01
          • 1970-01-01
          • 2021-05-20
          • 2012-11-07
          • 2015-03-31
          • 1970-01-01
          • 2014-02-14
          • 1970-01-01
          相关资源
          最近更新 更多