だから、私はかなり単純な統計的有意性の計算をしようとしています。
私のプログラムは、タプルのリストとしてデータセットを作成します。
example_dataset = [(0, 629), (1, 546), (2, 255), (3, 72), (4, 27), (5, 2), (6, 4), (7, 0), (8, 0), (9, 0), (10, 0), (11, 0), (12, 0), (13, 0), (14, 0), (15, 0)]
各データセットは同じです。つまり、最初の項目が 0 回出現し、最後の項目が 15 回出現する 16 個のタプルのリストです。
たとえば、上記のデータセットの例では、最初のタプルは、629 個の DNA 配列が 0 回出現し、546 個の DNA 配列が 1 回出現したことを意味します。
シーケンスの合計が常に 1535 であるという点で、各データ セットも同じです。
シーケンスの 5% は 76.75 です。すべてのデータセットの上位 5% (外観に関して) がどこにあるかを知りたいです。上記のデータ セットでは、15 回の出現から 4 回の出現の間に 33 のシーケンス (4 + 2 + 27) があり、15 回の出現から 3 回の出現の間に 105 のシーケンスがあります。
つまり、76.75 シーケンスは 3 ~ 4 回の出現の間のどこかにあるということです。
手動計算ではなく、データセットごとにこの情報を見つけるにはどうすればよいですか?
上記の例のように、タプルのリストを入力および出力 4 として取得する関数を作成する必要があります (3 は既に 76.75 シーケンスを超えているため)。
another_example_dataset = [(0, 331), (1, 532), (2, 398), (3, 180), (4, 74), (5, 17), (6, 3), (7, 0), (8, 0), (9, 0), (10, 0), (11, 0), (12, 0), (13, 0), (14, 0), (15, 0)]
別の例として、上記のデータセットの場合、出力は 5 になるはずです (4 では既に 76.75 を超えているため、76.75 は 4 から 5 の間のどこかです)。
誰にもこれをコーディングするように頼むわけではありませんが、役立つコマンドやヒントをいただければ幸いです。:)
ありがとう、
エヤル