Related to this, maybe the kernel might be user-supplied? For instance, exponential kernel instead of Gaussian; or gamma?
Option one, we could allow options like "gamma", "normal"... Although we would have to allow more than one parameter for gamma?
Or we could actually allow the user to supply the kernel as a function o.o something like
facByRates((...), dispersionKernel = function(x){rnorm(1,0,x)}, dispersionParameters = list(x=2))
I do believe that this is doable in Rcpp, although, maybe using only pre-existing functions might be easier to implement, something like this:
facByRates((...), dispersionKernel = rnorm, dispersionParameters = list(mean=0,sd=2))
Option one, we could allow options like "gamma", "normal"... Although we would have to allow more than one parameter for gamma?
Or we could actually allow the user to supply the kernel as a function o.o something like
facByRates((...), dispersionKernel = function(x){rnorm(1,0,x)}, dispersionParameters = list(x=2))I do believe that this is doable in Rcpp, although, maybe using only pre-existing functions might be easier to implement, something like this:
facByRates((...), dispersionKernel = rnorm, dispersionParameters = list(mean=0,sd=2))