全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
860 0
2018-04-19
模拟数据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
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群