Last data update: 2014.03.03

R: Generate JAGS Code for a Network's Model
writeNetworkModelR Documentation

Generate JAGS Code for a Network's Model

Description

Based on the parameters given to a network, the code for each node is generated and all of the node models are pasted into a single JAGS model script.

Usage

writeNetworkModel(network, pretty = FALSE)

Arguments

network

an object of class HydeNetwork

pretty

Logical. When TRUE, the model is printed to the console using the cat function (useful if you wish to copy and paste the code for manual editing). Otherwise, it is returned as a character string.

Author(s)

Jarrod Dalton and Benjamin Nutter

See Also

writeJagsModel, writeJagsFormula

Examples

data(PE, package='HydeNet')
Net <- HydeNetwork(~ wells +
                     pe | wells +
                     d.dimer | pregnant*pe +
                     angio | pe +
                     treat | d.dimer*angio +
                     death | pe*treat,
                     data = PE)

#* Default printing
writeNetworkModel(Net)

#* Something a little easier on the eyes.
writeNetworkModel(Net, pretty=TRUE)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(HydeNet)
Loading required package: nnet
Loading required package: rjags
Loading required package: coda
Linked to JAGS 4.1.0
Loaded modules: basemod,bugs
> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/HydeNet/writeNetworkModel.Rd_%03d_medium.png", width=480, height=480)
> ### Name: writeNetworkModel
> ### Title: Generate JAGS Code for a Network's Model
> ### Aliases: writeNetworkModel
> 
> ### ** Examples
> 
> data(PE, package='HydeNet')
> Net <- HydeNetwork(~ wells +
+                      pe | wells +
+                      d.dimer | pregnant*pe +
+                      angio | pe +
+                      treat | d.dimer*angio +
+                      death | pe*treat,
+                      data = PE)
> 
> #* Default printing
> writeNetworkModel(Net)
[1] "model{\n   wells ~ dnorm(3.7942, 0.6305)\n   pe ~ dbern(ilogit(0.5757 * wells + -3.90355))\n   d.dimer ~ dnorm(210.24251 + 68.37938 * pe + 29.29496 * pregnant, 0.03347)\n   pi.pregnant[1] <- 0.9014; pi.pregnant[2] <- 0.0986\n   pregnant ~ dcat(pi.pregnant)\n   pi.angio <- cpt.angio[(pe+1), ]\n   angio ~ dcat(pi.angio)\n   treat ~ dbern(ilogit(1.73354 * angio + 0.01994 * d.dimer + -5.89316))\n   pi.death <- cpt.death[(pe+1), (treat+1), ]\n   death ~ dcat(pi.death)\n}"
Warning messages:
1: In bind_rows_(x, .id) :
  binding factor and character vector, coercing into character vector
2: In bind_rows_(x, .id) :
  binding factor and character vector, coercing into character vector
3: In bind_rows_(x, .id) :
  binding factor and character vector, coercing into character vector
4: In bind_rows_(x, .id) :
  binding factor and character vector, coercing into character vector
> 
> #* Something a little easier on the eyes.
> writeNetworkModel(Net, pretty=TRUE)
model{
   wells ~ dnorm(3.7942, 0.6305)
   pe ~ dbern(ilogit(0.5757 * wells + -3.90355))
   d.dimer ~ dnorm(210.24251 + 68.37938 * pe + 29.29496 * pregnant, 0.03347)
   pi.pregnant[1] <- 0.9014; pi.pregnant[2] <- 0.0986
   pregnant ~ dcat(pi.pregnant)
   pi.angio <- cpt.angio[(pe+1), ]
   angio ~ dcat(pi.angio)
   treat ~ dbern(ilogit(1.73354 * angio + 0.01994 * d.dimer + -5.89316))
   pi.death <- cpt.death[(pe+1), (treat+1), ]
   death ~ dcat(pi.death)
}Warning messages:
1: In bind_rows_(x, .id) :
  binding factor and character vector, coercing into character vector
2: In bind_rows_(x, .id) :
  binding factor and character vector, coercing into character vector
3: In bind_rows_(x, .id) :
  binding factor and character vector, coercing into character vector
4: In bind_rows_(x, .id) :
  binding factor and character vector, coercing into character vector
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>