[R] c(), or cat(), or paste(), all cause unwanted reordering

Nikos Alexandris nikos.alexandris at felis.uni-freiburg.de
Tue Apr 6 19:29:29 CEST 2010


Jeff Brown wrote:
> > Wow, you guys are awesome.  Thanks!

Nikos Alexandris wrote:
> Thanks for the "cat()" question Jeff and to all guRus out there for the
> replies. This is something I was looking for the last hour.

I can't seem to make this run:

I have a function ( Column.of.Matrix.1 , Column.of.Matrix.2 ) which
gives me an output like:

--%<---
Divergence:             0.2605 
Jeffries-Matusita:      0.04489 
Bhattacharryya:         0.0227 
Transformed divergence: 0.06406
--%<---

The custom function uses "cat()" as well to print the above. Now, I
would like to use this function in a for() loop and print before the
results a message like "Separability measures between A and B:". I get
"A" and "B" using "colnames(Matrix.X[i])".

Everything seems to be ok except that the message is printed after the
results. Although I read all relevant posts in this thread about
paste(), cat(), c(), I still don't understand why the message is being
printed in the "end" when I use cat( c( ...)) or paste ( c(...)) or
other combinations:

--%<---
cat ( c (
	"Separability measures between:" ,
	"1st sample" , " and " , "2nd sample" , "\n" ,
	function ( Matrix.1 [i] , Matrix.2 [i] ) ,
	collapse = " "
) )
--%<---

Can I *force* the output of the function to be printed in the end?
Thank you, Nikos



More information about the R-help mailing list