我有一个这样的字符串:year = "2011-01","2011-02","2011-03"
.....一直到"2015-012"
它们像那样代表2011 Jan, 2011 Feb...
等。
为简单起见,我只写
year1 <- c("2011-01","2011-02","2011-03")
我被要求返回一个四位数的代码(即。2011、2012、2013)等。
我该怎么做呢?
我们也可以使用substr
substr(year1, 1,4)
#[1] "2011" "2011" "2011"
或者我们可以从library(zoo)
中使用as.yearmon
转换为yearmon
类,然后使用format
提取'year'。
library(zoo)
format(as.yearmon(year1), '%Y')
#[1] "2011" "2011" "2011"
您可以使用gsub
,这是一个正则表达式替换函数:
sub("-[0-9]+$", "", year1)
through split,
> unlist(lapply(strsplit(year1, "-"), function(x){ x[1]}))
[1] "2011" "2011" "2011"