xtsオブジェクトを平日(月曜日〜金曜日、土曜日と日曜日は除外)のみに含めるにはどうすればよいですか?RサブセットXTS平日
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: ジョシュア・ウルリッヒコメントで抽出する.indexwday()
、組み込みのアクセス関数のファミリの1つを使用して、よりよい解決策を指摘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. サブセットxtsファイルを日付で
- 2. Rとxtsサブセット:開始日と設定範囲の合計
- 3. xtsサブセット - 夏時間
- 4. xts - 週の各日にサブセットする方法
- 5. 平日の日付をR
- 6. サブセット化時にxtsオブジェクトがxtsクラスを失う
- 7. XTS - 今日
- 8. RのXTSとdata.table
- 9. xtsサブセットを素早く作成する
- 10. JSONのサブセット固有の日付をR
- 11. R data.tableサブセットのサブセット
- 12. R:毎日系列のxts行列を変更する
- 13. サブセットR
- 14. R XTSオブジェクトプロット別個軸
- 15. Rのサブセットarules R
- 16. Xtsオブジェクトに別のxtsオブジェクトを基にした列をR
- 17. R:データのサブセットの平均を計算する
- 18. R毎日複数年平均
- 19. スパーク:サブセット日
- 20. Rないサブセットで
- 21. prcompオブジェクトのサブセットR
- 22. R - サブセット化混乱
- 23. xtsのサブセットデータ範囲の値をR
- 24. 私はXTSフォーマットデータ(データ)を有するR
- 25. データと時間を含むxtsオブジェクトのサブセット
- 26. Xtsオブジェクトをプロットするときの日付書式を変更するR
- 27. サブセットcsvデータのPentad日付に基づくR
- 28. 複数の日付範囲でデータをサブセット化する - R
- 29. Rデータフレームを日付範囲でサブセット化する
- 30. R - データフレームをxtsに変換すると、引用が追加されます(xts)
私は基本的に同じ答えを示すが、使用されるロケールの、それが独立してレンダリングした数値平日に頼ります。 –
+1 '.indexwday'関数があるので、最後の行は' x [.indexwday(x)%in%1:5] 'となります。 –
@DirkEddelbuettelそれを指摘してくれてありがとう(そして+1 chez vous)。私はそうでなければ違いを理解していないでしょう。 –