我正在對狀態/空間模型進行時間序列分析。在本書中作者提供了以下代碼
seq(from = as.Date("2001-01-01"),
to = as.Date("2000-01-31"),
by = "day")
產生輸出
# [1] "2001-01-01" "2000-12-20" "2000-12-08" "2000-11-27" "2000-11-15"
# [6] "2000-11-04" "2000-10-23" "2000-10-11" "2000-09-30" "2000-09-18"
# [11] "2000-09-07" "2000-08-26" "2000-08-14" "2000-08-03" "2000-07-22"
# [16] "2000-07-11" "2000-06-29" "2000-06-18" "2000-06-06" "2000-05-25"
# [21] "2000-05-14" "2000-05-02" "2000-04-21" "2000-04-09" "2000-03-28"
# [26] "2000-03-17" "2000-03-05" "2000-02-23" "2000-02-11" "2000-01-31"
但是,當我運行它時,我收到錯誤
Error in seq.int(0, to0 - from, by) : wrong sign in 'by' argument
我可以使用“length.out”引數而不是“by”來生成輸出
seq(from = as.Date("2001-01-01"),
to = as.Date("2000-01-31"),
length.out = 30)
但是我想知道為什么這個by = "day"論點適用于作者而不適用于我。具有seq()功能改變了嗎?
uj5u.com熱心網友回復:
代碼中有一個錯字,即from大于to
seq(from = as.Date("2001-01-01"), to = as.Date("2000-01-31"), by = "day")
^
它應該是
seq(from = as.Date("2000-01-01"), to = as.Date("2000-01-31"), by = "day")
或指定by為負
seq(from = as.Date("2001-01-01"), to = as.Date("2000-01-31"), by = "-1 day")
源代碼中有一個stop檢查seq.default
...
if (n < 0L)
stop("wrong sign in 'by' argument")
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/393431.html
標籤:r
上一篇:R:記錄函式的索引迭代
