相关疑难解决方法(0)

grep使用具有多个模式的字符向量

我试图用来grep测试字符串向量是否存在于另一个向量中,并输出存在的值(匹配模式).

我有一个这样的数据框:

FirstName Letter   
Alex      A1
Alex      A6
Alex      A7
Bob       A1
Chris     A9
Chris     A6
Run Code Online (Sandbox Code Playgroud)

我有一个字符串模式的向量可以在"Letter"列中找到,例如:c("A1", "A9", "A6").

我想检查模式向量中的任何字符串是否出现在"Letter"列中.如果是,我想要输出唯一值.

问题是,我不知道如何使用grep多种模式.我试过了:

matches <- unique (
    grep("A1| A9 | A6", myfile$Letter, value=TRUE, fixed=TRUE)
)
Run Code Online (Sandbox Code Playgroud)

但它给了我0场比赛,这是不是真的,任何建议?

regex r

122
推荐指数
8
解决办法
19万
查看次数

用非重音对应物替换R中的重音字符(UTF-8编码)

我在R中使用UTF-8编码包含一些包含重音的字符串.例如 string="Hølmer"string="Elizalde-González"

R中是否有任何不错的功能可以替换这些字符串中的重音符号?我在这里看到了PHP中的一些解决方案,但是我如何在R中执行此操作?

例如PHP代码

$unwanted_array = array(    'Š'=>'S', 'š'=>'s', 'Ž'=>'Z', 'ž'=>'z', 'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A', 'Å'=>'A', 'Æ'=>'A', 'Ç'=>'C', 'È'=>'E', 'É'=>'E',
                            'Ê'=>'E', 'Ë'=>'E', 'Ì'=>'I', 'Í'=>'I', 'Î'=>'I', 'Ï'=>'I', 'Ñ'=>'N', 'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O', 'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 'Ù'=>'U',
                            'Ú'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y', 'Þ'=>'B', 'ß'=>'Ss', 'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a', 'å'=>'a', 'æ'=>'a', 'ç'=>'c',
                            'è'=>'e', 'é'=>'e', 'ê'=>'e', 'ë'=>'e', 'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i', 'ð'=>'o', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o', 'ô'=>'o', 'õ'=>'o',
                            'ö'=>'o', 'ø'=>'o', 'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'ý'=>'y', 'ý'=>'y', 'þ'=>'b', 'ÿ'=>'y' );
$str = strtr( …
Run Code Online (Sandbox Code Playgroud)

r non-ascii-characters

21
推荐指数
2
解决办法
3万
查看次数

如何验证国际证券识别号码(ISIN)号码

如果我没错,ISIN号码的最后位置是一个验证位.根据前11位数确定其值的数学函数是什么?

math financial

8
推荐指数
3
解决办法
1万
查看次数

连接gsub

我目前正在运行以下代码来清除重音符号中的数据:

df <- gsub('Á|Ã', 'A', df)
df <- gsub('É|Ê', 'E', df)
df <- gsub('Í',   'I', df)
df <- gsub('Ó|Õ', 'O', df)
df <- gsub('Ú',   'U', df)
df <- gsub('Ç',   'C', df)
Run Code Online (Sandbox Code Playgroud)

但是,我想在一行中完成它(使用另一个函数就可以了).我怎样才能做到这一点?

regex optimization r gsub

3
推荐指数
1
解决办法
417
查看次数

在 R 中使用模式匹配从现有列创建新列

我正在尝试基于另一个使用模式匹配添加一个新列。我已经阅读了这篇文章,但没有得到想要的输出。

我想基于 GreatGroup 列创建一个新列 (SubOrder)。我尝试了以下方法:

SubOrder <- rep(NA_character_, length(myData))

SubOrder[grepl("udults", myData, ignore.case = TRUE)] <-  "Udults"
SubOrder[grepl("aquults", myData, ignore.case = TRUE)] <-  "Aquults"
SubOrder[grepl("aqualfs", myData, ignore.case = TRUE)] <-  "aqualfs"
SubOrder[grepl("humods", myData, ignore.case = TRUE)] <-  "humods"
SubOrder[grepl("udalfs", myData, ignore.case = TRUE)] <-  "udalfs"
SubOrder[grepl("orthods", myData, ignore.case = TRUE)] <-  "orthods"
SubOrder[grepl("udalfs", myData, ignore.case = TRUE)] <-  "udalfs"
SubOrder[grepl("psamments", myData, ignore.case = TRUE)] <-  "psamments"
SubOrder[grepl("udepts", myData, ignore.case = TRUE)] <-  "udepts"
SubOrder[grepl("fluvents", myData, ignore.case = TRUE)] <- …
Run Code Online (Sandbox Code Playgroud)

regex r pattern-matching

1
推荐指数
1
解决办法
3276
查看次数