The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Plot Data

Øystein Olav Skaar

2022-02-22

Plot Data

Enjoy this brief demonstration of the plot data module

First we simulate some data and estimate means and standard deviations

# Create normal distributed data with mean = 0 and standard deviation = 1
Sigma <- matrix(0.25,3,3)
diag(Sigma) <- 1
set.seed(100)
data <- MASS::mvrnorm(n=1000,mu=c(0,5,10), Sigma=Sigma, empirical=TRUE)
colnames(data) <- c("Before","During","After")

mcmc <- bfw::bfw(project.data = data,
                 y = "Before,During,After",
                 saved.steps = 50000,
                 jags.model = "mean",
                 job.title = "Stages of Cheese",
                 jags.seed = 100,
                 silent = TRUE)

# Print output
round(mcmc$summary.MCMC,3)
#>                  Mean Median   Mode   ESS  HDIlo  HDIhi    n
#> mu[1]: Before       0      0  0.002 51201 -0.062  0.063 1000
#> mu[2]: During       5      5  5.000 50000  4.939  5.064 1000
#> mu[3]: After       10     10 10.000 50000  9.938 10.062 1000
#> sigma[1]: Before    1      1  1.000 49354  0.958  1.046 1000
#> sigma[2]: During    1      1  1.000 50000  0.957  1.045 1000
#> sigma[3]: After     1      1  0.997 50000  0.957  1.045 1000
Plot <- bfw::PlotMean(mcmc,
                      run.repeated = TRUE)
ParsePlot(Plot)

Plot the data as repeated measures

plot1

Lets add some noise

set.seed(101)
noise <- apply(data,2, function (x) x + rbinom(length(x),1,0.7))

noise.mcmc <- bfw::bfw(project.data = noise,
                  y = "Before,During,After",
                  saved.steps = 50000,
                  jags.model = "mean",
                  job.title = "Stages of Cheese",
                  jags.seed = 101,
                  silent = TRUE)

# Print output
round(noise.mcmc$summary.MCMC,3)
#>                    Mean Median   Mode   ESS  HDIlo  HDIhi    n
#> mu[1]: Before     0.713  0.713  0.713 50000  0.641  0.781 1000
#> mu[2]: During     5.686  5.686  5.690 48350  5.618  5.756 1000
#> mu[3]: After     10.686 10.686 10.685 50648 10.617 10.753 1000
#> sigma[1]: Before  1.120  1.119  1.116 50000  1.072  1.170 1000
#> sigma[2]: During  1.116  1.116  1.112 50000  1.068  1.166 1000
#> sigma[3]: After   1.101  1.100  1.097 49233  1.054  1.151 1000
Plot <- bfw::PlotMean(noise.mcmc, 
                      run.repeated = TRUE)
ParsePlot(Plot)

Plot the noise as repeated measures

plot2

Let’s add a group

combined.data <- as.data.frame(rbind(cbind(data,"Y"), cbind(noise,"X") ), stringsAsFactors=FALSE)
combined.data[,1:3] <- lapply(combined.data[,1:3] , as.numeric)
combined.data[,4] <- as.factor(combined.data[,4])
colnames(combined.data) <- c(colnames(data), "Groups")

combined.data <- bfw::bfw(project.data = combined.data,
                     y = "Before,During,After",
                     x = "Groups",
                     job.title = "Stages of Cheese",
                     saved.steps = 50000,
                     jags.model = "mean",
                     jags.seed = 102,
                     silent = TRUE)

# Print output
round(combined.data$summary.MCMC[, 3:7],3)
#>                                   Mode   ESS  HDIlo  HDIhi    n
#> mu[1]: Before                    0.359 50000  0.309  0.407 2000
#> mu[2]: Before vs. Groups @ X     0.713 50000  0.641  0.779 1000
#> mu[3]: Before vs. Groups @ Y    -0.002 50000 -0.063  0.062 1000
#> mu[4]: During                    5.342 50000  5.293  5.391 2000
#> mu[5]: During vs. Groups @ X     5.683 49103  5.616  5.754 1000
#> mu[6]: During vs. Groups @ Y     4.998 50000  4.938  5.062 1000
#> mu[7]: After                    10.344 50000 10.293 10.390 2000
#> mu[8]: After vs. Groups @ X     10.688 49245 10.618 10.754 1000
#> mu[9]: After vs. Groups @ Y      9.999 50000  9.938 10.063 1000
#> sigma[1]: Before                 1.119 50000  1.086  1.155 2000
#> sigma[2]: Before vs. Groups @ X  1.119 48125  1.071  1.169 1000
#> sigma[3]: Before vs. Groups @ Y  0.998 50000  0.958  1.045 1000
#> sigma[4]: During                 1.112 50000  1.079  1.148 2000
#> sigma[5]: During vs. Groups @ X  1.115 49356  1.068  1.165 1000
#> sigma[6]: During vs. Groups @ Y  0.999 50000  0.957  1.045 1000
#> sigma[7]: After                  1.105 50000  1.072  1.140 2000
#> sigma[8]: After vs. Groups @ X   1.098 50000  1.054  1.150 1000
#> sigma[9]: After vs. Groups @ Y   1.000 50000  0.957  1.045 1000

# Let's also add some colors!
Plot <- bfw::PlotMean(combined.data, 
                      run.split = TRUE, 
                      run.repeated = TRUE,  
                      monochrome = FALSE)
ParsePlot(Plot)

Plot the split data

plot3

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.