[R] cat in a subroutine

Steven Yen @tyen @end|ng |rom ntu@edu@tw
Thu Oct 13 09:59:08 CEST 2022


Yes, these lines are part of a subroutine calling yet more procedures. What frustrated me was, I am not doing anything different from other routines. My cat command in the recent code does not do anything other than printing a line of plain text. I am clueless.

Steven from iPhone

> On Oct 13, 2022, at 3:54 PM, Erin Hodgess <erinm.hodgess using gmail.com> wrote:
> 
> 
> All right.  Are these lines of code part of a larger function, please?  Is that function possibly calling a loop, please?
> 
> Thanks,
> Erin 
> 
>> On Thu, Oct 13, 2022 at 1:49 AM Steven T. Yen <styen using ntu.edu.tw> wrote:
>> Thanks Erin. 
>> 
>> No. Removing the second line (so that cat simply prints something else),
>> 
>> cat("\nMarginal and Discrete Effects of Gen Ordered Logit / Probit Probabilities")
>> #    "\n\nlogistic =",logistic)
>> 
>> I get yet another nonsense:
>> 
>> Error in cat("\nMarginal and Discrete Effects of Gen Ordered Logit / Probit Probabilities") : 
>>   argument "j" is missing, with no default
>> > 
>> On 10/13/2022 3:37 PM, Erin Hodgess wrote:
>>> Hi Steven:
>>> 
>>> Do you have a variable called logistic, please?  I think that might be the culprit.
>>> 
>>> Thanks,
>>> Erin 
>>> 
>>> On Thu, Oct 13, 2022 at 1:35 AM Steven T. Yen <styen using ntu.edu.tw> wrote:
>>>> I have had an issue with printing (with cat) in a subroutine for which I 
>>>> do not have a applicable example, but I am still hoping to get some 
>>>> help. In the following, the first block of code works fine.
>>>> 
>>>> ...
>>>> 
>>>> t<-abs(me)/se; p<-2*(1-pt(t,nrow(x)))
>>>> sig<-my.sig.levels(p)
>>>> out<-data.frame(round(cbind(me,se,t,p),digits)); out<-cbind(out,sig)
>>>> rownames(out)<-names(me)
>>>> colnames(out)<-c("est","se","t","p","sig")
>>>> j<-grep(".one\\b",rownames(out))
>>>> out<-out[-j,]
>>>> return(out)
>>>> }
>>>> 
>>>> But as soon as I insert lines to print (cat) soething simple, it spits 
>>>> out message that appears to be nonsence (unrelated). Any idea. Please 
>>>> help. Thanks.
>>>> 
>>>> t<-abs(me)/se; p<-2*(1-pt(t,nrow(x)))
>>>> sig<-my.sig.levels(p)
>>>> out<-data.frame(round(cbind(me,se,t,p),digits)); out<-cbind(out,sig)
>>>> rownames(out)<-names(me)
>>>> colnames(out)<-c("est","se","t","p","sig")
>>>> cat("\nMarginal and Discrete Effects of Gen Ordered Logit / Probit 
>>>> Probabilities",
>>>>      "\n\nlogistic =",logistic)
>>>> j<-grep(".one\\b",rownames(out))
>>>> out<-out[-j,]
>>>> return(out)
>>>> }
>>>> 
>>>> In this particular case, the error message was as follows:
>>>> 
>>>> Error in cat("\nMarginal and Discrete Effects of Gen Ordered Logit / 
>>>> Probit Probabilities",  :
>>>>    unused argument (logistic)
>>>> 
>>>> I have printed this way in numerous routines without problem and do not 
>>>> see why this is happending.
>>>> 
>>>> ______________________________________________
>>>> 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.
>>> -- 
>>> Erin Hodgess, PhD
>>> mailto: erinm.hodgess using gmail.com
> -- 
> Erin Hodgess, PhD
> mailto: erinm.hodgess using gmail.com

	[[alternative HTML version deleted]]



More information about the R-help mailing list