我有一个药物分析实验,需要根据给定的药物数据库和1000
组随机实验生成一个值。
original database
看起来像这样,其中列中的数字代表药物的等级。这是actual database
的简化版本,actual database
将有更多的Drug
和更多的Gene
。
+-------+-------+-------+
| Genes | DrugA | DrugB |
+-------+-------+-------+
| A | 1 | 3 |
| B | 2 | 1 |
| C | 4 | 5 |
| D | 5 | 4 |
| E | 3 | 2 |
+-------+-------+-------+
根据用户的输入A
和C
,使用以下公式计算分数:
# Compute Function
# ['A','C'] as array input
computeFunction(array) {
# do some stuff with the array ...
}
所使用的公式对于任何提供的值都是相同的。
对于随机性测试,每组实验都需要算法提供A
和C
的随机值,因此A
和C
可以具有1
至5
现在,我有两种选择值的方法来生成1000
集以进行P值计算,但是我需要有人指出是否有一个比另一个更好的方法,或者是否有任何方法可以比较这两种方法。
方法1
根据上面显示的给定数据库输入生成1000
随机数据库,这意味着所有表应包含一组不同的值对。
来自1
随机数据库的1000
数据库的示例:
+-------+-------+-------+
| Genes | DrugA | DrugB |
+-------+-------+-------+
| A | 2 | 3 |
| B | 4 | 4 |
| C | 3 | 2 |
| D | 1 | 5 |
| E | 5 | 1 |
+-------+-------+-------+
接下来,我们使用新的computeFunction()
和A
值执行C
。
方法2
从original database
中选择任意随机基因,并将其用作新随机化的基因值。
例如,我们从E
和B
中选取值作为A
和C
的新值。
在original database
中,E
是3,B
是2。
因此,现在A
为3,C
为2。接下来,我们以新的computeFunction()
和A
值执行C
。
摘要
由于两种方法均产生完全随机的输入,因此在我看来它将产生类似的1000-value
结果。我有什么办法可以证明它们是相似的?