9 using namespace ROOT::R;
12 auto &r = ROOT::R::TRInterface::Instance();
16 TRFunctionImport c(
"c");
17 TRFunctionImport rlist(
"list");
18 TRFunctionImport asformula(
"as.formula");
19 TRFunctionImport nls(
"nls");
20 TRFunctionImport confint(
"confint");
21 TRFunctionImport summary(
"summary");
22 TRFunctionImport print(
"print");
23 TRFunctionImport plot(
"plot");
24 TRFunctionImport lines(
"lines");
25 TRFunctionImport devnew(
"dev.new");
26 TRFunctionImport devoff(
"dev.off");
27 TRFunctionImport devcur(
"dev.cur");
28 TRFunctionImport rmin(
"min");
29 TRFunctionImport rmax(
"max");
30 TRFunctionImport seq(
"seq");
31 TRFunctionImport predict(
"predict");
33 r<<
"options(device='pdf')";
36 TRObject xdata = c(-2,-1.64,-1.33,-0.7,0,0.45,1.2,1.64,2.32,2.9);
37 TRObject ydata = c(0.699369,0.700462,0.695354,1.03905,1.97389,2.41143,1.91091,0.919576,-0.730975,-1.42001);
44 TRObject fit = nls(asformula(
"ydata ~ p1*cos(p2*xdata) + p2*sin(p1*xdata)"),Label[
"data"]=data, Label[
"start"]=rlist(Label[
"p1"]=1,Label[
"p2"]=0.2));
49 if (!gROOT->IsBatch()) {
50 devnew(
"Fitting Regression");
53 TRObject xgrid=seq(rmin(xdata),rmax(xdata),Label[
"len"]=10);
54 lines(xgrid,predict(fit,xgrid),Label[
"col"] =
"green");
55 devoff(Label[
"which"] = devcur() );