我有序列日期:
names<-format(seq.Date(as.Date("2012-11-01"),as.Date("2012-12-01"),
by = 'months'),format = "%Y%m")
我怎样才能得到最后两位,就像名字[1]最后两位的结果是11一样?
使用stringr
包,您只需放置
stringr::str_sub(string = names, start = -2, end = -1)
您可以使用substr()
:
names = substr(names, nchar(names)-1, nchar(names))
结果是:
[1] "11" "12"
或者作为整数:
names = as.integer(substr(names, nchar(names)-1, nchar(names))
结果:
[1] 11 12
可以有十分之一的方法。我能发明的最简单的方法就是找到初始划分的剩余部分:
as.integer(names) %% 100
返回:
[1] 11 12
从技术上讲,这些都是整数。如果严格要求使用字符,请将as.character()
应用于结果以强制转换类型。