我正在使用GenOrd包生成随机序数变量。
使用先前的文字,我设法运行了GenOrd
软件包。
https://www.r-bloggers.com/simulating-random-multivariate-correlated-data-categorical-variables/ How to define 'marginal distribution' in GenOrd package?
但是,我找不到如何使用“现有”数据生成随机序数变量。据我所知,GenOrd
仅生成全新的变量。
让我们举个例子,我生成“上一个”变量,其边际分布为1的0.5、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
包更好的方法,我将非常感谢您的帮助。