【问题标题】:Is there a function to find all lower case letters in a character vector?是否有在字符向量中查找所有小写字母的功能?
【发布时间】:2011-05-24 08:00:54
【问题描述】:

我刚刚写了一个,但我想知道 R 中是否已经存在一个。

这是函数顺便说一句(欢迎提出改进建议):

set.seed(50)
x <- sample(c(letters, LETTERS), 7)

is.lower <- function(x)
{
    unlist(sapply(x, function(x2) {x2 %in% letters}))
}

is.lower(x)

【问题讨论】:

    标签: r case lowercase


    【解决方案1】:

    grepl("[a-z]",x) 例如?

    > grepl("[a-z]",x)
    [1] FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE
    

    为什么要让它变得困难?

    > x %in% letters
    [1] FALSE  TRUE  TRUE FALSE  TRUE  TRUE FALSE
    

    无需制作自己的功能。

    【讨论】:

    • 嗨乔里斯。读到你是第二个解决方案,我脸红了。我显然很累-该睡觉了...谢谢您的第一个解决方案,我没有考虑。
    • @Tal :不用脸红,我前段时间也犯了几乎完全相同的错误。虽然我猜想睡觉可能会有所帮助;-)
    • 这里有一个函数可以偶尔帮助你:TalGalili
    【解决方案2】:

    另一种使用值而不是逻辑索引作为结果的方法是将字母命名为它们本身并使用“[”和 x 作为索引:

     names(letters) <- letters
     letters[x]
    #<NA>    w    k <NA>    y    c <NA> 
    #  NA  "w"  "k"   NA  "y"  "c"   NA 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-27
      • 1970-01-01
      • 2018-02-03
      • 2012-10-09
      • 1970-01-01
      • 2021-12-10
      • 2021-08-12
      • 2021-02-22
      相关资源
      最近更新 更多