library(readxl)
library(boot)
library(coda)
## Warning: package 'coda' was built under R version 4.0.2
library(R2WinBUGS)
## Warning: package 'R2WinBUGS' was built under R version 4.0.2
# install terlebih dahulu link berikut
# https://sourceforge.net/projects/mcmc-jags/files/
# Untuk Menghitung Nilai DIC
library(R2jags)
## Warning: package 'R2jags' was built under R version 4.0.2
## Loading required package: rjags
## Warning: package 'rjags' was built under R version 4.0.2
## Linked to JAGS 4.3.0
## Loaded modules: basemod,bugs
##
## Attaching package: 'R2jags'
## The following object is masked from 'package:coda':
##
## traceplot
#DATA
dataset1 <- read_excel('Data.xlsx')
var1 <- dataset1[,1:6]
T <- dataset1$TR2
alpha <- c(1,1)
N <- nrow(dataset1)
NLR<-var1$NLR
LMR<-var1$LMR
PLR<-var1$PLR
HPR<-var1$HPR
PWR<-var1$PWR
LWR<-var1$LWR
df<-list("NLR","LMR","PLR","HPR","PWR","LWR","N","alpha","T")
#INIT
inits = function() {
lambda1 = mean(var1$NLR[1:40]) +rnorm(1,0,.01)
theta = 60
sigma2 = var(var1$NLR[1:40])
return(list(lambda = c(lambda1, NA),
theta1 = theta,
tau = 1/sigma2,
P = c(40, 60-40)/60))
}
#MODEL
mixmodel=function() {
for( i in 1 : N ) {
NLR[i] ~ dnorm(mu1[i], tau)
LMR[i] ~ dnorm(mu2[i], tau)
PLR[i] ~ dnorm(mu3[i], tau)
HPR[i] ~ dnorm(mu4[i], tau)
PWR[i] ~ dnorm(mu5[i], tau)
LWR[i] ~ dnorm(mu6[i], tau)
mu1[i] <- lambda[T[i]]
mu2[i] <- lambda[T[i]]
mu3[i] <- lambda[T[i]]
mu4[i] <- lambda[T[i]]
mu5[i] <- lambda[T[i]]
mu6[i] <- lambda[T[i]]
T[i] ~ dcat(P[]) }
P[1:2] ~ ddirch(alpha[])
theta1 ~ dnorm(0.0, 1.0E-6)%_%I(0.0, )
lambda[1] ~ dnorm(0.0, 1.0E-6)
lambda[2] <- lambda[1] + theta1
tau ~ dgamma(0.001,0.001)
sigma <- 1 / sqrt(tau)
}
parameters <- c("lambda","sigma","P")
FMM.fit<-jags(df, inits=inits, parameters, n.chains=1, n.burnin=100000,
n.iter=200000, model.file=mixmodel, DIC=TRUE)
## module glm loaded
## Warning in jags.model(model.file, data = data, inits = init.values, n.chains =
## n.chains, : NAs introduced by coercion
## Compiling model graph
## Resolving undeclared variables
## Allocating nodes
## Graph information:
## Observed stochastic nodes: 362
## Unobserved stochastic nodes: 62
## Total graph size: 493
##
## Initializing model
print(FMM.fit)
## Inference for Bugs model at "C:/Users/NALEND~1/AppData/Local/Temp/RtmpYXbxCX/model213c7bb93b48.txt", fit using jags,
## 1 chains, each with 2e+05 iterations (first 1e+05 discarded), n.thin = 100
## n.sims = 1000 iterations saved
## mu.vect sd.vect 2.5% 25% 50% 75% 97.5%
## P[1] 0.533 0.242 0.088 0.343 0.537 0.724 0.946
## P[2] 0.467 0.242 0.054 0.276 0.463 0.657 0.912
## lambda[1] 39.977 8.349 19.418 36.147 40.921 45.210 52.428
## lambda[2] 53.563 11.097 38.727 46.934 51.710 57.290 82.213
## sigma 95.919 3.438 89.519 93.448 95.807 98.138 103.272
## deviance 4309.777 2.657 4305.807 4307.924 4309.255 4311.150 4316.209
##
## DIC info (using the rule, pD = var(deviance)/2)
## pD = 3.5 and DIC = 4313.3
## DIC is an estimate of expected predictive error (lower deviance is better).
# ada notif merah setelah melakukan fitting jangan khawatir langsung PRINT saja
# Koding print(FMM.fit)