我收集的数据分布如下:
数据由5个观察到的数字(从1到90)组成。 在每条记录上,数字都是唯一的,即记录不能多次观察到相同的数字,但是不同的记录可以观察到相同的精确数字。 我有大约50,000条记录,我想找到数字出现频率的标准偏差。
示例数据:
RECORD1 : 7, 9, 67, 32, 89
RECORD2 : 56, 37, 66, 1, 27
RECORD3 : 1, 7, 54, 48, 90
依此类推。 数据保存在mysql中,我最好使用php表示数据,但是除了代码外,我想了解有关如何计算出现频率的标准偏差的技术。 如果可能的话,仅使用mysql代码会更好,更快得多。
我已经通过创建以下sql代码来如下计算频率:
$query = "Select ";
for($_i = 1; $_i < 91; $_i++)
{
$query.= "(Select count(*)
from tbl_occur
where clm_number_1 = $_i
or clm_number_2 = $_i
or clm_number_3 = $_i
or clm_number_4 = $_i
or clm_number_5 = $_i) as freq_$_i";
if ($_i < 91) $query .= ", ";
}
这将导致以下sql查询,但是当然在循环中,我得到所有90个数字的频率,这仅是数字1
Select (Select count(*)
from tbl_occur
where clm_number_1 = 1
or clm_number_2 = 1
or clm_number_3 = 1
or clm_number_4 = 1
or clm_number_5 = 1) as freq_1,
此致