R小推车

《Modern Statistics for Modern Bi

2019-03-01  本文已影响103人  热衷组培的二货潜

Modern Statistics for Modern Biology

书籍目录

1.1 本章的目标

1.2 一个真实的案例

  CSDN-markdown语法之如何使用LaTeX语法编写数学公式
  Markdown中公式的写法(Latex)
                  $\sqrt{x^3}$ : \sqrt{x^3}

  事实上,我们可以推断出更详细的信息。如果我们想知道在Poisson(5)模型下发生3个突变的频率,我们可以使用一个R函数来生成看到x=3个事件的概率,取泊松分布的发生率参数的值,称为lambda(λ希腊字母,例如λ和μ通常表示表征我们使用的概率分布的重要参数)。 X表示给定区间的事件发生次数,例如一个星期内的损坏次数。如果X符合泊松分布,且每个区间内平均发生的λ次,或者说发生率为λ,则写作:X ~ Po(λ)

> dpois(x = 3, lambda = 5)
[1] 0.1403739

  这就是说,看到三个事件的几率大约是0.14,也就是大约7个事件中就有1个。

> 0:12
 [1]  0  1  2  3  4  5  6  7  8  9 10 11 12
> dpois(x = 0:12, lambda = 5)
 [1] 0.006737947 0.033689735 0.084224337 0.140373896 0.175467370 0.175467370
 [7] 0.146222808 0.104444863 0.065278039 0.036265577 0.018132789 0.008242177
[13] 0.003434240
> test <- dpois(x = 0:12, lambda = 5)
> barplot(test, names.arg = 0:12, col = "red")    ## 图1.1

names.arg:  在每个条下出现的名称的向量
图1.1
  数学理论告诉我们,看到值x的泊松概率是由公式 图 1.2
> rbinom(15, prob = 0.5, size = 1)
 [1] 1 0 1 0 0 0 0 1 0 1 1 0 1 0 1

1.3.2 Binomial success counts (翻译不准,故放原文)

> rbinom(1, prob = 2/3, size = 12)
[1] 9
> set.seed(235569515) ## 上面不是提到不同人运行结果不一样,这里设置seed后大家运行的结果就一致了。
> rbinom(1, prob = 0.3, size = 15)
[1] 5

问题 1.3 :将此函数调用重复十次。最常见的结果是什么?
4,因为毕竟这是一个服从B(15, 0.3)的二项分布函数

> probabilities = dbinom(0:15, prob = 0.3, size = 15)
> round(probabilities, 2)
 [1] 0.00 0.03 0.09 0.17 0.22 0.21 0.15 0.08 0.03 0.01 0.00 0.00 0.00 0.00 0.00 0.00
barplot(probabilities, names.arg = 0:15, col = "red")

图 1.3 可以看到频率最高的为4
> dbinom(3, prob = 2/3, size = 4)
[1] 0.3950617

#x 
     vector of (non-negative integer) quantiles.
     分位数(非负整数)向量。
#q 
     vector of quantiles.
     分位数向量。
#p 
     vector of probabilities.
     概率向量。
#n 
     number of random values to return.
     返回随机值的数量。
#lambda 
     vector of (non-negative) means.

     均值(非负)向量。

#log, log.p 
     logical; if TRUE, probabilities p are given as log(p).
     逻辑型,如果为真,概率p作为log(p)给定。

#lower.tail 
     logical; if TRUE (default), probabilities are P[X ≤ x], otherwise, P[X > x].
     逻辑型,如果为真(默认),概率是P[X<=x], 否则概率为P[X>x].

假定在一次实验中,事件A发生的概率为0.1,那么进行11次这样的实验,观察到4次的概率是多少?
答案是Binomial Probability: P(X = 4)= dbinom(4,11,0.1)
[1] 0.0157838

观察到小于等于4次的概率是多少?
Cumulative Probability: P(X < =4)= pbinom(4,11,0.1)
[1] 0.997249

1.3.3 泊松分布

> 5^3 * exp(-5) / factorial(3)
[1] 0.1403739

> dpois(3, 5)
[1] 0.1403739
> rbinom(1, prob = 5e-4, size = 10000)
[1] 2
> simulations = rbinom(n = 300000, prob = 5e-4, size = 10000)
> barplot(table(simulations), col = "lavender")

1.3.4 A generative model for epitope detection

已知参数的ELISA误差模型

ELISA酶联免疫吸附试验。检测方法用于检测蛋白质不同位置的特定表位。假设我们使用的ELISA阵列具有以下事实:

一个病人的数据

一个病人的芯片数据如下

##   [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
##  [30] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
##  [59] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
##  [88] 0 0 0 0 0 0 0 0 0 0 0 0 0

50个芯片数据的结果

> setwd(dir = "E://compute language/NGS/Modern Statistics for Modern Biology/data")
> load("e100.RData")
> barplot(e100, ylim = c(0, 7), width = 0.7, xlim = c(-0.5, 100.5),
+   names.arg = seq(along = e100), col = "darkolivegreen")
> 1 - ppois(6, 0.5)
[1] 1.00238e-06

> ppois(6, 0.5, lower.tail = FALSE)
[1] 1.00238e-06

Poisson分布的极值分析

停,停止!。在这种情况下,上述计算不是正确的计算。

问题1.6
如果我们想要计算在没有表位的情况下观察到这些数据的概率,你能发现我们推理中的缺陷吗?

真实的计算数字

模拟计算概率

> maxes = replicate(100000, {
+   max(rpois(100, 0.5))
+ })
> table(maxes)
maxes
    1     2     3     4     5     6     7     9 
    7 23059 60817 14355  1605   141    15     1 
> mean( maxes >= 7 )
[1] 0.00016
上一篇 下一篇

猜你喜欢

热点阅读