0

スタック交換でこれに対する解決策を見つけることができませんでした。

次の例のマトリックス (最初の 8 つの値のみを表示) は、20 回の公平なコイン投げ (表 = 1、裏 = 0) の合計を示しています。

print(Flips)
     [,1]
 [1,] 16  
 [2,] 11  
 [3,]  8   
 [4,]  9   
 [5,]  9   
 [6,]  7   
 [7,] 10  
 [8,] 14  

成功したすべてのフリップ (表) の p 値、0 から 20 を別のオブジェクト pvalues (二項分布を使用して計算) に保存しています。

read.table("p_values.txt", header=T)
   ID Heads    p_value
1   1     0 0.0000010
2   2     1 0.0000191
3   3     2 0.0001812
4   4     3 0.0010872
5   5     4 0.0046206
6   6     5 0.0147858
7   7     6 0.0369644
8   8     7 0.0739288
9   9     8 0.1201344
10 10     9 0.1601791
11 11    10 0.1761971
12 12    11 0.1601791
13 13    12 0.1201344
14 14    13 0.0739288
15 15    14 0.0369644
16 16    15 0.0147858
17 17    16 0.0046206
18 18    17 0.0010872
19 19    18 0.0001812
20 20    19 0.0000191
21 21    20 0.0000010

私がやりたいことは、p 値ファイルにあるデータに基づいて各行に p 値を割り当てるマトリックス "Flips" に新しい列を割り当てることです。

たとえば、新しい行列では、行 [,1] に 0.00462055 の p 値が割り当てられます。私は R プログラミングが初めてで、cbind を使用して新しい列を割り当てる方法を知っていますが、R に対応する成功数/20 に p 値を割り当てる方法がわかりません...

4

1 に答える 1

1

matchデータが順序付けされていない場合に使用できます

 cbind(Flips, df1[,3][match(Flips[,1], df1$Heads)])
于 2015-07-27T06:38:36.780 に答える