我试图模拟2 X 2数据,这会产生相对较强的负phi系数。
我正在使用库GenOrd
,如下所示:
library(GenOrd)
# Specify sample size N
N <- 40
# Marginal distribution
marginal <- list(c(.5), c(.5))
# Matrix
Sigma <- matrix(c(1.0, -.71, -.71, 1.0), 2, 2, byrow=TRUE)
# Generate a sample of the categorical variables with specified parameters
m <- ordsample(N, marginal, Sigma)
但是,每当我输入大于-.70
的相关性时,我都会收到以下错误。
Error in contord(list(marginal[[q]], marginal[[r]]), matrix(c(1, Sigma[q, :
Correlation matrix not valid!
我明确指出某些地方站不住脚的东西 - 但我不知道它是什么。
帮助表示感谢。
答案 0 :(得分:0)
我会回答这个问题作为编码问题。错误指向软件包发现问题的位置:在Sigma条目中。鉴于你的边际分布,在你的corr中有-.71。矩阵超出界限,包裹会警告你。您可以通过更改Sigma中的符号来看到这一点:
Content content = new Content("text/html", notification.getContent());
至于为什么-.71无效,您可能希望将该统计问题指向Cross Validated以获得简洁的答案。
答案 1 :(得分:0)
我并不完全确定&#34;为什么&#34;但是,我发现没有问题模拟2 X 2数据会使用generate.binary()
函数产生相对强烈的负相关{1}}包。
例如,以下代码适用于完整的相关输入范围。 MultiOrd
函数的文档表明指定的矩阵被解释为四重相关矩阵。
generate.binary()