Steven,

You need to mention what you actually did to get proper advice. Your problem is 
at the source.

Simply put, the R interpreter does have somewhat different behavior when the 
program is directly typed in (or slightly indirectly as in R STUDIO) than when 
you ask it to open another file as a source, perhaps recursively.

If you read the manual page, "source()" has lots of options.

https://www.rdocumentation.org/packages/base/versions/3.6.2/topics/source

The default is to change some of the behavior with the assumption there is no 
user typing things in and waiting for responses. One of the options will change 
the behavior to make statements auto-print.  Look to see if

source(..., echo=TRUE)

gets what you want. Obviously the "..." above is replaced with your additional 
code. Of course, an explicit print statement works too. You may also want to 
look at the print.eval option.

What next? Will you now tell us you forgot that you used the 
sink(file="hide.txt") function in the code and wonder why it does not print to 
your terminal? 


-----Original Message-----
From: R-help <r-help-boun...@r-project.org> On Behalf Of Steven Yen
Sent: Monday, November 30, 2020 5:55 AM
To: Stefan Evert <stefa...@collocations.de>
Cc: R-help Mailing List <r-help@r-project.org>
Subject: Re: [R] Printing upon calling a function

No. I wrote the function so I am sure no "invisible" command was used. 
Strangely enough, compiling the function isto part of a package, results were 
NOT printed. Yes if I call the function during run, by preceding the call with 
a line that attach the source code:

source("A:/.../R/oprobit.R")

it did print. I do not understand.

On 2020/11/30 下午 06:41, Stefan Evert wrote:
>> On 30 Nov 2020, at 10:41, Steven Yen <st...@ntu.edu.tw> wrote:
>>
>> Thanks. I know, my point was on why I get something printed by simply doing 
>> line 1 below and at other occasions had to do line 2.
>>
>> me.probit(obj)
> That means the return value of me.probit() has been marked as 
> invisible, so it won't auto-print.  You have to use an explicit print
>
>       print(me.probit(obj))
>
> or use your work-around to convince R that you actually meant to print the 
> output.
>
> If you dig through the full code of me.probit(), you'll probably find the 
> function invisible() called somewhere.
>
> Best,
> Stefan

______________________________________________
R-help@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.


Scanned by McAfee and confirmed virus-free.     
Find out more here: https://bit.ly/2zCJMrO

______________________________________________
R-help@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.

Reply via email to