我需要根据网站ID过滤数据集。 基本上,我想选择以01结尾的所有站点ID。 站点ID的长度为6位数。例如:
myData <- data.frame(ID = c(202001, 202002, 202003, 203001), someData = c(10, 20, 30, 40))
我可以在数字(或整数)数据上使用通配符,例如:
filter(myData, ID = ****01)
答案 0 :(得分:3)
您可以将grepl()
(和其他正则表达式匹配函数)与正则表达式01$
一起使用。 $
表示我们希望匹配从字符串末尾开始。
myData[grepl("01$", myData$ID), ]
# ID someData
# 1 202001 10
# 4 203001 40
@thelatemail在评论中有一个 dplyr 方法,也使用grepl()
。
filter(myData, grepl("01$", ID))
谈到养猫的方法
filter(myData, substr(ID, 5, 7) == "01")
# ID someData
# 1 202001 10
# 2 203001 40