Eric Lecoutre
2005-Jun-06 14:15 UTC
[R] ROMA project (R Output MAnager) / Progress report / Call for contributors
Hello useRs, This email is about the ROMA project, the implementation in pure S of a reporting system for R. Several month ago, I did then send on R-help a survey on that (mainly: what features did you expect for a reporting system). During the following months, I did try different approaches for the core functionalities, ending now with a set of generic functions of which I am satisfied. More details about the coding later for those who are interested. Basically, my purpose is to provide to R a mechanism to describe outputs, in term of structure/content. Then, some driver functions would handle output object to export them in HTML, LaTeX, RTF, raw text, and so on. While progressing in that project, I also did realize that it could even be an intersting alternative to "print." method: each package creator who write a "print.myclass" function only needs to describe output. If he could do that once and benefit from HTML, TeX,... this would be of great advantage. I am currently seeking for a new job and I dont know if I will have time later to go on with that project, which appears to be rather big. That's why I am searching for collaborators. Anyone interested in reporting may help. See below for a (non exhaustive) list of tasks / competences. I have to say that in any cases I am interested in keeping involved in that problematic. My latest implementation consists in 2 x 1000 lines of highly commented code. Mainly 1000 lines for the core functions and 1000 lines for the beginning of the HTML export driver. Each output object consist of a XML internal representation (using Duncan Temple Lang XML package), which gives folowing advantages: - any output structure could be described (even "non-linear") - any output "brick" could contain things and have properties (that's XML node / properties) - we do have a DOM directly - XML exportation driver is already functional Some goals which are already achieved: - describing complex tables (with merged cells, containing footnotes etc) - representing output as internal objects (for storing/further manipulating purposes) - manipulating those output objects ("+" operator, changing properties) There is some work for volonteers in numerous areas: - reading my actual code and helping to improve it - thinking about required fundamentals "bricks" to describe outputs (footnote, p-value, comment, are some sample such "bricks") - implementing functions that describes some standards outputs - implementing exporting drivers: LaTeX, native PDF, RTF, raw tex - ... Please let me know if you are interested in particpating to this project. If there are enough participants, I will consider using a shared platform such as freshmeat or other. Eric Eric Lecoutre UCL / Institut de Statistique Voie du Roman Pays, 20 1348 Louvain-la-Neuve Belgium tel: (+32)(0)10473050 lecoutre at stat.ucl.ac.be http://www.stat.ucl.ac.be/ISpersonnel/lecoutre If the statistics are boring, then you've got the wrong numbers. -Edward Tufte