[R] If loop

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Fri Aug 9 06:49:20 CEST 2024


Às 05:33 de 09/08/2024, Steven Yen escreveu:
> The following (using if else) did not help. Seemed like joint12 always 
> kicked in.
> 
>      me1<-me0<-NULL.
>      if(joint12){
>        {me1<-cbind(me1,v1$p12);  me0<-cbind(me0,v0$p12)}
>      } else if(marg1) {
>        {me1<-cbind(me1,v1$p1);   me0<-cbind(me0,v0$p1)}
>      } else if(marg2) {
>        {me1<-cbind(me1,v1$p2);   me0<-cbind(me0,v0$p2)}
>      } else if(cond12){
>        {me1<-cbind(me1,v1$pc12); me0<-cbind(me0,v0$pc12)}
>      } else {
>        {me1<-cbind(me1,v1$pc21); me0<-cbind(me0,v0$pc21)}
>      }
> 
> ...
> 
>    labels<-NULL
>    if(joint12){
>      labels<-c(labels,lab.p12)
>    } else if(marg1) {
>      labels<-c(labels,lab.p1)
>    } else if(marg2) {
>      labels<-c(labels,lab.p2)
>    } else if(cond12){
>      labels<-c(labels,lab.pc12)
>    } else {
>      labels<-c(labels,lab.pc21)
>    }
> 
> 
> On 8/9/2024 11:44 AM, Steven Yen wrote:
>> Can someone help me with the if loop below? In the subroutine, I 
>> initialize all of (joint12,marg1,marg2,cond12,cond21) as FALSE, and 
>> call with only one of them being TRUE:
>>
>> ,...,joint12=FALSE,marg1=FALSE,marg2=FALSE,cond12=FALSE,cond21=FALSE,,,,
>>
>> joint12 seems to always kick in, even though I call with, e.g., marg1 
>> being TRUE and everything else being FALSE. My attempts with if... 
>> else if were not useful. Please help. Thanks.
>>
>> v1<-cprob(z1,x1,a,b,mu1,mu2,rho,j+1,k+1)
>>     v0<-cprob(z0,x0,a,b,mu1,mu2,rho,j+1,k+1)
>>
>>    ...
>>
>>     me1<-me0<-NULL
>>     if(joint12) {me1<-cbind(me1,v1$p12); me0<-cbind(me0,v0$p12)}
>>     if(marg1)   {me1<-cbind(me1,v1$p1); me0<-cbind(me0,v0$p1)}
>>     if(marg2)   {me1<-cbind(me1,v1$p2); me0<-cbind(me0,v0$p2)}
>>     if(cond12)  {me1<-cbind(me1,v1$pc12); me0<-cbind(me0,v0$pc12)}
>>     if(cond21)  {me1<-cbind(me1,v1$pc21); me0<-cbind(me0,v0$pc21)}
>>     ...
>>
>>   labels<-NULL
>>   if(joint12) labels<-c(labels,lab.p12)
>>   if(marg1)   labels<-c(labels,lab.p1)
>>   if(marg2)   labels<-c(labels,lab.p2)
>>   if(cond12)  labels<-c(labels,lab.pc12)
>>   if(cond21)  labels<-c(labels,lab.pc21)
>>
> 
> ______________________________________________
> 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.
Hello,

What you are saying is hardly (not) possible.

If you ever call that code with joint12 set to TRUE, do you reset to 
FALSE afterwards?

Can you give a small working example with code and data showing this 
behavior?

Hope this helps,

Rui Barradas


-- 
Este e-mail foi analisado pelo software antivírus AVG para verificar a presença de vírus.
www.avg.com



More information about the R-help mailing list