Is there a function to find all lowercase letters in a character vector?

I just wrote one, but I was wondering if it already exists in R.

Here's the BTW feature (suggestions for improvement are welcome):

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

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

is.lower(x)
+3
source share
2 answers

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

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

And why is it difficult?

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

No need to create your own function.

+13
source

Another approach with values ​​instead of a logical index as the result would be to name the letters as themselves and use "[" with x as the index:

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

Source: https://habr.com/ru/post/1779872/


All Articles