R语言实验 下载本文

内容发布更新时间 : 2024/12/27 13:07:20星期一 下面是文章的全部内容请认真阅读。

实验4 R绘图(一)

一、实验目的:

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

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

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

二、实验内容:

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

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

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

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. (习题)某单位对100名女生测定血清总蛋白含量(g/L),数据如下:

计算均值、方差、标准差、极差、标准误、变异系数、偏度、峰度。

要求:先将上述数据单独存为一个文本文件,名字为。然后利用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)))

(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,=1) }

进入R, >source(\ >w<-scan(\ >w

>data_outline(w) 运行结果:

N Mean Var std_dev Median std_mean CV CSS USS R

1 100 20

R1 Skewness Kurtosis 1

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

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

注意:以上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,=FALSE)

> lines(x,pnorm(x,mean(w),sd(w)),col=\ > qqnorm(w,col=\ > qqline(w,col=\ 运行截图:

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

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

源代码: >stem(w)

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

运行截图:

6. (习题)分别用W检验方法和Kolmogorov-Smirnov检验方法检验习题的数据是否

服从正态分布。

源代码: >(w)

> (w,\ 运行截图:

结论:

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

经验分布的检验:P>,可认为来自正态分布总体。有警告信息是因为数据有重复数值,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进行检验是否服从正态分布,进行五数的总括,最能反应数据重要特征。掌握统计描述是非常重要的,因为是数据分析的基础。学会进行密度估计曲线与正态密度曲线相比较,经验分布曲线与正态分布曲线相比较。