过滤和排序符号 - 返回"字符(0)"?

时间:2016-12-29 03:56:26

标签: r filter character

我是R的新手(和一般的编程)。我试着效仿这个例子:

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

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

字符(0)

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

1 个答案:

答案 0 :(得分:1)

我们可以将向量转换为大写(toupper)和grep,仅用于从字符串的开头(^)到结尾($)的大写字母

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

数据

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