R中的'sample()'是否可以按指定顺序进行采样?

R中的'sample()'是否可以按指定顺序进行采样?,r,function,random,sampling,R,Function,Random,Sampling,我想知道如何从1到1000生成1000个整数,在R中一次生成一个。将其作为函数,这意味着在函数的第一次运行时,函数应生成1,第二次运行2,第三次运行31000 我在R中尝试了以下方法,但没有成功: gen = function(n){ sample(1:n, 1, replace = FALSE) } gen(1000) gen这是非常糟糕的做法,您最好重新考虑您的计划,但我们可以使用全局变量,使用看起来你想要的是来自迭代器的东西。顺便说一句,这是一个可怕的想法。你可能想重新考虑你的方

我想知道如何从1到1000生成1000个整数,在R中一次生成一个。将其作为函数,这意味着在函数的第一次运行时,函数应生成
1
,第二次运行
2
,第三次运行
3
<代码>1000

我在R中尝试了以下方法,但没有成功:

gen = function(n){
  sample(1:n, 1, replace = FALSE)
  }
gen(1000)

gen这是非常糟糕的做法,您最好重新考虑您的计划,但我们可以使用全局变量,使用
看起来你想要的是来自迭代器的东西。顺便说一句,这是一个可怕的想法。你可能想重新考虑你的方法。Down.voter你能解释一下为什么否决这个问题吗?@rnorouzian,我也真的不知道是谁否决了,为什么!?我想您可能误解了我的目的,我要求每次运行函数时生成一个数字。也就是说,第一次运行
gen(1000)
,函数应该生成
1
,第二次运行
gen(1000)
它必须生成
2
。我想我误解了意图,事实上我仍然不理解意图。这是迭代。复制是一个迭代器。。。。
gen <- function(n)  {replicate(1000,sample(1:n,1))}
myfunc <- function(){
  if(!exists('mycounter')){
    mycounter<<-1
  }else {
    mycounter <<- mycounter + 1
  }
  return(mycounter)
}

> myfunc()
[1] 1
> myfunc()
[1] 2
> myfunc()
[1] 3
> myfunc()
[1] 4