-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"

これは、必要に応じて 2010 年ではなく 2009 年に終了します。

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 に答える