Как подмножить объект xts, чтобы включать только будние дни (пн-пт, с субботой и воскресеньем исключены)?R Subset XTS weekdays
12
A
ответ
15
Вот что я хотел бы сделать:
library(xts)
data(sample_matrix)
sample.xts <- as.xts(sample_matrix, descr='my new xts object')
x <- sample.xts['2007']
x[!weekdays(index(x)) %in% c("Saturday", "Sunday")]
EDIT: Джошуа Ulrich в комментариях указывает лучшее решение, используя .indexwday()
, один из семейства встроенных функций доступа для извлечения фрагменты индекса объектов xts
. Кроме того, как решение Дирка Eddelbuettel, имеет место следующее должно быть независимым от языковых настроек:
x[.indexwday(x) %in% 1:5]
6
Вычисляя день недели, учитывая дату и подмножество. В примере я использую тип Date
, но литой до POSIXlt
работает одинаково для POSIXct
внутридневных временных меток.
> mydates <- Sys.Date() + 0:6
> mydates
[1] "2012-01-31" "2012-02-01" "2012-02-02" "2012-02-03" "2012-02-04"
+ "2012-02-05" "2012-02-06"
> we <- sapply(mydates, function(d) { as.POSIXlt(d)$wday}) %in% c(0, 6)
> we
[1] FALSE FALSE FALSE FALSE TRUE TRUE FALSE
> mydates[ ! we ]
[1] "2012-01-31" "2012-02-01" "2012-02-02" "2012-02-03" "2012-02-06"
>
Это действительно не вопрос xts
, а базовая обработка данных.
Смежные вопросы
- 1. Subset XTS на неделю года
- 2. Subset список с XTS объектов, которые отвечают критериям, используя R
- 3. R dplyr subset alternative
- 4. subset() в R с $
- 5. Subset данные в R
- 6. R xts: миллисекундный индекс
- 7. R XTS package to.minutes3
- 8. R: комплексные запросы xts
- 9. R XTS и data.table
- 10. R xts факторов
- 11. FullCalendar показать только weekDays
- 12. R Преобразование POSIXlt в XTS
- 13. R xts sum несколько предметов
- 14. отстающие XTS объекты в R
- 15. R: Объекты синхронизации времени (xts)
- 16. R - преобразование dataframe в xts добавляет цитаты (в xts)
- 17. Subset строка содержит только буквы R
- 18. Subset наивысшие значения каждой группы в R
- 19. Subset разреженная матрица с data.table в R
- 20. Subset даты в неправильном формате в R
- 21. R dataframe subset: искать значение в списке
- 22. список Subset на основе состояния в R
- 23. HTML input type = date weekdays
- 24. подмножество xts с объектом в R
- 25. R xts преобразует числа в строки - почему?
- 26. R: использование stl() на объекте xts
- 27. Динамический период Подменю через XTS в R
- 28. R xts: нанести на подвижное окно
- 29. R: преобразование данных в объект xts
- 30. Ошибка при установке XTS пакет на R
Я показываю по существу один и тот же ответ, но, опираясь на цифровые рабочие дни, которые делает его независимым от местности, используемой. –
+1 Обратите внимание, что существует функция '.indexwday', поэтому ваша последняя строка также может быть:' x [.indexwday (x)% in% 1: 5] '. –
@DirkEddelbuettel Спасибо, что указали это (и +1 chez vous). В противном случае я бы не оценил разницу. –