library(plotrix)#载入plotrix包
library(MASS) #载入MASS包
Sigma<-matrix(c(4,4,4,9),2)#生成总体协方差阵
a<-0.05#显著性水平a
mu<-c(1,1)
set.seed(11)
x<-mvrnorm(n=1000,mu,Sigma)#生成样本容量为1000的二维正态随机样本
(eigenS<-eigen(Sigma))#计算样本协差阵的特征值与单位特征向量
(X2<-qchisq(1-a,2))
(a1<-sqrt(X2eigenS$values[1]))#计算长轴半径
(b1<-sqrt(X2eigenS$values[2]))#计算短轴半径
(angle=atan(eigenS$vectors[2,1]/eigenS$vectors[1,1]))#通过反正切函数计算夹角
plot(x,pch=19,cex=0.6,xlim = c(min(x[,1]-3),max(x[,1]+3)), ylim = c (min(x[,2]-3),max(x[,2]+3)))#画二维散点图
draw.ellipse(mu[1], mu[2], a1,b1,angle,deg=FALSE,border="red",lwd=1.8)#编制95%的概率密度等高线
a<-0.7#显著性水平a
X2_1<-qchisq(1-a,2)
(a2<-sqrt(X2_1eigenS$values[1]))#计算长轴半径
(b2<-sqrt(X2_1eigenS$values[2]))#计算短轴半径
draw.ellipse(mu[1], mu[2], a2,b2,angle,deg=FALSE,border="blue",lwd=1.8)#编制30%的概率密度等高线
a<-0.4#显著性水平a
X2_2<-qchisq(1-a,2)
(a3<-sqrt(X2_2eigenS$values[1]))#计算长轴半径
(b3<-sqrt(X2_2eigenS$values[2]))#计算短轴半径
draw.ellipse(mu[1], mu[2], a3,b3,angle,deg=FALSE,border="green",lwd=1.8)#编制60%的概率密度等高线
#3、样本均值的概率密度等高线
#编制95%的概率密度等高线
a<-0.05
n<-nrow(x)
X2_3<-qchisq(1-a,2)
(a3<-sqrt(X2_3eigenS$values[1]/n))#计算长轴半径
(b3<-sqrt(X2_3eigenS$values[2]/n))#计算短轴半径
draw.ellipse(mu[1], mu[2], a3,b3,angle,deg=FALSE,border="orange",lwd=1.8)
#编制30%的概率密度等高线
a<-0.7#显著性水平a
X2_4<-qchisq(1-a,2)
(a4<-sqrt(X2_4eigenS$values[1]/n))#计算长轴半径
(b4<-sqrt(X2_4eigenS$values[2]/n))#计算短轴半径
draw.ellipse(mu[1], mu[2], a4,b4,angle,deg=FALSE,border="yellow",lwd=1.8)
#编制60%的概率密度等高线
a<-0.4#显著性水平a
X2_5<-qchisq(1-a,2)
(a5<-sqrt(X2_5eigenS$values[1]/n))#计算长轴半径
(b5<-sqrt(X2_5eigenS$values[2]/n))#计算短轴半径
draw.ellipse(mu[1], mu[2], a4,b4,angle,deg=FALSE,border="violet",lwd=1.8)
报什么错呢,是样本不一样造成的图形结果不同吗?题中是100个样本点,代码中用了1000个。