Excel生成完全随机和受干扰随机样本

0
313

还是由于工作的需要,需要一定的随机数据,于是又不得不用Excel来实现了,其实弄完之后想了想,PHP生成更加的容易,因为PHP的随机函数更为强大,更为便于控制。

假设要求(非我工作,只是假设过程,原理相同):

某年级有1000人学生,要求随机生成1000人的某课程的成绩,然后根据成绩划分不及格(Score<60),及格(Score<65),良好(Score<80),优秀(Score<100);另能控制优秀率(或者及格率)。

方案一:完全随机的样本

A列随机样本的生成:

=LEFT(RAND(),4)*100

B列成绩划分:

=IF(A2 < 59,"不及格",IF(A2<65,"及格",IF(A2<80,"良好","优秀")))

成绩统计:

="优秀:"&COUNTIF(B:B,"优秀")
="良好:"&COUNTIF(B:B,"良好")
="及格:"&COUNTIF(B:B,"及格")
="不及格:"&COUNTIF(B:B,"不及格")

方案二:受干扰的随机样本

E列随机样本的生成:

=RANDBETWEEN(20,80)+19

F列成绩划分:

=IF(E2 < 59,"不及格",IF(E2<65,"及格",IF(E2<80,"良好","优秀")))

成绩统计:

="优秀:"&COUNTIF(F:F,"优秀")
="良好:"&COUNTIF(F:F,"良好")
="及格:"&COUNTIF(F:F,"及格")
="不及格:"&COUNTIF(F:F,"不及格")

两个方案最主要的区别在于,RAND()和RANDBETWEE(20,80),前者生成0~1之间的随机数,后者是一个区间段的随机数,然后在加上我们的干扰数19,也可以采用RANDBETWEEN(39,99),不过效果未做对比。

来看看两方案的成绩统计图(所用样本大小99):

score-statistics

成绩散点图对比:

score-chart

上一篇网卡MAC修改工具K-MAC
下一篇WordPress首页自动截取文章摘要

留言

留言不能为空
怎么称呼您?

验证码 *