如何在 R 中生成相关的非有序名义变量?
How to generate correlated non ordered nominal variables in R?
我需要生成两个具有 N 个非有序标称变量的样本,其中每个变量具有不同的级别数:
1 个样本:3d 变量取决于 2nd。
2 个样本:所有变量都取决于第一个。
如何在 R(或通过 Rcpp 的 C++)中执行此操作?你能建议一些方案或总体思路吗?
我在 SimCorMultRes 包中找到了 rmult.bcl
函数,但据我所知,用它生成具有不同级别数的标称变量是不可能的。
我不太明白你对样本 1 和样本 2 的要求,但不难使一个变量的分布依赖于另一个变量的内容。我将用两个变量来说明。 V2 中值的分布取决于 V1 中的值。
set.seed(2019)
V1 = sample(c("A", "B"), 100, replace=TRUE)
NumA = sum(V1 == "A")
V2 = character(100)
V2[V1 == "A"] = sample(c("X", "Y", "Z"), NumA, replace=TRUE)
V2[V1 != "A"] = sample(c("X", "Y", "Z"), 100-NumA,
prob=c(0.6, 0.3, 0.1), replace=TRUE)
table(V1,V2)
V2
V1 X Y Z
A 11 24 18
B 30 14 3
我需要生成两个具有 N 个非有序标称变量的样本,其中每个变量具有不同的级别数:
1 个样本:3d 变量取决于 2nd。
2 个样本:所有变量都取决于第一个。
如何在 R(或通过 Rcpp 的 C++)中执行此操作?你能建议一些方案或总体思路吗?
我在 SimCorMultRes 包中找到了 rmult.bcl
函数,但据我所知,用它生成具有不同级别数的标称变量是不可能的。
我不太明白你对样本 1 和样本 2 的要求,但不难使一个变量的分布依赖于另一个变量的内容。我将用两个变量来说明。 V2 中值的分布取决于 V1 中的值。
set.seed(2019)
V1 = sample(c("A", "B"), 100, replace=TRUE)
NumA = sum(V1 == "A")
V2 = character(100)
V2[V1 == "A"] = sample(c("X", "Y", "Z"), NumA, replace=TRUE)
V2[V1 != "A"] = sample(c("X", "Y", "Z"), 100-NumA,
prob=c(0.6, 0.3, 0.1), replace=TRUE)
table(V1,V2)
V2
V1 X Y Z
A 11 24 18
B 30 14 3