实验报告四课程统计建模与R软件
学生姓名陈蓉蓉
学号20121315046
学院数学与统计学院
专业统计学
任课教师宋凤丽
二O一四年四月九日
∙对R中自带的数据做如下研究
∙显示数据,检查数据的变量名字以及样本量、变量个数; > iris
>data<-iris
> dim(data)
> colnames(data)
∙做第一个变量Sepal.Length的散点图;
>data[,1]
> crr<-data[,1]
做第一个变量Sepal.Length的经验分布函数图;
> ecdf(crr)
> plot(ecdf(crr),verticals=TRUE,do.p=FALSE)
画出第一个变量Sepal.Length的直方图、核密度函数图、QQ图来分析数据是否服从正态分布,给出图形的解释;
> hist(crr)
> density(crr)
Call:
density.default(x = crr)
Data: crr (150 obs.); Bandwidth 'bw' = 0.2736 x y
Min. :3.479 Min. :0.0001495
1st Qu.:4.790 1st Qu.:0.0341599
Median :6.100 Median :0.1534105
Mean :6.100 Mean :0.1905934
3rd Qu.:7.410 3rd Qu.:0.3792237
Max. :8.721 Max. :0.3968365
> lines(density(crr),col="blue")
> qqnorm(crr)
> qqline(crr)
结论:从上图中可以看出所连成的直线完全偏离y=x这条直线,所以不服从正态分布。
∙利用经验分布的Kolmogorov-Smirnov检验、shapiro-Wilk正态性检验来做统计推断,写出命令,给出原假设和备择假设,P值,以及P值的解释,分析结果并与(4)中结论进行比较;
H0:x服从正态分布H1:X不服从正态分布
>ks.test(crr,"pnorm")
One-sample Kolmogorov-Smirnov test
data: crr
D = 1, p-value < 2.2e-16
alternative hypothesis: two-sided
Warning message:
In ks.test(crr, "pnorm") :
ties should not be present for the Kolmogorov-Smirnov test
结论:从中可以得出p值为< 2.2e-16<0.05,所以crr不服从正态分布,同上题结论一致。
∙画出Sepal.Length,Sepal.Width,Petal.Length,Petal.Width之间任意两个变量之间的散点图;
> crr1<-data[,2]
> plot(crr,crr1)
检查Species是否是因子,否则转化为因子。
画出关于因子的Sepal.Length关于Species的箱线图;
> crr2<-data[,5]
> is.factor(crr2)
[1] TRUE
>boxplot(crr~crr2)
∙画出在Species划分下Sepal.Length与Sepal.Width的散点图; > coplot(crr~crr1|crr2)
∙画出数据iris的点图(dotchart)
> dotchart<-plot(iris)
2、已知四个函数:
y=sin(x),z=cos(x),a=sin(2x),b=sin2(x)
∙采用一页多图方式分别绘制上述四个函数图像;
>x<-seq(1,10,0.001)
>layout(matrix(c(1:4),nrow=2,ncol=2))
> plot(x, sin(x), type="l")
> plot(x,cos(x),type="l")
> plot(x,sin(2*x),type="l")
> plot(x,sin(x)*sin(x),type="l")
∙在一幅图中使用不同色标和线的类型绘制四个函数,并给出图例; > x <-seq(-pi, pi, 0.001)
> plot(x, sin(x), type = "l", ylim= c(-1.2, 1.8), col= 3, lty= 2)
> points(x, cos(x), pch= 3, col= 4)
> lines(x, sin(2*x),type="b", lty= 1, pch= 4, col= 6)
> points(x,sin(x)*sin(x),lty=2,col=1)
在(1)的基础上给出每个图的主标题,副标题以及在第一个图中某个位置标注函数的形式y=sin(x);
> par(mfrow=c(2,2))
> x<-seq(-pi,pi,0.01)
> plot(sin(x), type="l",main="sin")
> mtext("x")
> text(-1.5,0.5,"y=sin(x)",cex=0.8)
> plot(cos(x), type="l",main="cos")
> mtext("x")
> plot(sin(2*x), type="l",main="sin")
> mtext("2*x")
> mtext("x")
> plot(sin(x)*sin(x), type="l",main="sin^2")
> mtext("x")。