Я использую пакет GenOrd для генерации случайной порядковой переменной.
С предыдущим текстом мне удалось запустить GenOrd
Package.
https://www.r -bloggers.com / имитация-случайных-многомерных-коррелированных-данных-категориальных-переменных / Как определить «предельное распределение» в пакете GenOrd?
Однако я не могу найти способ генерирования случайной порядковой переменной с «существующими» данными.Насколько мне известно, GenOrd
генерирует только совершенно новые переменные.
Давайте рассмотрим пример, я генерирую «предыдущую» переменную с ее предельным распределением, равным 0,5 для 1, 0,1 для 2, 0,4 для 3.
set.seed(1001)
previous<-sample(c(1, 2, 3), size = 100, replace = TRUE, prob = c(0.5, 0.1, 0.4))
previous
[1] 2 1 1 1 1 3 1 1 1 3 1 1 3 1 1 3 1 1 1 3 3 1 2 3 1 3 3 1 2 1 3 2 2 1 1 1 1 3 3 1 1 1 3 1 2 1 3 1 3 3 1 1 1 3 3 3 1 1 1 2
[61] 3 3 3 1 1 3 2 1 1 1 2 3 2 3 1 1 1 3 3 1 1 3 3 1 3 3 1 1 1 1 3 3 1 1 3 2 3 2 2 1
и я сгенерирую новую переменную, и я предполагаю, что ее корреляция с предыдущей переменной равна 0,8.Таким образом, корреляционная матрица
> R <- matrix(c(1,0.8,0.8,1),2,2)
> R
[,1] [,2]
[1,] 1.0 0.8
[2,] 0.8 1.0
В этой ситуации, как я могу сгенерировать новую порядковую переменную с ожидаемыми данными?Если есть другой способ лучше, чем использовать пакет GenOrd
, я был бы очень признателен за вашу помощь.