【发布时间】: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 中是否已经存在一个。
这是函数顺便说一句(欢迎提出改进建议):
set.seed(50)
x <- sample(c(letters, LETTERS), 7)
is.lower <- function(x)
{
unlist(sapply(x, function(x2) {x2 %in% letters}))
}
is.lower(x)
【问题讨论】:
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
无需制作自己的功能。
【讨论】:
另一种使用值而不是逻辑索引作为结果的方法是将字母命名为它们本身并使用“[”和 x 作为索引:
names(letters) <- letters
letters[x]
#<NA> w k <NA> y c <NA>
# NA "w" "k" NA "y" "c" NA
【讨论】: