Skip to content

Printing with cat in a procedure

5 messages · Eric Berger, Rui Barradas, Jeff Newmiller +1 more

#
How do I print a matrix running a procedure? In the code below, I print 
with the cat command and get a vector (from A and C).

A<-matrix(rpois(16,lambda=5),nrow=4,byrow=T)
B<-diag(4)

try5<-function(A,B){
  C<-A+B
  cat("\nA =",A,"\nC = ",C)
structure(list(A=A,B=B,C=C))
}

v<-try5(A,B)
v$C
#
Hi Steven,
Here's one way, using print

try5<-function(A,B){
  C<-A+B
  #cat("\nA =",A,"\nC = ",C)
  cat("\nA = ")
  print(A)
  cat("\nC = ")
  print(C)
  structure(list(A=A,B=B,C=C))
}

HTH,
Eric
On Sat, Dec 22, 2018 at 4:32 PM Steven Yen <styen at ntu.edu.tw> wrote:

            

  
  
#
Hello,

Use print(A) and print(C). cat is meant for simpler objects.

Hope this helps,

Rui Barradas

?s 14:31 de 22/12/2018, Steven Yen escreveu:
#
Try using print instead of cat [1], and please read about what the arguments are in the help file [2][3] for any function you are using before posting a question.

[1] https://stackoverflow.com/questions/31843662/what-is-the-difference-between-cat-and-print
[2] ?cat
[3] ?print
On December 22, 2018 6:31:52 AM PST, Steven Yen <styen at ntu.edu.tw> wrote:

  
    
#
Thank you all - print works wonders.
On 12/22/2018 10:36 PM, Eric Berger wrote: