我想从1990年到2010年生成一个21年的向量。我使用as.POSIXct
函数如下
time=as.POSIXct("1990-01-01", tz="GMT")+0:20*3600*(24*365)
我得到以下答案
[1] "1990-01-01 GMT" "1991-01-01 GMT" "1992-01-01 GMT" "1992-12-31 GMT" "1993-12-31 GMT" "1994-12-31 GMT"
[7] "1995-12-31 GMT" "1996-12-30 GMT" "1997-12-30 GMT" "1998-12-30 GMT" "1999-12-30 GMT" "2000-12-29 GMT"
[13] "2001-12-29 GMT" "2002-12-29 GMT" "2003-12-29 GMT" "2004-12-28 GMT" "2005-12-28 GMT" "2006-12-28 GMT"
[19] "2007-12-28 GMT" "2008-12-27 GMT" "2009-12-27 GMT"
根据需要于2009年而非2010年结束。
任何人都可以帮助,如果可能的话,如何在没有月份和日期的情况下生成年份,仅使用as.POSIXct
函数的年份?
答案 0 :(得分:2)
这是一个只需要您指定所需年份范围的解决方案:
time <- as.POSIXct(paste0(1990:2010, "-01-01"), tz = "GMT")
我假设你想要每年1月1日,而不是近似。
现在,如果您只想展示年份,您可以执行以下操作:
format(time, "%Y")
#[1] "1990" "1991" "1992" "1993" "1994" "1995" "1996" "1997" "1998" "1999" "2000" "2001" "2002" "2003"
#[15] "2004" "2005" "2006" "2007" "2008" "2009" "2010"
答案 1 :(得分:2)
试试这个:
ISOdate(1990:2010,1,1)