gpt4 book ai didi

r - 具有异质边际概率的相关二元变量

转载 作者:行者123 更新时间:2023-12-04 12:33:34 27 4
gpt4 key购买 nike

我想创建 50 个相关的二元变量,其中不同的变量具有不同的边际概率:

首先我创建我的相关矩阵:

cor.mat=matrix(.9,nrow=50,ncol=50)
cor.mat[,9:11]=.1
cor.mat[9:11,]=.1
diag(cor.mat)=1

然后我使用“rmvbin”生成数据:

library(bindata)
marg=rep(c(0.4,0.6),c(25,25))
a<-rmvbin(100, margprob=marg, bincorr=cor.mat)

但是,我收到以下错误:

Error in commonprob2sigma(commonprob, simulvals) : 
Matrix commonprob not admissible.

我也尝试过使用 commonprob 而不是 margprob:

common=rep(c(0.4,0.6),c(25,25))
a<-rmvbin(100, commonprob=common, bincorr=cor.mat)

但我得到:

Error in if (n != dim(commonprob)[2]) { : argument is of length zero
>

我做错了什么?

最佳答案

将“.9”更改为“.4”或更低

cor.mat=matrix(0.4, nrow=50, ncol=50)
cor.mat[,9:11]=.1
cor.mat[9:11,]=.1
diag(cor.mat)=1

现在应该运行:

library(bindata)
marg=rep(c(0.4,0.6),c(25,25))
a<-rmvbin(100, margprob=marg, bincorr=cor.mat)

对于第二个错误:

1。 commonprob 需要是一个矩阵。

2。只能指定参数 commonprobbincorrsigma 之一。默认是不相关的组件。

m <- cbind(c(1/2,1/5,1/6),c(1/5,1/2,1/6),c(1/6,1/6,1/2))
m
check.commonprob(m)
rmvbin(10,commonprob=m)
## or
## same as the example above, but faster if the same probabilities are
## used repeatedly (commonprob2sigma rather slow)
sigma <- commonprob2sigma(m)
rmvbin(10,margprob=diag(m),sigma=sigma)

来源:rmvbin 帮助文件中的例子

关于r - 具有异质边际概率的相关二元变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19090946/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com