Comment puis-je faire la différence dans les moyens (TTEST) pour une à plusieurs variables en utilisant R
et WinBUGS14
J'ai un résultat à plusieurs variables y
et la x
variable catégorique. Je suis en mesure d'obtenir les moyennes des valeurs échantillonnées MCMC
de la multivariable en utilisant le code ci-dessous, mais comment puis-je tester la différence de moyennes par variable x
?multivariée TTEST utilisant r et winbug
Voici le code R
library(R2WinBUGS)
library(MASS) # need to mvrnorm
library(MCMCpack) # need for rwish
# Generate synthetic data
N <- 500
#we use this to simulate the data
S <- matrix(c(1,.2,.2,5),nrow=2)
#Produces one or more samples from the specified multivariate normal distribution.
#produces 2 variables with the given distribution
y <- mvrnorm(n=N,mu=c(1,3),Sigma=S)
x <- rbinom(500, 1, 0.5)
# Set up for WinBUGS
#set up of the mu0 values
mu0 <- as.vector(c(0,0))
#covariance matrices
# the precisions
S2 <- matrix(c(1,0,0,1),nrow=2)/1000 #precision for unkown mu
# precison matrix to be passes to the wishart distribution for the tau
S3 <- matrix(c(1,0,0,1),nrow=2)/10000
#the data for the winbug code
data <- list("y","N","S2","S3","mu0")
inits <- function(){
list(mu=mvrnorm(1,mu0,matrix(c(10,0,0,10),nrow=2)),
tau <- rwish(3,matrix(c(.02,0,0,.04),nrow=2)))
}
# Run WinBUGS
bug_file <- paste0(getwd(), "/codes/mult_normal.bug")
multi_norm.sim <- bugs(data,inits,model.file=bug_file,
parameters=c("mu","tau"),n.chains = 2,n.iter=4010,n.burnin=10,n.thin=1,
bugs.directory="../WinBUGS14/",codaPkg=F)
print(multi_norm.sim,digits=3)
et c'est le code WinBUGS14
appelé mult_normal.bug
model{
for(i in 1:N)
{
y[i,1:2] ~ dmnorm(mu[],tau[,])
}
mu[1:2] ~ dmnorm(mu0[],S2[,])
#parameters of a wishart
tau[1:2,1:2] ~ dwish(S3[,],3)
}
non pas censé remplacer le fichier de bogue. Mais le fichier 'R' appelle le code du bogue ici' bug_file <- paste0 (getwd(), "/codes/mult_normal.bug") multi_norm.sim <- bogues (data, inits, model.file = fichier_bugs, ' – Keniajin
oui mais par la variable 'x' – Keniajin