Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 匹配不同模式的正则表达式_R_Regex - Fatal编程技术网

R 匹配不同模式的正则表达式

R 匹配不同模式的正则表达式,r,regex,R,Regex,我有这根绳子 mys<-c("16_0-FA", "16_1-FA", "18_2-FA", "18_3-FA", "20_0-FA", "20_4-FA", "16_0-GG", "16_1-GG", "18_2-GG", "18_3-GG", "20_0-GG", "20_4-GG",) 第二个是介于u和之间的特定数字- >2或=1 现在我想合并并同时执行,我尝试了这种方法,但不起作用 sub('.*-'| mys[as.numeric(gsub(".*_|-.*",

我有这根绳子

mys<-c("16_0-FA", "16_1-FA", "18_2-FA", "18_3-FA", "20_0-FA", "20_4-FA", 
       "16_0-GG", "16_1-GG", "18_2-GG", "18_3-GG", "20_0-GG", "20_4-GG",)
第二个是介于u和之间的特定数字-

>2或=1

现在我想合并并同时执行,我尝试了这种方法,但不起作用

sub('.*-'| mys[as.numeric(gsub(".*_|-.*", "", mys))>2], '', mys)
结果应该是

"18_3-FA" "20_4-FA"

如果您想要第二个组件>2,第三个组件等于FA的元素子集,那么创建一个包含每个mys元素的3个组件的3列数据帧d,然后创建一个逻辑向量ok,它指示各个组件是否满足这两个条件。然后用它来定义子集。没有使用任何软件包

d <- read.table(text = gsub("[_-]", " ", mys))
ok <- with(d, V2 > 2 & V3 == "FA")
mys[ok]
## [1] "18_3-FA" "20_4-FA"

你期望的结果是什么
"18_3-FA" "20_4-FA"
d <- read.table(text = gsub("[_-]", " ", mys))
ok <- with(d, V2 > 2 & V3 == "FA")
mys[ok]
## [1] "18_3-FA" "20_4-FA"
subset(d, V2 > 2 & V3 == "FA")
##   V1 V2 V3
## 4 18  3 FA
## 6 20  4 FA