r语言 - 过滤和排序符号 - 返回"Character(0)" ?



我是R(以及一般的编程)的新手。我正在尝试遵循此示例:

filter_symbols <-function(symbols){
symbols <-toupper(symbols)
valid <-regexpr("^[A-Z]{2,4}$", symbols)
return(sort(symbols[valid == 1))
}

我知道这应该将所有符号隐藏为大写,并仅返回带有 2-4 个字母的符号。但它返回

字符(0)

什么意思?为什么会这样?

我们可以将向量转换为大写(toupper),并且只能grep将大写字母转换为字符串的开始(^)到结束($)。

grep("^[A-Z]{2,4}$", toupper(v1), value = TRUE)

数据

v1 <- c( "MOT", "cvx", "123", "Gog2", "XLe")

最新更新