我正在尝试调试一个简短的程序,在某些条件下从向量元素中抽取样本时,最后得到了令人不安的结果。当向量中剩余的元素减少到单个值时会出现此问题。
在我所指的特定情况下,向量被称为remaining
,包含一个单独的元素,即数字2
。我期望从该向量中抽取大小为1的任何样本都会顽固地返回2
,因为它是向量中唯一的元素,但事实并非如此:
Browse[2]> is.vector(remaining)
[1] TRUE
Browse[2]> sample(remaining,1)
[1] 2
Browse[2]> sample(remaining,1)
[1] 2
Browse[2]> sample(remaining,1)
[1] 1
Browse[2]> sample(x=remaining, size=1)
[1] 1
Browse[2]> sample(x=remaining, size=1)
[1] 2
Browse[2]> sample(x=remaining, size=1)
[1] 1
Browse[2]> sample(x=remaining, size=1)
[1] 1
Browse[2]> sample(x=remaining, size=1)
[1] 1
正如您所看到的,有时返回值是1
,有时是2
。
我对sample()
函数的理解有什么误解吗?
Browse[2]> all(remaining==2) [1] TRUE
- Antoni Parellada