2016-07-06 23 views
0

データフレームに1700サンプルのリストがあります。各行は、各アシスタントが異なるボックスの標本の乱数に数えたカラフルなアイテムの数を表します。 2つの利用可能な色と2つの個人が項目を数えるので、これは簡単に2×2のコンティンジェンシーテーブルを作成することができます。データフレーム行のフィッシャーの正確なテストp値を計算する

df 
Box-ID 1_Red 1_Blue 2_Red 2_Blue 
1  1075 918  29  26 
2  903 1076 135 144 
私は(フィッシャー又はバーナード等)カイ二乗検定を実行するために偶然テーブルとしてすべての行(ベクトルまたは行列のいずれか)を扱うことができる方法を知っているとpである第6列を生成したい

値。 これは私がこれまで試したものですが、私は

df$p-value = chisq.test(t(matrix(c(df[,1:4]), nrow=2)))$p.value 
+0

ような何かを行うことができると思い、それが正しいかどうかわかりませんRも同様です。 'apply(df [-1]、1、function(x)....)'のように 'apply'文にコードを置く必要があります。' x'は4つの数字です行列に入れることができる各行にある。 – thelatemail

+0

apply()またはby()を使用しても、2x2行列の生成は依然として問題です。 –

答えて

2

は、私がfisher.test`に? `があります、あなたはまず、この

df$p_value <- apply(df,1,function(x) fisher.test(matrix(x[-1],nrow=2))$p.value) 
関連する問題