[R] Printing a title for an object in the console when writing a function XXXX

David Winsemius dwinsemius at comcast.net
Sat May 7 15:42:18 CEST 2011


On May 7, 2011, at 4:16 AM, Dan Abner wrote:

> Hello everyone,
>
> What is the best way to have R print a title and then skip a line  
> (both
> without the [1] line preffix) when writing a function that prints an  
> object
> (to the console)? Simplified example:
>
>
> fn3<-function(x,y){
>
> c1<-cov(x,y)
>
> print(c1)}

?cat

fn3<-function(x,y){
cat("Please examine this beautiful title\n")
c1<-cov(x,y)
cat(" ... here is your covariance ... \n", c1)}

>
> data1<-data.frame(age=rnorm(50),weight=rnorm(50))
>
> #### attach(data1)
> # Do not use attach, especially with objects named 'data1' and  
> columns named 'weight'
# Here is what I saw on my system
#> attach(data1)
#The following object(s) are masked _by_ '.GlobalEnv':
#
#   weight
# there was already a weight object in the workspace and the
# interpreter did not know which one to use
# and it was telling me it had 'decided' to use the other one
# So .... instead use with() as below:

 > with(data1, fn3(age,weight) )
# output ...
Please examine this beautiful title
  ... here is your covariance ...
  0.03096163

> fn3(age,weight)
>
> =====
>
> How do I have R print a nicely formatted title when printing c1 to the
> console?
>

(And Dan, if you are a member of this list, then be advised that  
putting 'XXXX' in your subject line is going to get you email held by  
the spambot that 'thinks' you are advertising something more  
interesting than statistics.)

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list