[Rcpp-devel] Using loess() from Rcpp
Le 08/04/10 00:03, Davor Cubranic a ?crit :
Thank you both, Dirk and Romain, for the advice and to Romain for adding the Formula class. And I apologize for the unclear question. I was asking two or three things, but none of them directly. That's what happens when I try to fire off an email late in the afternoon the last workday before a vacation.
What I had meant was, firstly, how to pass the formula to 'loess'. I appreciate Romain's adding the Formula class, and will use it once it's out in a release. In the meantime, I actually read the R docs a bit more carefully, and realized I could just use the 'formula' function, i.e., Function("formula")("y~x"). But using the Formula class is cleaner and more readable, so I'll switch once I can.
As for my DSL remark, I still think it would be nice to have a C++ operator that worked like R's '~' and produced a Formula instance from NumericVectors. It's not important, really -- maybe it's something I could attempt once I understand meta-templates and Rcpp's internals. Although, as I think about it, I've no idea how it could be done, given that 'y' and 'x' in 'y~x' are just symbols that have no connection to my NumericVector instances 'x' and 'y'.
Feel free to write a design document. As I said before operator~ is unary in c++, so it does not help. Sometimes people use operator% for things like that. Please include in your design what would be the gain over just using R to parse the formula.
Lastly, I was wondering if anyone had just used 'loess_raw' directly from Rcpp code, without going through R and 'loess' at all. Again, this may be something I'll explore down the road if I really have to, since I now have code that does the right thing simply and works correctly. :-)
I have not, there is no reason why it should not work.
Davor On 2010-04-02, at 9:25 PM, Dirk Eddelbuettel wrote:
On 1 April 2010 at 17:04, Davor Cubranic wrote: | Has anyone here used R curve-fitting from Rcpp? Like loess(), for example? | Reading the R code, after a couple of layers of preliminaries to extract all | the required parameters, it ends up in C (loess_raw) and Fortran (lowesw and | lowesp). I read your mail briefly while I was gone [ which included two well-received talks about Rcpp / RInside on the west coast :) ], and now that I got back into town I still don't fully understand what you want. You do have function objects, as well as examples/functionCallback/ -- is that good enough? It allows you to call just about any R function via Rcpp, but of course it doesn't magically make it faster. And in case you are coming from C++ rather than R: look at RInside. | It would be nice if there were already code out there that gives me a | tidier interface that I could use instead of transcribing the R wrapper | into C. And even cooler if R's 'formula' DSL had a C++ equivalent... Well but R source was written to be used from R so ... I still don't quite understand what you are expecting. That Rcpp rewrites all of R for you? Anyway, Romain kindly added formula objects to Rcpp as well. So maybe that will help you along, and more examples or use cases would be fine too. Cheers, Dirk -- Registration is open for the 2nd International conference R / Finance 2010 See http://www.RinFinance.com for details, and see you in Chicago in April!
Romain Francois Professional R Enthusiast +33(0) 6 28 91 30 30 http://romainfrancois.blog.free.fr |- http://bit.ly/9aKDM9 : embed images in Rd documents |- http://tr.im/OIXN : raster images and RImageJ |- http://tr.im/OcQe : Rcpp 0.7.7