如何选择以某个数字结尾的指数?

时间:2013-04-19 08:31:08

标签: r

我有以下矢量:

x = c(31, 56, 78, 98, 76, 88, 90)

并希望选择以相同数字结尾的所有值。例如,78,88,98。

3 个答案:

答案 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