PROscorerToolsは、患者報告アウトカム(PRO)測定値やその他の生活の質(QoL)および心理測定法を採点するツールを提供します。 PROscorerTools はまた、PROscorerパッケージの機能の構成要素を提供します。 PROscorerTools にはいくつかの「ヘルパー」関数が含まれており、各関数はPROのような測定器を採点する際によくある特定のタスクを実行する(例えば、項目の逆コーディング)。 しかし、ほとんどのユーザーは、scoreScale()
関数だけで採点のニーズに対応できることに気づくでしょう。
scoreScale()
関数PROscorerToolsの主力関数は、scoreScale()
関数です。 この関数の基本的な仕事は、いくつかの項目に対する回答を含むデータフレームを受け取り、それらの項目に対する1つのスコアを出力することです。 関数scoreScale()
はシンプルで柔軟な引数を持ち、ほとんどすべてのスコアリングの状況を扱うことができます。
機能:
__リバースコーディング:__スコアを計算する前に、scoreScale()
はすべての項目をリバースコーディングしたり、特定の項目だけをリバースコーディングしたり、項目をリバースコーディングしないこともできます(デフォルトはリバースコーディングなし)。
異なる種類スコア: ある楽器は、項目の回答を合計してスコアリングする必要があり、他の楽器は項目の回答の平均を取る必要があり、また、合計や平均のスコアを0から100の範囲に再スケーリングする必要があります。 これら3種類のスコアタイプはすべて、scoreScale()
関数で利用できます。
欠損値のスコア計算: ほとんどの指標では、ある数の項目の回答が欠落していても、有効なスコアを得ることができます。 例えば、EORTC QLQ-C30 では、ある尺度の項目のうち少なくとも50%が欠落していなければ、スコアを計算することができます。 scoreScale()
関数では、許容される項目欠落の割合を指定することができ、スコアは項目欠落のないスコアと同等になるように按分されます。 回答者が許容された割合以上の項目を欠落させた場合、その回答者には欠落したスコアが割り当てられます(例:NA
)。
複数のスコアを持つ楽器の採点: 複数のスコアを持つ複雑な楽器は、scoreScale()
関数の複数の呼び出しを組み合わせることで採点できます。 実際、PROscorer パッケージのほとんどの関数は、scoreScale()
を複数回呼び出します。
CRANから安定版をインストールしてください(推奨)。
install.packages("PROscorerTools")
PROscorerTools や PROscorer パッケージの開発に貢献したい場合は、GitHub から開発版をインストールすることができます(通常は推奨しません)。:
::install_github("raybaser/PROscorerTools") devtools
R 環境に PROscorerTools をロードします:
library(PROscorerTools)
例として、makeFakeData()
関数を使って、20人の架空の回答者から6つの偽の項目に対する回答を集めたデータフレームを作ってみます。 作成されたデータセット(名前は “dat”)には、“id” という変数と、20人の架空の回答者による6つの項目(名前は “q1”、“q2”など)に対する回答が含まれています。 また、欠落している回答(「NA」)も散見されます。
<- makeFakeData(n = 20, nitems = 6, values = 0:4, id = TRUE) dat
以下では、scoreScale
関数を使って、“dat”の偽の回答を採点します。 items
という引数を使って、スコアリングしたい項目がどの変数にあるかを scoreScale
に伝えます。 回答を合計して項目を採点します(type = "sum"
)。 偽のアンケートから得られたスコアを “dat_scored” というデータフレームに保存します。
<- scoreScale(df = dat, items = 2:7, type = "sum")
dat_scored dat_scored
デフォルトでは、scoreScale
は回答者が項目の50%以上を欠落していない限り、回答者の項目を採点します。 これは okmiss
という引数で変更することができます。 上の例では、デフォルトで okmiss = 0.50
となっているので、回答者が6項目中3項目を欠落していても、スコアが割り当てられます(4項目以上を欠落している場合には、スコアは NA
となります)。 下の図では、再び項目を採点していますが、今回は、項目の半分以下の欠落でも採点できるようにしています(okmiss = 0.49
)。
<- scoreScale(df = dat, items = 2:7, type = "sum", okmiss = 0.49)
dat_scored dat_scored
デフォルトでは、scoreScale
は回答者が項目の50%以上を欠落していない限り、回答者の項目を採点します。 これは okmiss
という引数で変更することができます。 上の例では、デフォルトで okmiss = 0.50
となっているので、回答者が6項目中3項目を欠落していても、スコアが割り当てられます(4項目以上を欠落している場合には、スコアは NA
となります)。 以下、再び項目を採点しますが、今回は項目の半分以下の欠落でも採点できるようにしました(okmiss = 0. 49
)。
<- scoreScale(df = dat, items = 2:7, type = "sum", okmiss = 0.49)
dat_scored dat_scored
関数 scoreScale
の詳細については、R に ?scoreScale
と入力することで、その “ヘルプ” ページにアクセスすることができます。
R パッケージの PROscorer ファミリーには、PROscorer、PROscorerTools、FACTscorer があります。
これら3つのパッケージの開発における私の優先順位は以下の通りです。
パッケージが引数をチェックし、scoreScale
や他のカスタムライティングされたスコアリング関数への入力を処理する方法を合理化する。 現在のシステムは仕事をこなすことはできますが、あまり美しいものではありません。 これらのタスクを実行するための、よりエレガントで使いやすいシステム(おそらく assertive パッケージを使用)が、PROscorer パッケージ(特定の、よく使われる PRO 用のカスタム採点関数を含む)の拡張を加速すると信じています。 次回の PROscorerTools のメジャーアップデートでは、このシステムの安定版を提供したいと考えています。
PROscorer と PROscorerTools のユニットテストフレームワークをより包括的にする。 PROscorer 関数の基礎となるコードのほとんどは、すでに PROscorerTools のテストによってテストされているでしょう。 しかし、私や他の人が彼らのスコアリング関数にユニットテストを追加することを容易にするために、PROscorer 関数のための標準的なテストセットを考え出すつもりです。
PROscorer を拡張し、特定のPROのための採点関数を増やす。 いずれにしても、私は仕事のためにこれをしなければなりませんが、新しいスコアリング関数を書くことは、上記の1と2のプログラミングにも役立ちます。
ユーザーが PROscorerTools を使って自分の好きな PRO のためのスコアリング関数を書き、PROscorer に含めるために提出することができる共同インフラストラクチャ(例えば、GitHub上)を完成させます。 この主要な要素は、得点関数を書くためのステップバイステップのガイド、機器の説明を書くためのガイドライン、関数のドキュメントを書くためのテンプレートを含む、いくつかの説明用のヴィネットを追加することです。
FACTscorer パッケージの更新。 FACTscorer は、FACT(Functional Assessment of Cancer Therapy)およびFACIT(Functional Assessment of Chronic Illness Therapy) ファミリーの尺度を採点します。 PROscorerTools を書く前に、私は基礎となる FACTscorer のコードのほとんどを完全に書き直し、より確実で将来の更新が容易になるようにしました。 また、PROscorer に同梱されているものと同様の「指標の説明」vignette も書きました。 私は FACTscorer のアップデートの最後の仕上げを行い、上記の作業が終わり次第、リリースする予定です。
IRT ベースのスコアを使用している PRO に対して、IRT ベースのスコアを生成する機能を追加する。 私は、様々な PROMIS 指標を使用している多くの研究者を知っています。 彼らは IRT ベースの採点法を使いたいと思っているが、研究のワークフローに統合するのが難しすぎると感じている。 PROscorer は、IRT ベースのスコアをより多くの研究者が利用できるようにしてくれるでしょう。
PROscorerTools パッケージの “help”ページにアクセスするには、Rに ?PROscorerTools
と入力してください。
機能要求がある場合、または PROscorerTools のバグや他の奇妙な動作を報告したい場合は、PROscorerTools GitHubページ で提出してください。
PROscorerTools vignettes をご覧ください。
より複雑なスコアリング関数の中で scoreScale
関数を使用する方法の例については、PROscorer パッケージのいくつかの関数のソースコードをチェックしてください。