2017-02-17 9 views
0

私は誰かが少しの指導や助けを私に提供できることを願っています。私は、3年間にわたって感染症の検査を受けた人口からなるデータセットを持っています。個人の一部ではなく、すべてが1年以上でサンプリングされている(したがって、それらは反復措置を表す)。私は、感染の蔓延が時間の経過とともに変化しているかどうかを判断したいが、適切な検査を決定するのに苦労している。単純な不測事態テストは、何年にもわたって繰り返される個人のために、独立の仮定に違反します。私はCochran-Mantel-HaenszelテストやMcNemar Chi-squareテストは適切ではないと思っていますが、間違っていれば私を修正してください。ここでは私が扱っているデータセットがあり、 "AnID"変数は1人の個人を表すファクタです(したがって、個人が複数年にサンプリングされた場合は、2〜3回繰り返されます)。反復測定を伴うデータのコンティンジェンシーテストを実行する

私は現実的な選択肢は、何回も(交換なし)、一度だけ個々含む毎回ランダムに再サンプリングしたデータとすること、そして年を越え有事テストを行うだろうと思います。もし差がないという帰無仮説が時間の少なくとも95%で拒絶されれば、私は確かに差があると主張することができた。私はこれで自分のコードを書くのにまだ十分ではない。あなたが提供できるあらゆる助けを前もって感謝します。

dput(例えば) 構造(リスト(ANID =構造(C(37L、37L、45L、45L、45L、55L、 55L、62L、62L、68L、68L、1L、1L、2L、 3L、3L、4L、9L、9L、18L、 18L、18L、19L、19L、19L、20L、20L、21L、22L、22L、23L、24L、24L、 24L、25L、25L、25L、26L、 27L、28L、28L、28L、29L、29L、29L、30L、 31L、32L、32L、33L、34L、35L、36L、38L、38L、39L、39L、40L、41L、 41L、42L、42L、 42L、43L、43L、43L、44L、46L、46L、46L、47L、47L、 47L、48L、48L、48L、49L、49L、49L、50L、51L、52L、52L、53L、53L、 54L、 54L、56L、56L、57L、57L、57L、58L、59L、60L、61L、63L、64L、 65L 、66L、67L、69L、70L、71L、72L、73L、74L、74L、5L、6L、7L、 8L、10L、11L、12L、13L、14L、15L、16L、17L)、.LABELの= Cの( 「10」、 「11」、「12」、「13」、「136」、「137」、「138」、「139」、「14」「140」「141」「 」「142」、 「43」、「144」、「145」、「146」、「147」、「26」、「27」、「28」、「29」、 「30」、「31」、「37」、 「43」、「41」、「42」、「43」、「44」、「45」、「 」、「46」、「47」、「48」、「49」、「5」、 「59」、「6」、「60」、「61」、「62」、「63」、「58」、「53」、「57」、「58」、「 」、 「64」、「65」、「66」、「67」、「69」、 「7」「70」「71」「72」「75」「76」「77」 「85」、「86」、「9」、「90」、「94」、「95」、「96」、「97」、「97」、「85」、「82」、「83」、 1L、2L、2L、2L、2L、3L、2L、2L、2L、3L、2L、 3L、2L、3L、2L、2L、3L) 、2L、2L、3 2L、3L、2L、1L、2L、3L、1L、2L、3L、2L、2L、1L、 2L、3L、1L、2L、3L、1L、2L、3L、 1L、2L、3L、1L、2L、2L、2L、2L、2L、2L、2L、2L、3L、012L、3L、2L、2L、3L、 1L、2L、1L、2L、1L、2L、1L、2L、1L、2L、1L、2L、1L、2L、1L、2L、1L、2L、3L、 1L、1L、1L、1L、1L、2L、3L、3L、3L、3L、3L、3L、3L、3L、3L、3L、3L、3L、3L、1L、1L、1L、1L、1L、1L、 3L、3L、3L、3L、3L)。 値= c( "Pos"、 "Pos"、 "Pos"、 "Pos"、 "Pos"、 " 「Neg」、「Neg」、 「Pos」「Pos」「Pos」「Pos」「Pos」「Neg」「Neg」「Pos」 「Neg」、 「Neg」、「Neg」、「Neg」、「Neg」、「Neg」、 「Neg」、「Neg」、「Neg」、「Pos」、「Pos」、「Pos」、「Pos」、 「Pos」、「Neg」、「Neg」、「Neg」、「Pos」、「Pos」、「Pos」、「Pos」、「Pos」、「Pos」、 「Pos」、「Pos」、「Neg」、「Pos」、「Pos」、「Neg」、「Pos」、「Neg」、 「Pos」、「Neg」、 「Neg」、「Neg」、「Neg」、「Neg」、「Pos」、 「Pos」、「Pos」、「Neg」、「Pos」、「Pos」、「Neg」、「Neg」、 「Neg」、「Neg」、「Neg」、「Neg」、「Neg」、「Neg」、「Neg」、「Pos」、「Neg」、 「Pos」、「Pos」、 「Neg」、「Neg」、「Neg」、「Pos」、「Pos」、「Pos」、「Pos」、「Pos」 "、" Neg "、 " Neg "、" Pos "、" Pos "、" Neg "、" Neg "、" Neg "、" Neg "、" "Neg"、 "Pos "Neg"、 "Neg"、 "Neg"、 "Neg"、 "Pos"、 "Pos"、 "Neg"、 "Neg"、 "Neg" .Names = c( "AnID"、 "Pos"、 "Pos"、 "Pos"、 "Neg"、 "Neg"、 "Pos"、 "Neg"、 "Pos"年」、 『値』)、row.names = 187:306、クラス= 『data.frame』)

答えて

1

その実験/テストデザインがためには、事前に、効率的なサンプルサイズの計算を必要と覚えておいてください統計的に有意な差異が存在する場合にはそれを捕捉する可能性を最大限にする必要があります。 (詳細はこちら:https://en.wikipedia.org/wiki/Sample_size_determinationおよびhttps://en.wikipedia.org/wiki/Statistical_power)。

すべてのユーザーが被験者の前後にある場合(テスト/コントロールなど)、比例比較のためのMcNemarのテストを実行できました(ここではhttps://en.wikipedia.org/wiki/McNemar's_testを参照)。

ただし、すべてのユーザーが測定を繰り返しているわけではありません。したがって、ユーザーごとにランダムに1年間を選んで3つの独立した値のサンプルを持つことができます。

は、各年の上記のパーセンテージを観察した後、あなたはここでの比率の比較

# run the statistical comparison of proportions 
prop.test(tbl1$N_Pos, tbl1$N) 

# 3-sample test for equality of proportions without continuity correction 
# 
# data: tbl1$N_Pos out of tbl1$N 
# X-squared = 4.3038, df = 2, p-value = 0.1163 
# alternative hypothesis: two.sided 
# sample estimates: 
# prop 1 prop 2 prop 3 
# 0.2608696 0.3333333 0.5416667 

P値(0.1163)が、我々示唆して実行することができます

library(dplyr) 

set.seed(1) # this will help you having a specific random sampling 

dt %>%      
    mutate(Pos = ifelse(value == "Pos", 1, 0)) %>% # create a binary variable to flag positives 
    group_by(AnID) %>%        # for each user 
    sample_n(1) %>%         # get one row/value randomly 
    group_by(year) %>%        # for each year 
    summarise(N = n(),        # get number of users 
      N_Pos = sum(Pos),      # get number of positive users 
      Prc_Pos = mean(Pos)) %>%    # get percentage of positives 
    print() -> tbl1         # print and save it 

# # A tibble: 3 × 4 
#  year  N N_Pos Prc_Pos 
# <fctr> <int> <dbl>  <dbl> 
# 1 2012 23  6 0.2608696 
# 2 2013 27  9 0.3333333 
# 3 2014 24 13 0.5416667 

... dtは、データセットであると仮定する肯定的である可能性の観点から、年の違いの証拠はありません。

違いが見つかった場合は、年間のペアワイズ比較を実行できます。

# run pairwise comparisons 
pairwise.prop.test(tbl1$N_Pos, tbl1$N) 

# Pairwise comparisons using Pairwise comparison of proportions 
# 
# data: tbl1$N_Pos out of tbl1$N 
# 
# 1 2 
# 2 0.80 - 
# 3 0.29 0.45 
# 
# P value adjustment method: holm 

ここでの出力は、(3対の比較の)3p値です。期待されているように、それらのすべては、年の違いの証拠を示唆していません。

上記のプロセスを関数内で使用し、N個のシミュレーションを作成することができます。 統計的に有意な結果が得られるシミュレーションをいくつ確認してください。

+0

ありがとうございました!これは非常にうまくいく。あなたのコードをループに入れて、プロセスを1000回繰り返します。 – giderk

+0

毎回違うランダム化を得るために 'set.seed'を削除してください。 – AntoniosK

関連する問題