首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >识别R弦中的辅音/元音

识别R弦中的辅音/元音
EN

Stack Overflow用户
提问于 2017-05-21 17:22:24
回答 1查看 3.3K关注 0票数 1

似乎找不到答案。

我编写了一些R代码,从较长的字符串中提取子字符串,将'.‘中的每个字符都取下来。从原始字符串中删除,如下所示。

代码语言:javascript
复制
dataframe1[["column"]] <- gsub("\\..*","",dataframe2$variable)

这很好,没问题。注意:结果子串在5-7个字符之间的长度是可变的。

现在我需要找到一种方法来评估所述字符串中的每个字符是辅音还是元音。

我以前使用sqldf实现了以下目标:

代码语言:javascript
复制
   ("SELECT char1||char2||char3||char4||char5 as pattern
            FROM
                (SELECT CASE WHEN substr(var,1,1) IN ('a','e','i','o','u') THEN 'V' ELSE 'C' END as char1  
                ,CASE WHEN substr(var,2,1) IN ('a','e','i','o','u') THEN 'V' ELSE 'C' END as char2  
                ,CASE WHEN substr(var,3,1) IN ('a','e','i','o','u') THEN 'V' ELSE 'C' END as char3
                ,CASE WHEN substr(var,4,1) IN ('a','e','i','o','u') THEN 'V' ELSE 'C' END as char4
                ,CASE WHEN substr(var,5,1) IN ('a','e','i','o','u') THEN 'V' ELSE 'C' END as char5 
     FROM some_table WHERE len = '5L')")

这会给我这样的感觉:

ABBCD / VCCCC

ABABE维VCVCV

VVVCC

等等等等。

问题是,这是完全不优雅和可悲的低效,特别是,正如前面提到的,变量的长度在5-7个字符之间。我还想避免合并sqldf,因为我发现它使得以后在某些情况下很难在dataframe上执行基R函数。

所以,你能告诉我如何使用R来实现这一点吗?更重要的是,我可以使用一种不考虑焦炭长度的方法来实现这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-21 17:39:55

你可以这样做..。

代码语言:javascript
复制
a <- "stackoverflow"

b <- gsub("[^aeiouAEIOU]","C",a)
b <- gsub("[^C]","V",b)

b
[1] "CCVCCVCVCCCVC"
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44099728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档