Hi, professor,

I think the problem is in ge-r. cpp, you forgot to call *initialize*.

The error has nothing to do with Rcpp.

Best,

KK

On Tue, Jul 4, 2017 at 2:45 AM, 井澤 毅 <a-iz...@mail.ecc.u-tokyo.ac.jp> wrote:

> Sorry, I forgot the attached file.
> On 2017/07/04 18:43, 井澤 毅 wrote:
>
> Dear KK,
>
> Thanks for your kind reply.
>
> I am afraid that one of the input file is very heavy, this time but I am
> sending a ZIP file including all.
>
> Please make v30 package using install.simulate_R_1.r and then
> install.simulate_R_2.r. Then, try ge-r_test.r, please.
>
> To make the v30 package, we need ge-r.cpp, ge-model.cpp, ge-model.h,
> ge-obs.cpp, ge-obs.h, ge-range.h.
>
> As the input file, we need var.mat.all matrix data in R and
> obs.Os01g0182600_g1.nc file in the directry.
>
> Then, you will see the error I have been suffering from for a month.
>
> The obs.Os01g0182600_g1.nc file is a file containing environmental
> fluctuation data.
>
> Best,
>
> Takeshi
>
> On 2017/07/04 5:40, Qiang Kou wrote:
>
> Hi, I am afraid the example you provided is not a reproducible example.
>
> First, we don't know the content of ge-model.h. Second, we don't know
> which input will trigger the fault.
>
> Please provide a reproducible example if you really want to get help.
>
> Best,
>
> KK
>
> On Sat, Jul 1, 2017 at 11:06 AM, 井澤 毅 <a-iz...@mail.ecc.u-tokyo.ac.jp>
> wrote:
>
>> Dear rcpp-devel@lists.r-forge.r-project.org,
>>
>> Sorry for bothering you much, but do me a favor please. Please help me
>> some.
>>
>> I am just a molecular biologist working on plants. Thus, I am still a
>> newcomer in this field.
>>
>> Recently, I have been working with a script using RcppArmadillo, This has
>> helped me a lot. However, after updating the system in our institute, the
>> script gives me an error repeatedly. My former Postdoc wrote this script.
>> Thus, I did not know this inside much.
>>
>> I have tried to fix it for more than a month, but now I have no idea how
>> to fix it. I would appreciate it very much if you could help and give me
>> your advice.
>>
>> Please see an attached cpp file, termed ge-r.cpp. With this cpp file and
>> other ones, I have succeeded to install a skeleton R package into R using
>> your function Rcpp.package.skeleton.
>>
>> In this ge-r.cpp, there is one R function called simulate_R() written. In
>> this R fucntion, there are two C++ functions, load() and simulate(), both
>> are described in other cpp files, called from C++ into R. With cout
>> function described in simulate_R(), I confirmed these two function work in
>> R thanks to RcppArmadillo, however, it suddenly stops with an error,
>> address(nil) cause 'unknown' in R. It has seemed to stop when it return
>> (out) at the last in ge-r.cpp. I do not know why it happens. Note that the
>> C++ script works normally after the update of the system. Only this
>> RcppArmadillo conversion from C++ function into a R function is deformed.
>>
>> Please give me an advice, please. Of course, I can give you more
>> information on the C++ script in details if you need.
>>
>> Best regards,
>>
>> Takeshi
>>
>>
>>
>> ge-r.cpp
>>
>> #ifndef __R__
>>
>> #define __R__
>> #endif
>>
>> #ifndef USE_OMP
>> #define USE_OMP
>> #endif
>>
>>
>> #include <RcppArmadillo.h>
>>
>>
>> #include "ge-model.h"
>>
>> using namespace arma;
>>
>>
>>
>> // input:
>> //           parameter matrix: row for particle, col for parameter
>> //           filename of observation
>> // output:
>> //           simulation for regular time points: row for particle, col for 
>> time, slice for term
>> //   existing observation to corresponding regular time points
>>
>> // [[Rcpp::depends(RcppArmadillo)]]
>> // [[Rcpp::export]]
>> Rcpp::List simulate_R(const arma::mat& param_r, const char* fobs, const int 
>> interval) {
>>
>>      try {
>>              geModel Model;
>>              Model.n_thread=omp_get_num_procs();
>>              Model._param=param_r;
>>              cout << "params set.\n";
>>
>>              cout << "filename of obs: "<< fobs << ".\n";
>>
>>               Model._obs.load(fobs);
>>
>>               cout << "obs loaded.\n";
>>
>>              Model.n_acc=Model._param.n_rows;
>>              cout << "n_acc set to be " << Model.n_acc << ".\n";
>>
>>              Model._obs._out_interval = interval;
>>              Model._obs._n_out_date = (Model._obs._n_date / 
>> Model._obs._out_interval) + 1;
>>
>>              Model.out_y=cube(Model.n_acc, Model._obs._n_group, 
>> Model._obs._n_out_date);
>>              Model.out_res_1=cube(Model.n_acc,Model._obs._n_group, 
>> Model._obs._n_out_date);
>>              Model.out_res_2=cube(Model.n_acc,Model._obs._n_group, 
>> Model._obs._n_out_date);
>>              Model.out_res_clock=cube(Model.n_acc,Model._obs._n_group, 
>> Model._obs._n_out_date);
>>              Model.out_res_dev=cube(Model.n_acc,Model._obs._n_group, 
>> Model._obs._n_out_date);
>>
>>              cout << "output matrix initialized.\n";
>>
>>              //necessary for simulate_obs
>>              Model._distance=vec(Model.n_acc);
>>
>>              Model.simulate(0,Model.n_acc-1,true);
>>              cout << "simulation complete.\n";
>>
>>              fflush(stdout);
>>
>>              cout << size(Model.out_y)<<".\n"<< 
>> Model.out_y[0]<<".\n"<<Model.out_y[1]<<".\n"<<Model.out_y[2]<<".\n";
>>
>>              Rcpp::List out = Rcpp::List::create(
>>                              Rcpp::Named("out_y")=Model.out_y,
>>                              Rcpp::Named("out_res_1")=Model.out_res_1,
>>                              Rcpp::Named("out_res_2")=Model.out_res_2,
>>                              
>> Rcpp::Named("out_res_clock")=Model.out_res_clock,
>>                              Rcpp::Named("out_res_dev")=Model.out_res_dev
>>              );
>>
>>              cout << "List constructed.\n";
>>
>>               fflush(stdout);
>>
>>              return (out);
>>      }
>>
>>      catch(char* e) {
>>              cout << e << "\n";
>>              exit(EXIT_FAILURE);
>>      }
>>      catch(...) {
>>              cout << "Error\n";
>>              exit(EXIT_FAILURE);
>>      }
>> }
>>
>> _______________________________________________ Rcpp-devel mailing list
>> Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-projec
>> t.org/cgi-bin/mailman/listinfo/rcpp-devel
>
> --
> Qiang Kou
> q...@umail.iu.edu
> School of Informatics and Computing, Indiana University
>
>


-- 
Qiang Kou
q...@umail.iu.edu
School of Informatics and Computing, Indiana University
_______________________________________________
Rcpp-devel mailing list
Rcpp-devel@lists.r-forge.r-project.org
https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel

Reply via email to