R 包含三个随机数的随机集(对立方体中的随机点进行采样)

R 包含三个随机数的随机集(对立方体中的随机点进行采样),r,random,R,Random,立方体中的每个点都有三个值X、Y和Z轴。R中有内置函数,用于生成具有单个随机数的集合,每个观测值一个数字,如runif、sample、rnorm、set.seed等。按照类似逻辑,这些数字是在单个轴上生成的,带有这些函数 我的问题是: 是否有任何函数可以生成包含三个随机数的随机集,或者泛化每个观测值包含一个以上随机数的随机集? 如果前者的答案是否定的,那么应该采取什么方法? 考虑到立方体的情况,runif完全可以灵活地实现所有这些。特别是,我们可以指定要生成的点的数量,对于每个轴,我们也可以指定

立方体中的每个点都有三个值X、Y和Z轴。R中有内置函数,用于生成具有单个随机数的集合,每个观测值一个数字,如runif、sample、rnorm、set.seed等。按照类似逻辑,这些数字是在单个轴上生成的,带有这些函数

我的问题是:

是否有任何函数可以生成包含三个随机数的随机集,或者泛化每个观测值包含一个以上随机数的随机集? 如果前者的答案是否定的,那么应该采取什么方法?
考虑到立方体的情况,runif完全可以灵活地实现所有这些。特别是,我们可以指定要生成的点的数量,对于每个轴,我们也可以指定不同的范围。比如说,

lower <- c(0, 10, 20)
upper <- c(1, 11, 21)
n <- 5
matrix(runif(n * 3, lower, upper), ncol = 3, byrow = TRUE)
#            [,1]     [,2]     [,3]
# [1,] 0.03372777 10.99940 20.03487
# [2,] 0.33839128 10.91506 20.61724
# [3,] 0.28628535 10.73780 20.83405
# [4,] 0.31427078 10.49257 20.69737
# [5,] 0.64146235 10.64392 20.97785
rnorm、rbeta等也是如此


从不同的角度考虑,你需要从多元分布中取样,我们甚至可能有一些依赖性。为此,还有一些函数,如MASS包中的?mvrnorm或MCMCpack中的?rdirichlet。但是,当处理(比如)立方体中均匀分布的点时,遵循上述方法是标准的,如果需要,您可以为具有独立分量的多元均匀分布定义相应的函数。

考虑到立方体的情况,runif可以非常灵活地实现所有这些。特别是,我们可以指定要生成的点的数量,对于每个轴,我们也可以指定不同的范围。比如说,

lower <- c(0, 10, 20)
upper <- c(1, 11, 21)
n <- 5
matrix(runif(n * 3, lower, upper), ncol = 3, byrow = TRUE)
#            [,1]     [,2]     [,3]
# [1,] 0.03372777 10.99940 20.03487
# [2,] 0.33839128 10.91506 20.61724
# [3,] 0.28628535 10.73780 20.83405
# [4,] 0.31427078 10.49257 20.69737
# [5,] 0.64146235 10.64392 20.97785
rnorm、rbeta等也是如此


从不同的角度考虑,你需要从多元分布中取样,我们甚至可能有一些依赖性。为此,还有一些函数,如MASS包中的?mvrnorm或MCMCpack中的?rdirichlet。然而,当处理(比如)立方体中均匀分布的点时,遵循上述方法是标准的,如果需要,您可以为具有独立分量的多元均匀分布定义相应的函数。

您不能独立生成三个随机数吗?我假设这些点在立方体内部是均匀分布的。listx=runif10,y=runif10,z=runif10@,是的,这将是最初的想法!但我想,@已经说到点子上了&优雅的解决方案!你不能独立地生成三个随机数吗?我假设这些点在立方体内部是均匀分布的。listx=runif10,y=runif10,z=runif10@,是的,这将是最初的想法!但我想,@已经说到点子上了&优雅的解决方案!谢谢你,给了我清晰而深刻的回答:没想到会这么容易!我喜欢Rhanks,因为你简洁而深刻的回答:没想到会这么容易!我爱你