R语言求95%置信区间

标准正态分布下mean=0,sd=1
95%置信区间为[mean-1.96*sd,mean+1.96*sd]
即左侧概率和为97.5%的数据减去左侧概率和为2.5%的数据,期间的数据概率即为95%的置信区间。那为什么是1.96倍呢,先看两个函数

dnorm

dnorm中的d表示densitynorm表示正态分布,这个函数是正态分布的概率密度(probability density)函数
给定x,μ和σ后,dnorm()这个函数返回的就是会返回上面的这个公式的值,如果是标准正态分布,dnorm(n,mean=0,sd=1)输出就是当取n时的概率值,就是正态分布图当x=n时y的值。

> dnorm(0,mean=0,sd=1)
[1] 0.3989423
> pnorm(0,mean=0,sd=1)
[1] 0.5

pnorm

pnorm函数中的p表示Probability,它的功能是,在正态分布的PDF曲线上,返回从负无穷到q的积分,其中这个q指的是一个Z-score,x=(mean+Z-score*sd)时的Z-score。现在我们大概就可以猜测出pnorm(0)的值是0.5,因为在标准正态分布曲线上,当Z-score等于0时,这个点正好在标准正态分布曲线的正中间,那么从负无穷到0之间的曲线面积就是整个标准正态分布曲线下面积的一半,pnorm(n,mean=0,sd=1)输出从负无穷到mean+sd*n的概率总和

> pnorm(1.96,mean=0,sd=1)
[1] 0.9750021
> pnorm(-1.96,mean=0,sd=1)
[1] 0.0249979
> pnorm(0,mean=0,sd=1)
[1] 0.5
> pnorm(3,mean=0,sd=1)
[1] 0.9986501
> pnorm(3,mean=0,sd=1)-pnorm(-3,mean=0,sd=1)
[1] 0.9973002
> pnorm(1.96,mean=0,sd=1)-pnorm(-1.96,mean=0,sd=1)
[1] 0.9500042

用的最多的是3倍sd,相当于在正态分布落在3倍sd区间的概率为99.73002%,落在1.96倍sd区间的概率为95.00042%

那怎么求标准正态分布下0.975%,0.025%对应的Z-score呢,利用qnorm函数,非标准正态下不能这么求,因为qnorm函数输入的是分位值。或者查询正态分布表。

> qnorm(0.975,mean=0,sd=1)
[1] 1.959964
> qnorm(0.025,mean=0,sd=1)
[1] -1.959964

rnorm

rnorm()函数的功能用于生成一组符合正态分布的随机数,在学习各种统计学方法时,rnorm这个函数应该是最常用的,它的参数有n,mean,sd,表示随机生成n个正态分布均值为mean标准差为sd时的一组数据,如下所示:

> rnorm(10)
 [1] -0.2415323  1.9931196 -0.6226402  0.6725090 -0.8638580 -1.3569382
 [7]  0.4761234  0.6999504  0.4408161  0.3819532
> rnorm(
n=     mean=  sd=    
> rnorm(n=20,mean=1,sd=2)
 [1] -0.02763552  2.96251058  3.16586194  1.45967947  3.03086226  3.09190195
 [7]  0.46527166  3.69744544  1.15093511  0.69325058 -0.02883520  3.17007355
[13] -2.22805708  2.54630482  3.73819504  3.41704757 -0.04029577  0.68659838
[19]  1.04733424  4.68370675
example.png

当出现如图所示的分布,近似正态分布,但是左右胖瘦不太一致时,这是现实中普遍存在的分布情况,如高通量测序过程中的碱基GC分布,这种情况求95%区间的方法

conf_func = function(data,col){
    set = density(data[,col])
    max_midu = set$x[which.max(set$y)]
    right = data[data[,col] > max_midu,col]
    left = data[data[,col] < max_midu,col]
    max = max_midu + sd(c(right,max_midu*2-right))*1.96
    min = max_midu - sd(c(left,max_midu*2-left))*1.96
    return(list(set,max_midu,min,max,max(set$y)))
    }

-先求取左侧部分的sd,但是要补足右侧对称的数据
-同样求右侧部分的sd,同时补足左侧对称的数据
-用最高密度值时max_gc值加减1.96倍左右侧的sd
做出效果如图


example.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • 感谢Robert I.Kabacoff 著作本书,同时感谢高涛、肖楠、陈钢编译此书。 最近在学习《R语言实战》,...
    数据斯基阅读 3,610评论 2 7
  • 我们会根据业务的要求做各种复杂的报表,包括了分组、排序、过滤、转置、差分、填充、移动、合并、分裂、分布、去重、找重...
    fhhhfssfhh阅读 1,448评论 0 6
  • 以西瓜书为主线,以其他书籍作为参考进行补充,例如《统计学习方法》,《PRML》等 第一章 绪论 1.2 基本术语 ...
    danielAck阅读 4,484评论 0 6
  • https://mp.weixin.qq.com/s/BuHiG9FjX-OiSNWx3KquQQ 17.随机梯度...
    _龙雀阅读 3,759评论 0 4
  • 生信人应这样学R语言-生信技能树视频 一、介绍R语言及Rstudio 1、R是用于统计分析、绘图的语言和操作环境。...
    看远方的星阅读 10,334评论 3 74