R如何将数据与内部的点匹配,并设置边界

R如何将数据与内部的点匹配,并设置边界,r,string,match,R,String,Match,我使用grepl和str_detect来匹配数据,但是有些变量里面有一个点,有些没有,我不知道哪个有哪个没有。我们还需要在末尾设置一个界限$。 e、 g query您可以使用\.在代码中指定。如果要查找任何以3.2结尾的字符串,请使用以下代码: vec <- c('342','3.2','34','1.5','165','234','345', '3.22', '193.2', '232') > grep(pattern = '.*3\\.2$', x = vec, ignore.

我使用grepl和str_detect来匹配数据,但是有些变量里面有一个点,有些没有,我不知道哪个有哪个没有。我们还需要在末尾设置一个界限$。 e、 g


query您可以使用
\.
在代码中指定
。如果要查找任何以
3.2
结尾的字符串,请使用以下代码:

vec <- c('342','3.2','34','1.5','165','234','345', '3.22', '193.2', '232')

> grep(pattern = '.*3\\.2$', x = vec, ignore.case = T, value = T)
[1] "3.2"   "193.2"
vec grep(模式='.*3\\.2$',x=vec,ignore.case=T,value=T)
[1] "3.2"   "193.2"

您可以在以下位置阅读有关表达式的更多信息:

我不确定您为什么在此处使用
grepl
,因为您似乎不想使用正则表达式(点是正则表达式中的特殊字符)。像
data[data==“3.2”]
这样的东西会提取出您需要的值。另外,您是否在实际代码中使用了
str_detect
,因为您的示例中没有这种功能。我也尝试了str_detect,但同样的问题,无法同时满足两个要求。因此,这里的期望结果是什么?有没有这样的情况,当你试图不做一个确切的匹配?
vec <- c('342','3.2','34','1.5','165','234','345', '3.22', '193.2', '232')

> grep(pattern = '.*3\\.2$', x = vec, ignore.case = T, value = T)
[1] "3.2"   "193.2"