Le 3 févr. 2013 à 14:20, Stefan Evert <[email protected]> a écrit :
> >> Yes, apparently I am having trouble reading today! I saw "Principal >> Coordinates Analysis" on the MDS wikipedia page, and my brain interpreted it >> as "Principal Components Analysis", and I went in the completely wrong >> direction. Sorry about that. > > > Classical MDS is basically the same as PCA. It embeds data points in a > sufficiently high-dimensional space to reproduce the distance matrix and then > performs a truncated PCA to the required number of dimensions. > > However, iterative non-metric MDS algorithms will usually give much better > results. > > I'm afraid I can't offer any help wrt. to the Perl/R bridge. In some of my > own software, I use the Expect module to communicate interactively with Perl > (which is indeed very slow). I tried Statistics::R once, but that was even > slower. The RSPerl interface is much faster, but with every OS or R upgrade > I had to spend several days hacking it to get it to work again, and haven't > been able to do so on Mac OS X for the last three or four years. I have some hopes with RServe (http://www.rforge.net/Rserve/). There is a recent attempt to build a client for Perl (https://github.com/djun-kim/Statistics--RserveClient). The implementation is quite young, bu the developer is active and responsive. Well' see. > > Jean, in your application the bottleneck will be to upload the distance > matrix to R and (perhaps less critically) get back the MDS vectors, right? > If you're willing to put in the extra work, you can speed up communication a > lot by exchanging data through external files. Text files are quite fine > (using scan()/write() in R), but you could also try a SQLite database, which > has excellent support in both R and Perl. You're right, the difficulty is the size of data (mainly uploading the matrix). At the moment, the text file solution is the one I use. I haven't tried SQLite (I suspect that writing the matrix to the database could be slow), but I am considering Redis, which could be fast, and for which a client exists (https://github.com/bwlewis/rredis). Linux "named piped" is another option, as simple as text files, but probably much faster. I am going to experiment. Thanks for your comments, in any case! --j > > Best regards, > Stefan Evert > > [ [email protected] | www.stefan-evert.de ] > > > > > _______________________________________________ > Perldl mailing list > [email protected] > http://mailman.jach.hawaii.edu/mailman/listinfo/perldl _______________________________________________ Perldl mailing list [email protected] http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
