Utilizzare la funzione rmvnorm (), accetta 3 argomenti: la matrice di covarianza varianza, la media e il numero di righe.
Il sigma avrà 3 * 5 = 15 righe e colonne. Uno per ogni osservazione di ogni variabile. Esistono molti modi per impostare questi 15 ^ 2 parametri (ar, simmetria bilaterale, non strutturata ...). Tuttavia, compilando questa matrice sii consapevole delle ipotesi, in particolare quando imposti una correlazione / covarianza su zero o quando imposti due varianze per essere uguali. Per un punto di partenza una matrice sigma potrebbe assomigliare a questa:
sigma=matrix(c(
#y1 y2 y3
3 ,.5, 0, 0, 0, 0, 0, 0, 0, 0,.5,.2, 0, 0, 0,
.5, 3,.5, 0, 0, 0, 0, 0, 0, 0,.2,.5,.2, 0, 0,
0 ,.5, 3,.5, 0, 0, 0, 0, 0, 0, 0,.2,.5,.2, 0,
0 , 0,.5, 3,.5, 0, 0, 0, 0, 0, 0, 0,.2,.5,.2,
0 , 0, 0,.5, 3, 0, 0, 0, 0, 0, 0, 0, 0,.2,.5,
0 ,0 ,0 ,0 , 0, 3,.5, 0, 0, 0, 0, 0, 0, 0, 0,
0 ,0 ,0 ,0 ,0 ,.5, 3,.5, 0, 0, 0, 0, 0, 0, 0,
0 ,0 ,0 ,0 ,0 ,0 ,.5, 3,.5, 0, 0, 0, 0, 0, 0,
0 ,0 ,0 ,0 ,0 ,0 ,0 ,.5, 3,.5, 0, 0, 0, 0, 0,
0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,.5, 3, 0, 0, 0, 0, 0,
.5,.2,0 ,0 ,0 ,0 ,0 ,0 ,0 , 0, 3,.5, 0, 0, 0,
.2,.5,.2,0 ,0 ,0 ,0 ,0 ,0 ,0 ,.5, 3,.5, 0, 0,
0 ,.2,.5,.2,0 ,0 ,0 ,0 ,0 ,0 ,0 ,.5, 3,.5, 0,
0 ,0 ,.2,.5,.2,0 ,0 ,0 ,0 ,0 ,0 ,0 ,.5, 3,.5,
0 ,0 ,0 ,.2,.5,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,.5, 3
),15,15)
Quindi il sigma [1,12] è .2 e ciò significa che la covarianza tra la prima osservazione di Y1 e la seconda osservazione di Y3 è .2, subordinata a tutte le altre 13 variabili. Le righe diagonali non devono essere tutte dello stesso numero: è un presupposto semplificativo che ho fatto. A volte ha senso, a volte no. In generale significa che la correlazione tra una terza osservazione e una quarta è uguale alla correlazione tra una prima e una seconda.
Hai anche bisogno di mezzi. Potrebbe essere semplice come
meanTreat=c(1:5,51:55,101:105)
meanControl=c(1,1,1,1,1,50,50,50,50,50,100,100,100,100,100)
Qui i primi 5 sono i mezzi per le 5 osservazioni di Y1, ... gli ultimi 5 sono le osservazioni di Y3
quindi ottieni 2000 osservazioni dei tuoi dati con:
sampleT=rmvnorm(1000,meanTreat,sigma)
sampleC=rmvnorm(1000,meanControl,sigma)
sample=data.frame(cbind(sampleT,sampleC) )
sample$group=c(rep("Treat",1000),rep("Control",1000) )
colnames(sample)=c("Y11","Y12","Y13","Y14","Y15",
"Y21","Y22","Y23","Y24","Y25",
"Y31","Y32","Y33","Y34","Y35")
Dove Y11 è la prima osservazione di Y1, ..., Y15 è la quinta osservazione di Y1 ...
n <- 3*5; sigma <- diag(1, nrow=n, ncol=n); sigma[rbind(cbind(1:n-1,1:n),cbind(1:n,1:n-1))] <- 1/2