R:指定样本函数概率的麻烦

时间:2017-08-03 19:35:55

标签: r

> sample(c(2), 10, replace = TRUE, prob = 1)
Error in sample.int(x, size, replace, prob) : 
  incorrect number of probabilities
> sample(c(1), 10, replace = TRUE, prob = 1)
 [1] 1 1 1 1 1 1 1 1 1 1

在第一个例子中,我想对矢量2进行十次采样,替换,每次都有概率= 1.我希望输出为2 2 2 2 2 2 2 2 2 2

但是,它似乎适用于1

的向量

1 个答案:

答案 0 :(得分:7)

尝试删除prob = 1,你会得到什么?

> set.seed(123)
> sample(c(2), 10, replace = TRUE)
# [1] 1 2 1 2 2 1 2 2 2 1

help(sample)

  

<强>用法

     

sample(x, size, replace = FALSE, prob = NULL)

     

如果x的长度为1,则为数字(在is.numeric意义上),x> = 1,   样品取样从1:x进行。注意这方便   当x具有不同的长度时,特征可能导致不希望的行为   诸如sample(x)之类的调用。参见示例。

因此,它从1:2而不是2进行抽样。