全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
16743 16
2014-02-24
悬赏 200 个论坛币 已解决

数据框testdata中有若干个表格的数据,其中的8个表格数据如下:

abcda1b1c1d1

1 2215313.22666671.033333338.997.75

2 80013.69064750.291366912.65467632.3633094

3 01000.39259260.037037040.30370370.2666667

4 01000.39259260.037037040.30370370.2666667

5 01000.39259260.037037040.30370370.2666667

6 161311924.3273811.9940476222.532738118.1458333

7 20724.24285710.353571433.49642862.9071429

8 00051.93430660.164233581.49635041.4051095

说明:上面8个表格中各有8个数值,每个表格中的前四个值为观测频次(a,b,c,d),后面四个值为前面四个观测频次对应的期望频次(a1,b1,c1,d1)。例如,第一个表格中的四个观测频次为22153,它们各自对应的期望频次为13.22666671.033333338.997.75



我现在需要对每个表格中的每个观测频次进行二项分布检验(binomial test),计算出p值。

计算使用的公式为: binom.test(观测频次, 观测频次总数, 期望频次/(即除以)观测频次总数, alternative="??")$p.value,其中alternative选项部分由观测频次与其对应的期望频次大小关系来决定,当观测频次大于期望频次时,选用alternative="greater";当观测频次小于期望频次时,选用alternative="less".

例如第一个表格中四个观测频次的总数为31(即22+1+5+3),对第一个值22与其对应的期望频次13.2266667进行二项分布检验,计算过程为binom.test(22,31,13.2266667/31,alternative="greater")$p.value

最后的p值为0.001356598;对第二个值1与其对应的期望频次1.03333333进行二项分布检验,计算过程为binom.test(1,31,1.03333333/31,alternative="less")$p.value,最后的p值为 0.723323



问题:1. 要对每个表格中的的每个观测频次与其期望频次进行二项分布检验,如何一次行计算出其所有p值?

      2. 再将计算出的所有p值进行对数转换(以10为底)?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-2-24 17:08:47
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-2-24 17:59:08
自己顶一下!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-2-24 22:13:25
write a function
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-2-24 22:26:09
你已经描述的这么清楚了, 也应该知道这么写了吧
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-2-24 23:03:15
用EXCEL可以很快做到(我不会用R):
在空白EXCEL sheet的第A2~H9(这个8格×8格)的范围内输入你的数据(8×8),例如A2输22,B2输入1,..., A3输入8,...,然后在J列输入求和公式,J2格输入=SUM(A2:D2),COPY该公式到J3~J9.然后在K2输入公式=IF(A2>E2,1-BINOMDIST(A2,$J2,E2/$J2,TRUE),BINOMDIST(A2,$J2,E2/$J2,TRUE)),COPY该公式到K2~N9的范围内。那么K2到N9范围内显示的就是所有你要的p值。
如果你要取LOG,可以在K11输入公式=IFERROR(LOG10(K2),"N/A"),然后COPY公式到K11~N18的范围内,注:IFERROR是为了不出错,因为有p值为0,取LOG无意义。就全部做到你要的结果了。
不过,我计算出来的第一个p值是0.0003746,不是你举的例子0.001356598(虽然第2个跟你的一样0.723323),不知为何,你可以检查一下,如我有错,请指正。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群