如何在rstudio中用一定数量的元音对单词进行子集化?

时间:2019-03-31 16:15:36

标签: r

我尝试使用rstudio中的str_subset函数对具有5个或更多个元音字母的单词列表进行子集化。但是,无法理解。 这个问题有什么建议吗?

1 个答案:

答案 0 :(得分:1)

由于您显然正在使用stringr,因此str_count函数将为您提供所需的服务。假设您的“单词列表”表示单个单词的字符向量,则应使用以下技巧。

testStrings <- c("Brillig", "slithey", "TOVES",
                 "Abominable", "EQUATION", "Multiplication", "aaagh")

VowelCount <- str_count(testString, pattern = "[AEIOUaeiou]")
OutputStrings <- testStrings[VowelCount >= 5]

方括号中的部分是一个正则表达式,可匹配英语中的任何大写字母或小写字母的元音。当然,其他语言可能会考虑不同的元音组。 如果要在base R中执行相同的操作,则应使用以下单行代码:

OutputStrings <- grep("([AEIOUaeiou].*){5,}", testStrings, value = TRUE)