[R] reading in results from system(). There must be an easier way...

Michael A. Gilchrist mikeg at utk.edu
Fri Sep 12 18:34:24 CEST 2008


Hello,

I am currently using R to run an external program and then read the results 
the external program sends to the stdout which are tsv data.

When R reads the results in it converts it to to a list of strings which I 
then have to maniuplate with a whole slew of commands (which, figuring out how 
to do was a reall challenge for a newbie like myself)--see below.

Here's the code I'm using.  COMMAND runs the external program.

     rawInput= system(COMMAND,intern=TRUE);##read in tsv values
     rawInput = strsplit(rawInput, split="\t");##split elements w/in the list
 					      ##of character strings by "\t"
     rawInput = unlist(rawInput); ##unlist, making it one long vector
     mode(rawInput)="double"; ##convert from strings to double
     finalInput = data.frame(t(matrix(rawInput, nrow=6))); ##convert

Because I will be doing this 100,000 of times as part of an optimization 
problem, I am interested in learning a more efficient way of doing this 
conversion.

Any suggestions would be appreciated.


Thanks in advance.

Mike


-----------------------------------------------------
Department of Ecology & Evolutionary Biology
569 Dabney Hall
University of Tennessee
Knoxville, TN 37996-1610

phone:(865) 974-6453
fax:  (865) 974-6042

web: http://eeb.bio.utk.edu/gilchrist.asp



More information about the R-help mailing list