【问题标题】:How to generate correlated non ordered nominal variables in R?如何在 R 中生成相关的无序名义变量?
【发布时间】:2019-09-15 10:23:26
【问题描述】:

我需要生成两个具有 N 个无序名义变量的样本,其中每个变量具有不同的级别数:

1 个样本:3d 变量取决于第二个。

2 个样本:所有变量都取决于第一个。

如何在 R(或通过 Rcpp 的 C++)中做到这一点?您能提供一些包装或总体思路吗?

我在 SimCorMultRes 包中找到了 rmult.bcl 函数,但据我了解,用它无法生成具有不同级别数的名义变量。

【问题讨论】:

    标签: r correlation categorical-data


    【解决方案1】:

    我不太明白您对样本 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
    

    【讨论】:

    • 完美@G5W!但是我不知道如何在 V1 变量中超过两个级别的情况下概括您的代码
    • 对于V1中的两个以上级别,不要使用V2[V1 == "A"] = ...V2[V1 != "A"] = … 使用V2[V1 == "A"] = ...V2[V1 == "B"] = ...V2[V1 == "C"] = ...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    • 1970-01-01
    • 2015-07-20
    • 2020-01-13
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    相关资源
    最近更新 更多