-1

我想生成一个从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函数?

4

2 回答 2

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"
于 2013-02-15T05:30:44.623 回答
2

试试这个:

ISOdate(1990:2010,1,1)
于 2013-02-15T05:33:28.870 回答