16

我需要做一个非常简单的任务,但由于我不精通 RI,所以我不知道该怎么做。我必须创建一个包含 100 个数字的向量,其随机值从 0 到 1,其中包含 2 个十进制数字。我试过这个:

 x2 <- runif(100, 0.0, 1.0)

效果很好,但是这些数字有 8 个十进制数字,我只需要 2 个。

4

6 回答 6

12

也许还有:

(sample.int(101,size=100,replace=TRUE)-1)/100
于 2013-07-21T13:10:58.513 回答
9

所以你想从集合 { 0, 1/100, 2/100, ..., 1 } 中随机抽取数字?然后在代码中准确地写出来:

hundredths <- seq(from=0, to=1, by=.01)
sample(hundredths, size=100, replace=TRUE)
于 2013-07-22T02:05:28.657 回答
6

希望这可以帮助

x1 = round(runif(100,0,1), 2)
  • 100: 随机数个数
  • 0: 最小值
  • 1: 最大值
  • 2:四舍五入到小数点后两位
于 2017-07-22T22:39:04.480 回答
5

或者

x2 <- round( runif(100, -0.005, 1.0049, 2 )
于 2013-07-21T14:25:39.513 回答
3

简单修复:x2 <- round(runif(100, 0.0, 1.0), digits=2)

将四舍五入到两个 DP。

于 2015-07-29T01:39:35.277 回答
0

您可以使用roundoverrunif来生成随机数。

Vector = round(runif(随机数个数,最小值,最大值),小数位)

例如:Vector = round(runif(10,0,1),3)//它生成 10 个小数点后 3 位的随机数

于 2019-02-24T15:38:14.003 回答