Dealing with chains of different length
まだ誰も着手していません。
評価
調査の方向性
repair_draws() によってチェーン長が不均一になった後の niterations と、draws_df、draws_matrix、draws_list、draws_array の変換エントリーポイントを比較することから始めます。提案されている対処法として merge_chains を確認し、情報量のある警告またはエラーをどこで生成すべきかを判断します。チェーン長が不均一な場合に一貫して処理され、必要に応じて draws_array がユーザーを merge_chains に誘導できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
I suppose there is an implicit expectation that all chains are the same length, but different lengths can occur when doing filtering with e.g. dplyr. I think the recommended workflow should likely be to merge chains before doing this kind of filtering, but I guess that can't be enforced.
Currently, different draws formats handle chains of varying length differently in how they calculate niterations (even after repairing). And draws_array does not allow different length chains at all -> I think the error message could point to merge_chains as a solution.
Consider filtering a draws_df based on the value of some variable (below dplyr is used to do so, but it could be done in base R syntax). This can end up with a draws_df that has different length chains.
library(posterior)
library(dplyr)
fdraws <- example_draws() |>
as_draws_df() |>
dplyr::filter(`mu` > 0) |>
repair_draws()
niterations(fdraws)
## [1] 94
niterations(as_draws_matrix(fdraws))
## [1] 89.5
niterations(as_draws_list(fdraws))
## [1] 90
as_draws_array(fdraws)
## Error in abind::abind(x, along = 3L) :
## arg 'X2' has dims=86, 10, 1; but need dims=90, 10, X
Should there be a message/warning given when a draws object has different length chains that suggests merge_chains?
- 主要言語
- R
- スター
- 172
- フォーク
- 27
- 平均マージ
- 5日 12時間
- マージ済み PR(30日)
- 5
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
stan-dev/posterior のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
-
Use testthat 3e対応中かも @mcol が 7 日前に担当しました。 オープンgood first issue test
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
stan-dev/posterior の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 68/100
cran-task-views/Spatial#127 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
Add two cautions to the `simulate_dyad_responses()` help対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンdocumentation priority: low
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
Pascal-Kueng/dyadMLM#179 ·
メンテナーはふだん 1 日以内に返信
-
Consider changesオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
OHDSI/OmopSketch#618 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
GSK-Biostatistics/tfrmt#854 ·