1
  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 在做什么。提前感谢所有帮助。

4

1 回答 1

2

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

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

在第二行中,您N从数字 1 到 6 中随机选择值(带替换)。每个值的概率在 中指定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)]将返回一个包含来自 vector 的N值的向量p1

Y <- rbinom(N,1,p1[c(T)])

由于指定的二项式分布只有一次试验,因此向量Y将包含零和一。

于 2013-02-03T09:16:15.170 回答