12 #ifndef ROOT_R_TRFunctionImport    13 #define ROOT_R_TRFunctionImport    46         //defining functions to be used from R//
    48         TRFunctionImport c("c");
    49         TRFunctionImport list("list");
    50         TRFunctionImport asformula("as.formula");
    51         TRFunctionImport nls("nls");
    52         TRFunctionImport confint("confint");
    53         TRFunctionImport summary("summary");
    54         TRFunctionImport print("print");
    55         TRFunctionImport plot("plot");
    56         TRFunctionImport lines("lines");
    57         TRFunctionImport devnew("dev.new");
    58         TRFunctionImport devoff("dev.off");
    59         TRFunctionImport min("min");
    60         TRFunctionImport max("max");
    61         TRFunctionImport seq("seq");
    62         TRFunctionImport predict("predict");
    64       r<<"options(device='png')";//enable plot in png file
    67         //doing the procedure //
    69          TRObject xdata = c(-2,-1.64,-1.33,-0.7,0,0.45,1.2,1.64,2.32,2.9);
    70          TRObject ydata = c(0.699369,0.700462,0.695354,1.03905,1.97389,2.41143,1.91091,0.919576,-0.730975,-1.42001);
    76          //fit = nls(ydata ~ p1*cos(p2*xdata) + p2*sin(p1*xdata), start=list(p1=1,p2=0.2)) <- R code
    77          TRObject fit = nls(asformula("ydata ~ p1*cos(p2*xdata) + p2*sin(p1*xdata)"),Label["data"]=data, Label["start"]=list(Label["p1"]=1,Label["p2"]=0.2));
    82          devnew("Fitting Regression");
    85          TRObject xgrid=seq(min(xdata),max(xdata),Label["len"]=10);
    86          lines(xgrid,predict(fit,xgrid),Label["col"] = "green");
    93       Formula: ydata ~ p1 * cos(p2 * xdata) + p2 * sin(p1 * xdata)
    96          Estimate Std. Error t value Pr(>|t|)
    97       p1 1.881851   0.027430   68.61 2.27e-12 ***
    98       p2 0.700230   0.009153   76.51 9.50e-13 ***
   100       Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
   102       Residual standard error: 0.08202 on 8 degrees of freedom
   104       Number of iterations to convergence: 7
   105       Achieved convergence tolerance: 2.189e-06
   107       Waiting for profiling to be done...
   109       p1 1.8206081 1.9442365
   110       p2 0.6794193 0.7209843
   112       <h2>Users Guide </h2>
   113       <a href="http://oproject.org/tiki-index.php?page=ROOT+R+Users+Guide"> http://oproject.org/tiki-index.php?page=ROOT+R+Users+Guide</a><br>
   114       <a href="https://root.cern.ch/drupal/content/how-use-r-root-root-r-interface"> https://root.cern.ch/drupal/content/how-use-r-root-root-r-interface</a>
 
Namespace for new ROOT classes and functions. 
#define ClassDef(name, id)
This is a class to get ROOT's objects from R's objects  
Double_t(* Function)(Double_t)
This is a class to pass functions from ROOT to R. 
TRFunctionImport(const Rcpp::Function &fun)
TRFunctionImport constructor for Rcpp::DataFrame. 
Mother of all ROOT objects. 
static constexpr double ns