R语言实验4

更新时间:2023-11-24 17:36:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验4 R绘图(一)

一、实验目的:

1. 掌握描述性统计分析中常用的统计量;

2. 掌握R语言绘制直方图、密度估计曲线、经验分布图和QQ图的方法; 3. 掌握R语言绘制茎叶图、箱线图的方法;

4. 掌握W检验方法和K-S检验方法完成数据的正态分布检验。

二、实验内容:

练习: 要求:①完成练习并粘贴运行截图到文档相应位置(截图方法见下),并将所有自己输入文字的字体颜色设为红色(包括后面的思考及小结),②回答思考题,③简要书写实验小结。④修改本文档名为“本人完整学号姓名1”,其中1表示第1次实验,以后更改为2,3,...。如文件名为“1305543109张立1”,表示学号为1305543109的张立同学的第1次实验,注意文件名中没有空格及任何其它字符。最后连同数据文件、源程序文件等(如果有的话,本次实验没有),一起压缩打包发给课代表,压缩包的文件名同上。 截图方法:

法1:调整需要截图的窗口至合适的大小,并使该窗口为当前激活窗口(即该窗口在屏幕最前方),按住键盘Alt键(空格键两侧各有一个)不放,再按键盘右上角的截图键(通常印有“印屏幕”或“Pr Scrn”等字符),即完成截图。再粘贴到word文档的相应位置即可。 法2:利用QQ输入法的截屏工具。点击QQ输入法工具条最右边的“扳手”图标,选择其中的“截屏”工具。)

1. 自行完成教材P107页开始的3.1-3.2节中的例题。

2. 以前在做实验1的练习时,我们画过直方图。当时的题目是这样的:

利用hist()函数画直方图。

> X<-c(35,40,40,42,37,45,43,37,44,42,41,39) > hist(X)

这次实验先重新运行以上命令后,接着运行以下命令: > windows() #R作图会覆盖前一幅图,此命令是新开一个画图窗口 > hist(X, freq=F)

把两个图分别截下复制到下面,进行比较,你发现有什么不同? 答:纵坐标不同,一个是频数(Frequency),一个是密度(Density)

如果想把这两幅图画在同一个画图窗口中,可以输入以下命令: > par(mfrow=c(1,2)) #在一个窗口里放多张图,这里是1行2列共2个图 > hist(X)

> hist(X,freq=F) 运行结果截图:

3. (习题3.1)某单位对100名女生测定血清总蛋白含量(g/L),数据如下:

74.3 78.8 68.8 78.0 70.4 80.5 80.5 69.7 71.2 73.5 79.5 75.6 75.0 78.8 72.0 72.0 72.0 74.3 71.2 72.0 75.0 73.5 78.8 74.3 75.8 65.0 74.3 71.2 69.7 68.0 73.5 75.0 72.0 64.3 75.8 80.3 69.7 74.3 73.5 73.5 75.8 75.8 68.8 76.5 70.4 71.2 81.2 75.0 70.4 68.0 70.4 72.0 76.5 74.3 76.5 77.6 67.3 72.0 75.0 74.3 73.5 79.5 73.5 74.7 65.0 76.5 81.6 75.4 72.7 72.7 67.2 76.5 72.7 70.4 77.2 68.8 67.3 67.3 67.3 72.7 75.8 73.5 75.0 73.5 73.5 73.5 72.7 81.6 70.3 74.3 73.5 79.5 70.4 76.5 72.7 77.2 84.3 75.0 76.5 70.4 计算均值、方差、标准差、极差、标准误、变异系数、偏度、峰度。

要求:先将上述数据单独存为一个文本文件,名字为STP.txt。然后利用scan()函数读取并计算。

源代码及运行结果(不需要截图,直接把运算结果复制过来): data_outline<-function(x){ n<-length(x) m<-mean(x) v<-var(x) s<-sd(x)

me<-median(x) cv<-100*s/m

css<-sum((x-m)^2) uss<-sum(x^2) R<-max(x)-min(x)

R1<-quantile(x,3/4)-quantile(x,1/4) sm<-s/sqrt(n)

g1<-n/((n-1)*(n-2))*sum((x-m)^3)/s^3

g2<-((n*(n+1))/((n-1)*(n-2)*(n-3))*sum((x-m)^4)/s^4-(3*(n-1)^2)/((n-2)*(n-3)))

data.frame(N=n,Mean=m,Var=v,std_dev=s,Median=me,std_mean=sm,CV=cv,CSS=css,USS=uss,R=R,R1=R1,Skewness=g1,Kurtosis=g2,row.names=1) }

进入R,

>source(\>w<-scan(\>w

>data_outline(w) 运行结果:

N Mean Var std_dev Median std_mean CV CSS USS R

1 100 73.668 15.51513 3.938925 73.5 0.3938925 5.34686 1535.998 544233.4 20 R1 Skewness Kurtosis 1 4.6 0.0540593 0.03702249

4. (习题3.2)绘出习题3.1的直方图、密度估计曲线、经验分布图和QQ图,并将

密度估计曲线与正态密度曲线相比较,将经验分布曲线与正态分布曲线相比较(其中正态曲线的均值和标准差取习题3.1计算出的值)。

注意:以上4个图形的颜色自行定义,只要能区分开来就行。

源代码:

> hist(w,freq=FALSE)

> lines(density(w),col=\> x<-64:85

> lines(x,dnorm(x,mean(w),sd(w)),col=\> plot(ecdf(w),verticals=TRUE,do.p=FALSE) > lines(x,pnorm(x,mean(w),sd(w)),col=\> qqnorm(w,col=\> qqline(w,col=\运行截图:

5. (习题3.3)绘出习题3.1的茎叶图、箱线图,并计算五数总括。

注意:以上图形的颜色自行定义。

源代码: >stem(w)

> boxplot(w,col=\>fivenum(w)

运行截图:

6. (习题3.4)分别用W检验方法和Kolmogorov-Smirnov检验方法检验习题3.1的

数据是否服从正态分布。

源代码:

>shapiro.test(w)

> ks.test(w,\运行截图:

结论:

正态性W检验得出P值为0.6708>0.05,因此,认为样本来自正态分布的总体。

经验分布的检验:P>0.05,可认为来自正态分布总体。有警告信息是因为数据有重复数值,ks检验要求待检数据时连续的,不被重复的。

思考:

1. 统计分析包括哪两个方面的分析?

统计描述和统计推断

2. 描述集中趋势的统计量有哪些?

均值,众数,百分位数,中位数等 3. 描述分散程度的统计量有哪些?

方差,标准差,极差,四分位极差,变异系数和标准误差等 4. 描述分布形状的统计量有哪些?

偏度系数和峰度系数

5. 标准差刻画的是样本值与样本均值的偏离程度,标准误刻画的是样本均值与_____

的偏离程度。

样本

6. lapply()函数和sapply()函数有什么异同点?

异:lapply()函数输出列表;sapply()函数输出向量 同:作用于向量或列表的数据集合上(数据框)

7. R中每一个分布都对应有四个函数,以正态分布norm为例,请写出它对应的4个

函数,并简要说明每个函数的作用。

dnorm()的返回值是正态分布的概率密度函数 pnorm()的返回值是正态分布的分布函数 qnorm()的返回值是给定概率p后的下分位点

rnorm()的返回值是n个正态分布随机数构成的向量 8. QQ图有什么作用?

QQ图可以帮助我们鉴别样本的分布是否近似于某种类型分布 9. 箱线图中,箱的底部,中部和顶部分别表示什么?

在箱线图中,上(Q3)下(Q1)四分位点分别确定出中间箱体的顶部和底部,箱体中间的粗线是中位数(me)所在位置

10. 在R中,如果想在一个输出窗口里放2行3列共6张图,需要运行什么命令? > par(mfrow=c(2,3))

三、实验小结(必写,但字数不限)

这次实验主要是数据分布,统计描述通过绘制图(直方图、茎叶图、箱线图等)对数据进行分析,还需要进行正态w和分布ks进行检验是否服从正态分布,进行五数的总括,最能反应数据重要特征。掌握统计描述是非常重要的,因为是数据分析的基础。学会进行密度估计曲线与正态密度曲线相比较,经验分布曲线与正态分布曲线相比较。

本文来源:https://www.bwwdw.com/article/e6zt.html

Top