我正在尝试在 C 中编写一个将由 R 调用的函数。在其中我需要随机抽样而不从向量中替换。Rmath.h 是否可以在 R 中使用类似 sample() 的东西?如果没有,有谁知道我为什么会得到
Symbol not found: _gsl_rng_mt19937
当我尝试调用包含(使用适当的标头)的 dyn.load() 代码时:
#include <gsl/gsl_randist.h>
#include <gsl/gsl_rng.h>
void update_infs (int *inds,
int *inf_times,
int *n,
int *n_inf,
int *locs,
int *Rinds,
double *logmean,
double *logsd,
double *alpha,
double *wts,
int *indices /* a vector 1:n */
) {
...
/* set up GSL RNG */
gsl_rng * rng = gsl_rng_alloc(gsl_rng_mt19937);
/* end of GSL setup */
...
gsl_ran_choose(rng, tmp_inf_me, Rinds[i], indices, *n, sizeof (double));
... }