[R] Faster Printing Alternatives to 'cat'

ONKELINX, Thierry Thierry.ONKELINX at inbo.be
Thu Jan 8 14:49:19 CET 2009


Yoo should have a look at ?write.table

dataset <- cbind(foo, bar, qux)
#write to a file
write.table(x = dataset, file = "your_file_name.txt", sep = "\t",
row.names = FALSE)
#wrfite to the console
write.table(x = dataset, file = "", sep = "\t", row.names = FALSE)

HTH,

Thierry 


------------------------------------------------------------------------
----
ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek / Research Institute for Nature
and Forest
Cel biometrie, methodologie en kwaliteitszorg / Section biometrics,
methodology and quality assurance
Gaverstraat 4
9500 Geraardsbergen
Belgium 
tel. + 32 54/436 185
Thierry.Onkelinx at inbo.be 
www.inbo.be 

To call in the statistician after the experiment is done may be no more
than asking him to perform a post-mortem examination: he may be able to
say what the experiment died of.
~ Sir Ronald Aylmer Fisher

The plural of anecdote is not data.
~ Roger Brinner

The combination of some data and an aching desire for an answer does not
ensure that a reasonable answer can be extracted from a given body of
data.
~ John Tukey

-----Oorspronkelijk bericht-----
Van: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
Namens Gundala Viswanath
Verzonden: donderdag 8 januari 2009 14:27
Aan: jim holtman
CC: r-help at stat.math.ethz.ch
Onderwerp: Re: [R] Faster Printing Alternatives to 'cat'

Dear Jim and Henrik,

> What exactly is the problem you are trying to solve.
> Is it going to be read by some other program?

I  simply want to print the data out. Surely, this data
will be manipulated (with Excel or other
programming languages) by other people suit to their purpose.

Typically the print out from the loop looks  like this:

ATCGATCGATCGGGGGGGGGGGGGGGTTTGCGGG   10   11.992
CCCCCCCCGGGCCATCGGTCAGGGAATTGACGGAA   2      0.222
.....
up to ~16 million lines.

> How much physical memory do you have on your machine?
6GB

>  Is there paging  occuring due to the size of the objects?
Don't quite understand what do you mean by that
So sorry for my lack of knowledge in R.

>  Have you consider creating a  structure with 10,000 of the variables
> each time through the loop and then writing them out?

Never thought about that. Can you be specific how can this be achieved?

- Gundala Viswanath
Jakarta - Indonesia



On Thu, Jan 8, 2009 at 10:10 PM, jim holtman <jholtman at gmail.com> wrote:
> What exactly is the problem you are trying to solve.  What is going to
> be done with the data?  Is it going to be read by some other program?
> How much physical memory do you have on your machine?  Is there paging
> occuring due to the size of the objects?  Have you consider creating a
> structure with 10,000 of the variables each time through the loop and
> then writing them out?  A lot will depend on how much free memory you
> have.  I will also ask one of my favorite questions; "tell me what you
> want to do, not how you want to do it".
>
> On Thu, Jan 8, 2009 at 6:12 AM, Gundala Viswanath <gundalav at gmail.com>
wrote:
>> Dear all,
>>
>> I found that printing with 'cat' is very slow.
>>
>> For example in my machine this snippet
>>
>> __BEGIN__
>>
>> # I need to resolve to use this type of loop.
>> # because using write(), I need to create a matrix  which
>> # consumes so much memory. Note that "foo, bar, qux" object
>> # is already very large (>2Gb)
>>
>> for ( s in 1:length(x) ) {
>>    cat(as.character(foo[s]),"\t",bar[s],"\t", qux[s],"\n")
>> }
>> __END__
>>
>> for "x" of size ~1.5million, takes more than 10 hours to print.
>> On my Linux 1994.MHz AMD processor.
>>
>> Is there any faster alternatives to "cat" ?
>>
>>
>> - Gundala Viswanath
>> Jakarta - Indonesia
>>
>> ______________________________________________
>> 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.
>>
>
>
>
> --
> Jim Holtman
> Cincinnati, OH
> +1 513 646 9390
>
> What is the problem that you are trying to solve?
>

______________________________________________
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.

Dit bericht en eventuele bijlagen geven enkel de visie van de schrijver weer 
en binden het INBO onder geen enkel beding, zolang dit bericht niet bevestigd is
door een geldig ondertekend document. The views expressed in  this message 
and any annex are purely those of the writer and may not be regarded as stating 
an official position of INBO, as long as the message is not confirmed by a duly 
signed document.




More information about the R-help mailing list