在理解rbinom输出时感到困惑

时间:2013-02-03 09:04:42

标签: r

  p1 <- c(.25,.025,.025,.1,.2,.4)

  T <- sample(1:6,size=N,replace=TRUE, prob=someprobabilityvector)
  Y <- rbinom(N,1,p1[c(T)])

嗨大家好,我是R的新手并且编程一般,需要一些帮助才能理解基础知识。有人可以向我解释上面的向量Y中发生了什么。我弄清楚p1[c(T)]上面做了什么。但不知道Y正在做什么。提前感谢所有帮助。

1 个答案:

答案 0 :(得分:2)

代码的第一行创建了一个包含六个概率的向量:

p1 <- c(.25,.025,.025,.1,.2,.4)

在第二行中,您随机选择数字1到6中的N值(替换)。每个值的概率在someprobabilityvector中指定。因此,该函数将返回长度为N的向量,包括1到6之间的值

T <- sample(1:6,size=N,replace=TRUE, prob=someprobabilityvector)

在第三行中,生成来自二项分布的N个随机数,其中包含p1[c(T)]中指定的一个试验和概率。 c(T)T相同:向量包含1到6的值。向量用于索引向量p1。因此,p1[c(T)]将返回包含来自向量N的{​​{1}}值的向量。

p1

由于指定的二项分布仅有一个试验,因此向量Y <- rbinom(N,1,p1[c(T)]) 将包含零和一。