例如,我使用ID设置了数据 19878、19659、19855、18658、18996、18002
我想根据ID中的数字过滤ID。例如,我要过滤ID为第二的位置ID为9的数据,即19878、19659、19855等。
答案 0 :(得分:1)
尝试:
data <- c(19878, 19659, 19855, 18658, 18996, 18002)
使用substr()提取每个ID在“数据”中的第二个位置:
substr(data,2,2)
[1] "9" "9" "9" "8" "8" "8"
使用grepl()找出ID在第二个位置包含9的ID:
grepl(9,substr(data,2,2))
[1] TRUE TRUE TRUE FALSE FALSE FALSE
将结果与“数据”对象交叉:
data[grepl(9,substr(data,2,2))]
[1] 19878 19659 19855
编辑: 通过Gregor更快地解决问题(删除grepl步骤):
data[substr(data,2,2) == "9"]
答案 1 :(得分:0)
我这样做是通过选择小于或等于19000的ID来分隔第二个位置的ID为9的ID。 xam8 = exam [exam [,1] <19000,] #####选择8 Exam9 = exam [exam [,1]> 19000,] #####选择9
但是,如果需要从整个随机数据中获取特定IDS,则此处发布的答案很有用