在R中,如果长度大于1,则sample
函数从列表中选择一个元素,如果只有一个元素(n),则从1到n中选择一个元素。
这种双重行为对我来说是个问题,因为假设我有以下代码(我试图简化它):
sample(sample(10:20,sample(5,1)),1)
当sample(5,1)
为1时,我只会得到一个数字,否则,我将得到多个。而且,我需要以一种简单的方式来选择sample(10:20,sample(5,1))
给定的数字之一(如果只有一个,则选择唯一的数字)。
现在,我可以使用if
来避免这种情况:
a<-sample(10:20,sample(5,1))
if(length(a)>1){
sample(a)
} else {a}
但是,这变得很复杂,并且有很多依赖于此的“样本”,这将非常混乱。
所以我想知道是否有任何函数或sample
参数选择只有一个的唯一数字。
谢谢