a<-c(1,2,0,7,5)
Run Code Online (Sandbox Code Playgroud)
有些语言有一个选择器功能 - 从aR中选择一个随机数- 如何?
Das*_*son 77
# Sample from the vector 'a' 1 element.
sample(a, 1)
Run Code Online (Sandbox Code Playgroud)
mol*_*ean 23
以上答案在技术上是正确的:
sample(a,1)
Run Code Online (Sandbox Code Playgroud)
但是,如果你想多次重复这个过程,让我们说你想模仿掷骰子,那么你需要添加:
a<-c(1,2,3,4,5,6)
sample(a, 12, replace=TRUE)
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.
pom*_*ber 14
使用样品时要小心!
sample(a, 1)对于示例中的向量非常有用,但是当向量的长度为1时,可能会导致意外行为,它会使用向量1:a进行采样.
因此,如果您尝试从不同长度的矢量中选择一个随机项,请检查长度为1的情况!
sampleWithoutSurprises <- function(x) {
if (length(x) <= 1) {
return(x)
} else {
return(sample(x,1))
}
}
Run Code Online (Sandbox Code Playgroud)
阅读此文章关于R.生成随机数
http://blog.revolutionanalytics.com/2009/02/how-to-choose-a-random-number-in-r.html
你可以sample在这种情况下使用
sample(a, 1)
Run Code Online (Sandbox Code Playgroud)
第二个属性表明您只想获得一个随机数。在某些范围runif函数之间生成数字很有用。