Conor Lawless
2010-Aug-02 15:06 UTC
[R] Including a text file (JAGS model) in an R package
Hello,
I can`t figure out how to include a text file for use in an example in the .Rd
help files of an R package I am writing.
I want the examples section of one help file to look like this:
\examples{
# Load the JAGS model
mod <- jags.model("model.txt")
}
The function jags.model tries to read in the file model.txt. So far every time
I run R CMD check, I get an error message:
Error in jags.model("model.txt"): Cannot open model file
"model.txt"
It's not clear to me where in the package directory structure I can put this
file to make this example work. I've tried demo, inst, data and man.
Is it possible to do this? If not, how can I go about including a JAGS model in
an R package example?
Regards,
CONOR.
__
(oO)
/||\
Biogerontology
Institute for Ageing and Health
Newcastle University
Campus for Ageing and Vitality
Newcastle upon Tyne
NE4 5PL
UK
tel: +44 (0)191 248 1218
[[alternative HTML version deleted]]
Prof Brian Ripley
2010-Aug-02 17:32 UTC
[R] Including a text file (JAGS model) in an R package
Here is how I do it:
write("
model {
for (year in 1:N) {
D[year] ~ dpois(mu[year])
log(mu[year]) <- b[1] + step(year - changeyear) * b[2]
}
for (j in 1:2) { b[j] ~ dnorm(0.0, 1.0E-6) }
changeyear ~ dunif(1,N)
}
", "coalmining.jags")
which has the advantage that the model description is right there in
the .Rd file.
If you want a file to be part of the package, put it in e.g.
<pkg source>/inst/JAGSmodels/model.txt
and in the example use
system.file("JAGSmodels", "model.txt",
package="whatever")
On Mon, 2 Aug 2010, Conor Lawless wrote:
> Hello,
>
> I can`t figure out how to include a text file for use in an example in the
.Rd help files of an R package I am writing.
>
> I want the examples section of one help file to look like this:
>
> \examples{
>
> # Load the JAGS model
> mod <- jags.model("model.txt")
>
> }
>
> The function jags.model tries to read in the file model.txt. So far every
time I run R CMD check, I get an error message:
>
> Error in jags.model("model.txt"): Cannot open model file
"model.txt"
>
> It's not clear to me where in the package directory structure I can put
this file to make this example work. I've tried demo, inst, data and man.
>
> Is it possible to do this? If not, how can I go about including a JAGS
model in an R package example?
>
> Regards,
>
> CONOR.
>
>
>
> __
> (oO)
> /||\
> Biogerontology
> Institute for Ageing and Health
> Newcastle University
> Campus for Ageing and Vitality
> Newcastle upon Tyne
> NE4 5PL
> UK
>
> tel: +44 (0)191 248 1218
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
Prof Brian Ripley <ripley <at> stats.ox.ac.uk> writes:> > Here is how I do it: > > write(" > model { > for (year in 1:N) { > D[year] ~ dpois(mu[year]) > log(mu[year]) <- b[1] + step(year - changeyear) * b[2] > } > for (j in 1:2) { b[j] ~ dnorm(0.0, 1.0E-6) } > changeyear ~ dunif(1,N) > } > ", "coalmining.jags") > > which has the advantage that the model description is right there in > the .Rd file. > > If you want a file to be part of the package, put it in e.g. > > <pkg source>/inst/JAGSmodels/model.txt > > and in the example use > > system.file("JAGSmodels", "model.txt", package="whatever")What Prof Ripley said, but also: for JAGS and WinBUGS models you can actually specify coalmining <- function() { for (year in 1:N) { D[year] ~ dpois(mu[year]) log(mu[year]) <- b[1] + step(year - changeyear) * b[2] } for (j in 1:2) { b[j] ~ dnorm(0.0, 1.0E-6) } changeyear ~ dunif(1,N) } which is even more nicely integrated into the R code ...