Есть ли функция для поиска всех строчных букв в символьном векторе? - PullRequest
3 голосов
/ 12 декабря 2010

Я только что написал один, но мне было интересно, если он уже существует в 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)

Ответы [ 2 ]

13 голосов
/ 12 декабря 2010

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

Нет необходимости создавать свои собственные функции.

3 голосов
/ 13 декабря 2010

Другой подход со значениями вместо логического индекса в качестве результата заключается в названии букв как самих себя и использовании «[» с x в качестве индекса:

 names(letters) <- letters
 letters[x]
#<NA>    w    k <NA>    y    c <NA> 
#  NA  "w"  "k"   NA  "y"  "c"   NA 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...