Случайные множества с тремя случайными числами в нем (выборка случайных точек в кубе) - PullRequest
0 голосов
/ 13 декабря 2018

Каждая точка внутри куба имеет три значения (оси X, Y и Z).В R имеются встроенные функции, относящиеся к генерации наборов с одним случайным числом (одно число на наблюдение), такие как runif(), sample(), rnorm(), set.seed() и т. Д. Мышление вПо аналогичной логике числа генерируются на одной оси с этими функциями.

Мой вопрос:

  • Есть ли какая-либо функция для генерации случайных наборов с тремя случайными числами в ней (или обобщающие, случайные наборы с более чем одним числом на наблюдение)?
  • Какой должен быть подход, если ответ не для первого?

1 Ответ

0 голосов
/ 13 декабря 2018

Рассматривая случай кубов, 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 и т. Д.

Если подумать об этом по-другому, вы хотите выбрать из многовариантного распределение, где, возможно, у нас даже есть некоторая зависимость.Для этого также есть функции, такие как ?mvrnorm в пакете MASS или ?rdirichlet в MCMCpack.Однако, когда речь идет, скажем, о точках, равномерно распределенных в кубе, следуя вышеприведенному подходу, стандартно, и, если есть необходимость, вы можете определить соответствующую функцию для многомерного равномерного распределения с независимыми компонентами.

...