我有以下矢量:
x = c(31, 56, 78, 98, 76, 88, 90)
并希望选择以相同数字结尾的所有值。例如,78,88,98。
答案 0 :(得分:8)
您可以使用:
v <- c(31,56,78,98,76,88,90)
v[v %% 10 == 8]
# [1] 78 98 88
请注意v %% 10
会将v
除以10的模式给你。
答案 1 :(得分:5)
使用正则表达式
x[grepl('.*8$',x)]
[1] 78 98 88
答案 2 :(得分:2)
这是另一个冗长的解决方案。
mmm <- c(31,56,78,98,76,88,90)
mmm[sapply(sapply(as.character(mmm), strsplit, split = ""), "[[", 2) == 8]
[1] 78 98 88