我試圖使用chron
的is.holiday()
函數,但我無法使其正常工作。該文檔說要修改.Holiday
對象與您希望使用的假期,但我對.Holiday
所做的更改似乎沒有被is.holiday()
檢測到。有人可以提供一個適當的方式來加載假期的例子嗎?如何爲R中的is.holiday()chron程序包定義假期
7
A
回答
9
這是不平凡的,可能值得作爲bug參考chron
維護者。
library(chron)
library(timeDate)
hlist <- c("CAVictoriaDay","CACanadaDay","CALabourDay")
(ss <- dates(sapply(sapply(hlist,holiday,year=2011),as.Date)))
.Holidays <- ss
(有人誰實際上R中日期的作品往往比我做的大概有前面的東西更優雅的解決方案,而沒有雙精度sapply
事情...)
但是這並未」 T改變的重要的事情,這是Holidays
在chron
命名空間版本:
chron::.Holidays ## no change
的線索是在這裏:Override a function that is imported in a namespace
命名空間魔法:
unlockBinding(".Holidays", as.environment("package:chron"))
assignInNamespace(".Holidays", .Holidays, ns="chron",
envir=as.environment("package:chron"))
assign(".Holidays", .Holidays, as.environment("package:chron"))
lockBinding(".Holidays", as.environment("package:chron"))
現在來看,它已經工作:
chron::.Holidays
測試出來:
yrvec <- seq.Date(as.Date("2011-01-01"),
as.Date("2011-12-31"),by="day")
plot(is.holiday(yrvec),axes=FALSE)
axis.Date(side=1,yrvec)
0
我試圖做同樣的事情,發現這個較舊的帖子。我不需要修改.Holidays
:
library(timeDate);library(chron)
hlist <- c("USChristmasDay","USGoodFriday","USIndependenceDay","USLaborDay",
"USNewYearsDay","USThanksgivingDay")
myholidays <- dates(as.character(holiday(2000:2013,hlist)),format="Y-M-D")
> is.holiday(as.Date("2013-11-28"),myholidays)
[1] TRUE
> chron::.Holidays
New Years Day Memorial Day Independence Day Labor Day Thanksgiving Christmas
01/01/92 05/25/92 07/04/92 09/07/92 11/26/92 12/25/92
相關問題
- 1. 在R中使用chron包合併列的日期列
- 2. R timeDate包 - 假期輸出問題
- 3. 定義中的R包
- 4. 如何在假期課程中添加假期?
- 5. 計算工作日,包括Python中兩個日期列的自定義假期
- 6. 定義程序包內的程序
- 7. 如何在R的Google Viz包中自定義gvisBarChart中的軸
- 8. R chron times()函數將不起作用
- 9. 如何爲PhoneGap應用程序創建自定義包?
- 10. 在自定義驗證程序中停止執行,如果它爲假
- 11. 假期和假期如何最大限度地利用假期?
- 12. R程序輸出:如何在輸出中包含R標識?
- 13. 如何確定日期是否爲假期
- 14. 如何在java程序中導入用戶定義的包?
- 15. 自定義程序包引導程序
- 16. 如何爲Pandas中的CustomBusinessDays假期指定不同的日期範圍?
- 17. 如何爲tclodbc定義驅動程序?
- 18. 如何爲R中定義的S4類定義函數`match`和`%in%`的行爲?
- 19. 使用未定義符號安裝R程序包
- 20. 如何擴展R包中定義的引用類?
- 21. 如何指定CRAN鏡Jupyter筆記本(R內核)安裝的R程序包
- 22. 如何從我的自定義日誌提供程序中關閉程序包開始和程序包結束?
- 23. 如何在R中定期更換序列中的向量值?
- 24. 安裝的R程序包
- 25. 安裝的R程序包
- 26. 如何在WordPress中爲假人制作自定義帖子?
- 27. R:在R中定義一個函數,包括for循環,如果條件爲
- 28. 如何在Django應用程序中包含自定義模塊
- 29. 數學如此,R中假
- 30. 如何在假期或假期中使用「mime」秒數
謝謝。這比我預期的要複雜得多。 –
上面的解決方案是太棒了,工作,除了似乎有錯誤,如果hlist包括「GBNewYearsEve」 我已經開始了一個新的問題[鏈接](http://stackoverflow.com/questions/ 26777282 /使用-TIMEDATE-R-包在--I-接收-AN-錯誤時-指定-gbnewyearseve) – DaveRGP