2013-04-22 43 views
0

我想在[R順序檢索日期不給

> mySeq <- seq(as.Date("2012-1-1",format = "%Y-%m-%d"), 
      as.Date("2012-1-3",format = "%Y-%m-%d"), 
      by="1 day") 

> for (i in mySeq){print(i)} 

運行下面的代碼,我得到的值:

[1] 15340 
[1] 15341 
[1] 15342 

mySeq[1]回報"2012-01-01"

爲什麼?我在這裏錯過了什麼?

+1

如果添加'as.Date(i)'會給你你想要的。 (for mySeq){print(as.Date(i))}' – 2013-04-22 13:05:01

+0

其實你的解決方案對我來說並不適用。我得到:for (i in mySeq){print(as.Date(i))} as.Date.numeric(i)中的錯誤:'origin'必須提供「 – Ika 2013-04-22 13:12:02

回答

4

將您的日期值轉換爲for()函數中的數值,以將它們用作索引值。

取而代之,您可以使用seq_along()獲取索引值,然後打印mySeq[i]

for(i in seq_along(mySeq)) {print(mySeq[i])} 
+0

+1我已經把這個作爲一個答案,但你在哪裏更快:) – 2013-04-22 13:05:45

+0

@PaulHiemstra它不會發生因爲它已經被回答了,所以通常我必須丟棄我的答案。 – 2013-04-22 13:07:12

+0

用於標識數字強制的+1。 – 2013-04-22 13:11:42