Rmvnorm () işlevini kullanın, 3 argüman alır: varyans kovaryans matrisi, ortalamalar ve satır sayısı.
Sigma'da 3 * 5 = 15 satır ve sütun olacaktır. Her değişkenin her gözlemi için bir tane. Bu 15 ^ 2 parametresini ayarlamanın birçok yolu vardır (ar, iki taraflı simetri, yapılandırılmamış ...). Ancak bu matrisi doldurursanız, özellikle bir korelasyon / kovaryans sıfıra ayarladığınızda veya iki varyansı eşit olarak ayarladığınızda varsayımların farkında olun. Başlangıç noktası için sigma matrisi aşağıdaki gibi görünebilir:
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)
Yani sigma [1,12] .2'dir ve bu, Y1'in ilk gözlemi ile Y3'ün ikinci gözlemi arasındaki kovaryansın , diğer tüm 13 değişkene bağlı olarak .2 olduğu anlamına gelir . Çapraz sıraların hepsi aynı sayı olmak zorunda değildir: bu benim yaptığım basitleştirici bir varsayımdır. Bazen mantıklı, bazen de mantıklı değil. Genel olarak, 3. gözlem ile dördüncü arasındaki korelasyonun 1. ve ikinci arasındaki korelasyon ile aynı olduğu anlamına gelir.
Ayrıca araçlara da ihtiyacınız var. Kadar basit olabilir
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)
Burada ilk 5, Y1'in 5 gözlemi için araçlardır, ... son 5, Y3'ün gözlemleridir.
sonra verilerinizi 2000 ile gözlemleyin:
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")
Y11'in Y1'in ilk gözlemi olduğu yerde, ..., Y15, Y1'in 5. gözlemidir ...
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
. Benzer bir yaklaşım ikinci örneği üretecektir. Ancak, ortak bir sorunu vardır: Aralarında kovaryanslarından kaybetmiş 'period-- her sırasında s tekrarlayan ölçümler yapısını yansıtmamaktadır bu matrisleri.