Skip to contents

バイアス評価のためのシミュレーションを実行する

Usage

simBias(
  lPOP,
  lSETTING,
  sSAMPLING = c("with_replace", "without_replace", "fixed"),
  nNUMTRIAL = 1,
  nNUMRETRIAL = 1000,
  bUSE_INFO_UNASSIGNED_CAT = TRUE,
  bPARALLEL = FALSE,
  sLOGFILE = NULL,
  sDBPATH = NULL,
  sDBTABLE_SUBJECT = "subject",
  sDBTABLE_CAT = "weight_cat",
  sDBTABLE_SLOT = "weight_slot",
  bAPPEND = TRUE,
  sVERBOSE = c("simple", "detail", "none")
)

Arguments

lPOP

`popdata`クラスのオブジェクト。 母集団データ。makePopで生成する。

lSETTING

`assignsetting'クラスのオブジェクト。 割付のセッティング。makeSettingで生成する。

sSAMPLING

a string. 抽出方法。以下のいずれか。

  • with_replace: 割付試行によって調査対象者を生成し、再割付試行では 調査対象者から復元無作為抽出する

  • without_replace: 割付試行によって調査対象者を生成し、再割付試行では 調査対象者から非復元無作為抽出する(調査参加順序を入れ替える)

  • fixed: 割付試行によって調査対象者を生成し、再割付試行では それらの調査対象者を同じ調査参加順序で再割付する

nNUMTRIAL

整数。 割付試行数。

nNUMRETRIAL

整数。 各割付試行における再割付試行数。

bUSE_INFO_UNASSIGNED_CAT

論理値。 再割付試行において、非割付カテゴリに属するスロットへの割付可能性を利用するか。 TRUEの場合、すべての割付可能カテゴリに属するスロット割付可能性を用いて 再割付試行を行う。 FALSEの場合、割付カテゴリに属するスロット割付可能性のみを用いて 再割付試行を行う。

bPARALLEL

論理値。 並列処理するか。

sLOGFILE

文字列。 並列処理する場合のログファイル(フルパス)。NULLだとログを出さない。

sDBPATH

文字列。 シミュレーションの結果を保存するSQLite DBのフルパス。

sDBTABLE_SUBJECT

文字列。 割付シミュレーションの結果を保存するSQLite DBのテーブル名。

sDBTABLE_CAT

文字列。 再割付シミュレーションの結果得られたカテゴリ割付頻度を保存するSQLite DBのテーブル名。

sDBTABLE_SLOT

文字列。 再割付シミュレーションの結果得られたスロット割付頻度を保存するSQLite DBのテーブル名。

bAPPEND

論理値。 TRUE: 結果をテーブルに追加する。FALSE: 上書きする。

sVERBOSE

文字列。 画面表示レベル。

Value

  • sDBPATHを指定しない場合は、シミュレーションの結果をデータフレームのリストとして返す。

  • sDBPATHを指定した場合はNULLを返す。シミュレーションの結果は、 SQLiteデータベースにテーブルとして保存される。sDBPATH が存在する場合は、 bAPPEND==FALSEであればSDBPATHに上書きし、bAPPEND==TRUEであれば追加する。 sDBPATHが存在しない場合は新規作成する。

シミュレーションの結果は次の3つのデータフレームからなる。

dfSubject: 割付シミュレーションの結果。 行はある割付試行のある調査参加者を表す。 列は以下のとおり(順不同):

  • nTrial: 試行番号

  • nSubject: 対象者番号 (調査参加順の連番)

  • nPerson: 母集団メンバー番号 (lPOP$mbCATの行番号)

  • sRowname: lPOP$mbCATの行名。lPOP$mbCATに行名がない場合はas.character(SEQ)となる

  • nCat_1: 割付カテゴリ1のカテゴリ番号(lPOP$mbCATの列番号)、ないしNA

  • ...

  • nCat_(nMAXCAT): 割付カテゴリnMAXCATのカテゴリ番号(lPOP$mbCATの列番号)、ないしNA

  • nCat: 割付スロットが属するカテゴリ番号(lPOP$mbCATの列番号)、ないしNA

  • nSlot_1: 割付スロット1のスロット番号(lPOP$mbSLOT[[nCat]]の列番号)、ないしNA

  • ...

  • nSlot_(nMAXSLOT): 割付スロットnMAXSLOTのスロット番号(lPOP$mbSLOT[[nCat]]の列番号)、ないしNA

dfStat_Cat: 再割付シミュレーションにおけるカテゴリ割付頻度。 行は調査対象者x割付可能カテゴリを表す。 列は以下のとおり(順不同):

  • nTrial: 試行番号

  • nBlock: ブロック番号

  • nBlockSize: ブロックサイズ(ブロック内の再割付試行数)

  • nSubject: 調査対象者番号

  • nCat: カテゴリ番号

  • sRowname: lPOP$mbCATの行名。lPOP$mbCATに行名がない場合はas.character(SEQ)となる

  • nPerson: 母集団メンバー番号 (lPOP$mbCATの行番号)

  • bAssign 割付試行で割付が起きていたか

  • nNumRetrial その人が1回以上出現した再割付試行数

  • gSumProp その人が1回以上出現した再割付試行におけるカテゴリ割付率の合計

  • gSumSqProp その人が1回以上出現した再割付試行におけるカテゴリ割付率の二乗の合計

  • gAssignablity_Cat: カテゴリ割付可能度(全カテゴリに占める割付可能カテゴリの割合)

dfStat_Slot: 再割付シミュレーションにおけるスロット割付頻度。 行は調査対象者x割付可能スロットを表す。 割付試行において割付可能性が判明しているスロットに 限定される(代替対象者のスロットは含まれない)。 列は以下のとおり(順不同):

  • nTrial: 試行番号

  • nBlock: ブロック番号

  • nBlockSize: ブロックサイズ(ブロック内の再割付試行数)

  • nSubject: 調査対象者番号

  • sRowname: lPOP$mbCATの行名。lPOP$mbCATに行名がない場合はas.character(SEQ)となる

  • nPerson: 母集団メンバー番号 (lPOP$mbCATの行番号)

  • nParentCat: スロットが属するカテゴリ番号

  • nSlot: スロット番号

  • bAssign 割付試行で割付が起きていたか

  • nNumRetrial 人xスロットが出現した試行数

  • gSumProp 人xスロットが出現した試行における割付率の合計

  • gSumSqProp 人xスロットが出現した試行における割付率の二乗の合計

  • gAssignablity_Slot: スロット割付可能度(全スロットに占める割付可能スロットの割合)

Details

bAPPEND==TRUEで、sDBPATHが存在し、かつ テーブルsDBTABLE_SUBJECT, sDBTABLE_CAT, sDBTABLE_SLOTが存在しない場合はエラーとなる。