[R] documenting yoru progress

tom sgouros tomfool at as220.org
Mon Dec 3 02:46:23 CET 2007


Gabor Grothendieck <ggrothendieck at gmail.com> wrote:

> Try this:
> 
> > survey.write <- function(x) {
> +    print(match.call())
> +    x
> + }
> > out <- survey.write(pi+3)
> survey.write(x = pi + 3)

That's exactly what I need.  Thank you.

But now, another question.  I can't seem to get the value returned by
print() into a character variable.  I tried examining the relevant print
function, to see what it's printing, but there seems not to be a
print.call().  This is not fatal, since I can use print(), but is there
some obvious way to do this?  as.character doesn't do it.

More generally, is there a way to inspect an object of some class I
don't know about to find its members and methods?  I suspect that will
save me some posts like this in the future.

Thanks,

 -tom



> 
> 
> On Dec 2, 2007 6:55 PM, tom sgouros <tomfool at as220.org> wrote:
> >
> >
> > Gabor Grothendieck <ggrothendieck at gmail.com> wrote:
> >
> > > If what you mean is that you have a file, test.R, of R commands
> > > and you are using source("test.R") and you wish to discover the
> > > name "test.R" without hard coding it in your file, then place this in
> > > test.R:
> > >
> > > ofile <- parent.frame(2)$ofile
> > >
> > > and ofile will be set to "test.R".  Note that the line shown should not
> > > be within a function or other local environment within the file but
> > > directly at top level.
> >
> > Thank you, that is an excellent hack, and I will use it carefully
> > (though often), but it isn't quite what I had in mind.
> >
> > In my script called test.R, there is a function called "survey.write",
> > which writes a report based on some survey results.  It is called
> > several times at the top level.  I would like the report to say how
> > "survey.write" was invoked, whether it was invoked as
> > "survey.write(res.raw,res.q)" or "survey.write(bus.raw,bus.q)".
> > Obviously I have access to the values of the arguments, but I want the
> > names of those arguments, or a string containing it all.
> >
> > Thanks,
> >
> >  -tom
> >
> >
> > >
> > > This is hack which may need to be modified if the internals of the
> > > source command change.
> > >
> > > On Dec 2, 2007 6:24 PM, Tom Sgouros <tomfool at as220.org> wrote:
> > > >
> > > > Hello all:
> > > >
> > > > I have a function that writes a fairly elaborate report based on some
> > > > survey data.  For documentation and bookkeeping purposes, I'd like to
> > > > write out in the report the function call that produced the report, or
> > > > at least enough information to help me recreate the steps that led to
> > > > that report.  I've been generating all the reports with scripts, in
> > > > order to be able to recreate the steps, but apart from the file name, I
> > > > don't yet have a way to match the report to the script that created it.
> > > >
> > > > Can anyone suggest easy ways to do this?  From within a function, is the
> > > > function call text available somehow, or the names of the arguments used
> > > > in the function invocation?
> > > >
> > > > Many thanks,
> > > >
> > > >  -tom
> > > >
> > > >
> > > > --
> > > >  ------------------------
> > > >  tomfool at as220 dot org
> > > >  http://sgouros.com
> > > >  http://whatcheer.net
> > > >
> > > > ______________________________________________
> > > > R-help at r-project.org mailing list
> > > > 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.
> > > >
> > >
> >
> >
> > --
> >
> >  ------------------------
> >  tomfool at as220 dot org
> >  http://sgouros.com
> >  http://whatcheer.net
> >
> 


-- 
 ------------------------
 tomfool at as220 dot org
 http://sgouros.com  
 http://whatcheer.net



More information about the R-help mailing list