模拟数据X来自均值为零,方差为VV'+I的正态分布,其中V是一个p*3的正交矩阵(它的列是按照特征值排序的三个主成分)。利用该模拟数据检验新的PCA算法的性能。这样的模拟需要重复300次。请问怎么写出生成X的R语言代码。虽然生成一个X很简单,但是重复生成300个,不知道怎么实现?下面是生成一个X的代码:
library(MASS)
set.seed(1234)
##生成模拟数据
v1 <- rep(0,times=50)#定义真实的第一主成分v1
v2 <- rep(0,times=50)#定义真实的第二主成分v2
v3 <- rep(0,times=50)#定义真实的第三主成分v3
for(i in 1:10){
v1[i] <- 0.32
} #对v1赋值
for(i in 11:20){
v2[i] <- 0.32
} #对v2赋值
for(i in 21:30){
v3[i] <- 0.32
} #对v3赋值
v <- matrix(NA,50,3)#定义主成分矩阵v
v[,1] <- v1
v[,2] <- v2
v[,3] <- v3
I <- diag(50)
var <- v%*%t(v)+I#方差
mean <- rep(0,50)#均值
x <- mvrnorm(100,mean,var)#生成模拟数据x