[R] Question about bindata lib in high dimensions

إيمان إسماعيل محمد em@n|@m@||@92 @end|ng |rom gm@||@com
Mon Feb 11 12:10:55 CET 2019


*Here Sample of Code for 10 variables:*
> probs_10 = probs[1:10]
> probs_10
 [1] 9.795272e-01 9.331778e-01 6.764349e-01 9.884067e-02 9.522222e-05
3.499417e-03 2.380556e-05 9.826457e-01 9.628633e-01 8.874949e-01
> corr_mat_10 = corr_mat[1:10,1:10]
> corr_mat_10
               [,1]         [,2]         [,3]         [,4]
[,5]          [,6]          [,7]          [,8]          [,9]       [,10]
 [1,]  1.0000000000  0.540258943  0.209031764  0.047879233 -6.750092e-02
0.0085672057  7.053822e-04  0.7840635867  0.6694665745  0.40604770
 [2,]  0.5402589429  1.000000000  0.386910326  0.088622750 -3.646798e-02
-0.0454879132  1.305637e-03  0.4929722619  0.6613106007  0.61159373
 [3,]  0.2090317635  0.386910326  1.000000000  0.229052428 -1.410984e-02
-0.0434598161 -7.054666e-03  0.1909793458  0.2831488805  0.49337866
 [4,]  0.0478792330  0.088622750  0.229052428  1.000000000 -3.231892e-03
-0.0101705338 -1.615888e-03  0.0434012259  0.0646190283  0.11766286
 [5,] -0.0675009217 -0.036467977 -0.014109837 -0.003231892  1.000000e+00
-0.0005782943 -4.761395e-05 -0.0734320072 -0.0496901947 -0.02740859
 [6,]  0.0085672057 -0.045487913 -0.043459816 -0.010170534 -5.782943e-04
1.0000000000  8.233515e-02  0.0078752345  0.0095061395 -0.03886223
 [7,]  0.0007053822  0.001305637 -0.007054666 -0.001615888 -4.761395e-05
0.0823351499  1.000000e+00  0.0006484086  0.0009582161  0.00173719
 [8,]  0.7840635867  0.492972262  0.190979346  0.043401226 -7.343201e-02
0.0078752345  6.484086e-04  1.0000000000  0.6766830516  0.37325133
 [9,]  0.6694665745  0.661310601  0.283148881  0.064619028 -4.969019e-02
0.0095061395  9.582161e-04  0.6766830516  1.0000000000  0.55158959
[10,]  0.4060477004  0.611593731  0.493378657  0.117662862 -2.740859e-02
-0.0388622278  1.737190e-03  0.3732513255  0.5515895878  1.00000000
> library(bindata)
> r <- rmvbin(10,margprob = probs_10, bincorr = corr_mat_10)
Not all probabilities are between 0 and 1.
Error in Element ( 1 , 5 ): Admissible values are in [ 0 ,
9.5222224867284e-05 ].
Error in Element ( 1 , 7 ): Admissible values are in [ 0 ,
2.3805556216821e-05 ].
Error in Element ( 3 , 7 ): Admissible values are in [ 0 ,
2.3805556216821e-05 ].
Error in Element ( 4 , 7 ): Admissible values are in [ 0 ,
2.3805556216821e-05 ].
Error in Element ( 5 , 7 ): Admissible values are in [ 0 ,
2.3805556216821e-05 ].
Error in Element ( 6 , 7 ): Admissible values are in [ 0 ,
2.3805556216821e-05 ].
Error in Element ( 7 , 3 ): Admissible values are in [ 0 ,
2.3805556216821e-05 ].
Error in Element ( 7 , 4 ): Admissible values are in [ 0 ,
2.3805556216821e-05 ].
Error in Element ( 7 , 5 ): Admissible values are in [ 0 ,
2.3805556216821e-05 ].
Error in Element ( 7 , 6 ): Admissible values are in [ 0 ,
2.3805556216821e-05 ].
Error in Element ( 7 , 8 ): Admissible values are in [ 0 ,
2.3805556216821e-05 ].
Error in Element ( 7 , 9 ): Admissible values are in [ 0 ,
2.3805556216821e-05 ].
Error in Element ( 7 , 10 ): Admissible values are in [ 0 ,
2.3805556216821e-05 ].
Error in Element ( 8 , 7 ): Admissible values are in [ 0 ,
2.3805556216821e-05 ].
Error in Element ( 9 , 7 ): Admissible values are in [ 0 ,
2.3805556216821e-05 ].
Error in Element ( 9 , 10 ): Admissible values are in [ 0.850358273621063 ,
0.887494941319304 ].
Error in commonprob2sigma(commonprob, simulvals) :
  Matrix commonprob not admissible.

*Then I tried to fix wrong values to be within range with the following:*
> corr_mat_10[1,5]=runif(1,min=0,max=9.5222224867284e-05)
> corr_mat_10[1,5]
[1] 7.915036e-05
> corr_mat_10[5,1]=7.915036e-05

*and did the same for all elements but the same error raised:*
> r <- rmvbin(10,margprob = probs_10, bincorr = corr_mat_10)
Error in Element ( 9 , 10 ): Admissible values are in [ 0.850358273621063 ,
0.887494941319304 ].
Error in commonprob2sigma(commonprob, simulvals) :
  Matrix commonprob not admissible.

*Finally I check the value of (9,10) it is within range but the same error
raised :*
> corr_mat_10[9,10]
[1] 0.8793437

I don't know How to fix it?

On Mon, 11 Feb 2019 at 12:23, Eric Berger <ericjberger using gmail.com> wrote:

> Hi Eman,
> It helps if you create a small example that reproduces the problem and
> then post the code with your question.
> This will help people determine what is causing the problem.
>
> Best,
> Eric
>
>
> ‪On Mon, Feb 11, 2019 at 11:52 AM ‫إيمان إسماعيل محمد‬‎ <
> emanismail.92 using gmail.com> wrote:‬
>
>> I need to simulate data for 2000 binary variables given a vector of
>> marginal probabilities and a correlation matrix. I used bindata library,
>> but it give me
>>
>>  Not all probabilities are between 0 and 1.
>> Error in Element ( i , j ): Admissible values are in [.....].
>> Error in commonprob2sigma(commonprob, simulvals) :
>>   Matrix commonprob not admissible.
>>
>>  and I tried to get the elements within range but still have the same
>> problem
>>
>> How can I fix the correlation matrix or how to track error ??
>>
>> Thanks
>> Eman
>>
>>         [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list