Re: [R] Question on .Options$max.print - print/cat extremely long strings on a screen

From: Hans-Joerg Bibiko <bibiko_at_eva.mpg.de>
Date: Tue 15 Aug 2006 - 18:15:21 EST

Dear list members,

sorry for my incompleteness!

My problem is the following:
(R 2.3.1 on Mac OS X 10.4.7 RAM 1GByte using Mac GUI)

I have a function like this:

foo1 <- function()
{

	out <- NULL
	for(i in 1:10010) out <- paste(out, i, ". line\n", sep="")
	return(out)	

}
a <- foo1()

Now I want to display 'a' on the screen:

cat(a)

This doesn't work. 'a' is displayed only until '830. line'

print(a)

The same, 'a' is displayed only until '\n754. line\n755'.

cat(a, file='test.txt') # OK
works fine. That means, internally 'a' is fine.

Then I tried this way:

foo2 <- function()
{

	out <- NULL
	for(i in 1:10010) out <- c(out, paste(i, ". line", sep=""))
	return(out)	

}
a <- foo2()

With

cat(a,sep="\n")
I see the complete content of 'a'.

paste(a, collapse = "\n")
I only see 'a' until '\n754. line\n755'.

cat(paste(a, collapse ="\n"))
I only see 'a' until '830. line'.

cat(paste(a, collapse ="\n"),file='test.txt') This is OK.

My question now is whether there is an option to specifiy the maximum size of a string which is displayed on the screen (running R in a GUI)? Or is this fixed?

I read the help page about '.Options' and I found a variable 'max.print' with the comment that is not yet used in basic R. I don't know whether this variable is responsible for that. I increased 'max.print' but nothing changed.

##########
If I try this code on a Windows XP machine with 756 MByte RAM R-GUI says after executing

foo1 <- function()
{

	out <- NULL
	for(i in 1:10010) out <- paste(out, i, ". line\n", sep="")
	return(out)	

}
a <- foo1()
cat(a)

...
7548. lineWarning message:
printing of extremely long output is truncated

At least Windows writes a warning message.

###########
If I start a R session without the R-GUI via Mac Terminal typing 'R'

a<-foo1()
cat(a)

everything works perfectly!!!

I know the issue of outputting long strings and the way to display long strings via foo2() would be ok for me, but I spent some time to figure out why my function foo1() didn't work. R, running in GUI on Mac, don't give you a warning. Now I know that if I print a long string at the Mac-GUI-console the missing final quote character is an indicator for a truncated output on a Mac. Maybe it would be nice to output a warning(?)

Cheers,

Hans



R-help@stat.math.ethz.ch 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. Received on Tue Aug 15 18:35:53 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Tue 15 Aug 2006 - 20:22:33 EST.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.