On 7/25/06, Prof Brian Ripley <[EMAIL PROTECTED]> wrote: > The issue is that system() on Windows does not run a shell, so piping is > not going to be available: used shell() instead. Then the problem is > that the shell available is OS-specific, and pretty minimal on Windows > 95/98/ME. If you can ignore those (and they are getting rarer), cmd.exe > can be assumed for use of shell(). > > echo is not a standard system command on Windows either, and in a shell > does not do what it does on Unix. > > On Tue, 25 Jul 2006, Henrik Bengtsson wrote: > > > On 7/25/06, Robin Hankin <[EMAIL PROTECTED]> wrote: > > > Hi > > > > > > I'm developing an R package that > > > needs to execute some code written in pari/gp. > > > > > > I've used this before from an R package (elliptic) but the interface > > > is very > > > basic: the R function creates a string such as the following: > > > > > > string <- echo ' ellwp ([ 2+0*I , 0+2*I ], 1+0*I )' | gp -q > > > > > > And then > > > > > > system(string) > > > > > > returns the output from gp which then needs to be text processed > > > (translating "I" > > > to "i", etc). > > > > > > I don't think this approach would work under Windows. > > > > I know nothing about pari/gp, but I believe it does work on Windows > > too. There is system() command available on the Windows version too, > > but with slightly different arguments (than on Linux say). > > > > Piping is available on Windows too, e.g. "dir | sort", although you > > should be able to get around that by writing to file instead and using > > ">" and "<". > > Did you try that? dir is not an executable under Windows (a shell > command), and it does not work even if you use an executable. You do need > to use shell()
Too quick there - I didn't do this using system() but from the Windows command prompt; > system("dir | sort") Warning message: dir not found > shell("dir | sort") 10 Dir(s) 4,458,024,960 bytes free ... 07/26/2006 09:56 AM <DIR> . 07/26/2006 09:56 AM <DIR> .. 07/26/2006 10:00 AM 15,055 .Rhistory What I wanted to get through though is that it is possible to obtain the same thing in Windows. You might have to modify the code to be sensitive to .Platform$OS.type. When I do these kind of things I often write a BAT script that I call using system("foo.bat"). /Henrik > > > > > You should be careful if your 'string' gets really long. Then it is > > much better to have a BAT file (and an sh file on Linux) to run your > > external calls, alternatively you call system() multiple times. > > However, I would be suprised if 'ellwp' wouldn't accept files as input > > too. > > > > /Henrik > > > > > Does anyone have any experience of calling pari/gp from R? > > > > > > Or any ideas for a more portable method than the one above? > > > > > > > > > > > > > > > [ > > > PARI/GP is a widely used computer algebra system designed for fast > > > computations > > > in number theory. It is freely available at > > > > > > http://pari.math.u-bordeaux.fr/ > > > ] > > > > > > > > > -- > > > Robin Hankin > > > Uncertainty Analyst > > > National Oceanography Centre, Southampton > > > European Way, Southampton SO14 3ZH, UK > > > tel 023-8059-7743 > > > > > > ______________________________________________ > > > R-devel@r-project.org mailing list > > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > > > > > > > ______________________________________________ > > R-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > > > > > > -- > Brian D. Ripley, [EMAIL PROTECTED] > Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ > University of Oxford, Tel: +44 1865 272861 (self) > 1 South Parks Road, +44 1865 272866 (PA) > Oxford OX1 3TG, UK Fax: +44 1865 272595 > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel