1、1.6 基本统计计算在进行数据分析的时候,通常会用到统计分布和抽样,以下是一些基本的命令。1.6.1 抽样常用的是sample(x,size,replace=FALSE,prob=NULL)(总体,样本数,是否有放回,抽中的概率)sample(1:10,10)x=sample(1:10,10,replace=T);x unique(x)#去重复的 sample(c(0,1),10,replace=T,c(1/4,3/4)#0,1的概率为n-1000sample(c(-1,1),n,replace=T)1.6.2 统计分布 dnorm(x,mean=1,sd=2)#xN(1,4)dnorm(0,
2、0,1)#xN(0,1),x=0 x=seq(-2,-1,0,1,2)#五点的概率:dnorm(x,0,1)常用函数:pnorm()#正态分布的累积分布函数 qnorm()#分位数 rnorm()#伪随机数 pnorm(0,0,1)qnorm(0.5,0,1)rnorm(10,0,1)其他分布命名规则和正态分布相似,d,p,q,r表示概率密度,累积分布,分位数,伪随机数图描述性统计位置的度量:均值、顺序统计量、中位数、百分位数。均值计算:niixnx11若若x是向量、矩阵,则是向量、矩阵,则mean(x)返回其全部元素均值。返回其全部元素均值。若要返回数组某一维的均值:若要返回数组某一维的均值
3、:apply(x,dim,mean);dim=1计算行计算行均值,均值,dim=2计算列均值。计算列均值。若若x是数据框,则是数据框,则mean(x)返回各列的均值返回各列的均值Mean的一般用法:的一般用法:mean(x,trim=0,na.rm=FALSE)trim指定去掉指定去掉x两端数的比例;两端数的比例;na.rm=TRUE允许有缺失值。允许有缺失值。类似又类似又sum(x)函数可求函数可求x的和。的和。顺序统计量将n个数据(观测值)按从小到大的顺序排列后,称其为顺序统计量.函数sort(x)给出了样本x的顺序统计量order()给出排序后的下标rank()给出了样本x的秩次统计量x
4、-c(75,64,47.4,66.9,62.2,62.2,58.7,63.5)sort(x)order(x)中位数中位数描述数据中心位置的数字特征.大体上比中位数大或小的数据个数为整个数据的一半.对于对称分布的数据,均值与中位数比较接近;对于偏态分布的数据,均值与中位数不同.中位数的又一显著特点是不受异常值的影响,具有稳健性,因此它是数据分析中相当重要的统计量.在R软件中,函数median()给观测量的中位数.如x-c(75,64,47.4,66.9,62.2,62.2,58.7,63.5)median(x)median(x,na.rm=TRUE)#若数据中有缺失值百分位数百分位数(perce
5、ntile)是中位数的推广.将数据按从小到大的排列后,0p1,它的p分位点定义为:在R软件中,quantile()函数计算观测量的百分位数.如w-c(75.0,64.0,47.4,66.9,62.2,62.2,58.7,63.5,66.6,64.0,57.0,69.0,56.9,50.0,72.0)quantile(w)一般用法:quantile(x,probs=seq(0,1,0.25),na.rm=FALSE)分散程度的度量表示数据分散(或变异)程度的特征量有方差、标准差、极差、四分位极差、变异系数和标准误等.在R软件中,用var()和sd()计算方差、标准差:var(x,na.rm=FA
6、LSE,)sd(x,na.rm=FALSE)极差与标准误样本极差(记为R)的计算:R=max(x)-min(x)样本上、下四分位数之差称为四分位差(或半极差),记为R1.它也是度量样本分散性的重要数字特征,特别对于具有异常值的数据,它作为分散性具有稳健性,因此在稳健性数据分析中具有重要作用.半极差计算:R1=quantile(x,0.75)-quantile(x,0.25)样本标准误(记为sm)定义为s/sqrt(n)样本标准误计算:sm=sd(x)/sqrt(length(x)1.7 R的图形功能R提供了非常多样的绘图功能,可以通过R提供的两组演示例子进行了解:demo(graphics)d
7、emo(persp)注:不能把绘图结果赋值给一个对象,其结果将直接输出到一个“绘图设备”上,绘图设备是一个绘图的窗口或一个文件。14图 R绘制的图形R绘图功能R具备卓越的绘图功能,通过参数设置对图形进行精确控制。绘制的图形能满足出版印刷的要求,可以输出Jpg、tiff、eps、emf、pdf、png等各种格式。通过与GhostScript软件的结合,可以生成600dpi,1200dpi的等各种分辨率和尺寸的图形。绘图是通过绘图函数结合相应的选项完成的。绘图函数包括高级绘图函数和低级绘图函数。16高级绘图函数 plot()绘制散点图等多种图形,根据数据的类,调用相应的函数绘图hist()频率直方
8、图boxplot()箱线图stripchart()点图barplot()柱状图dotplot()点图piechart()饼图matplot()数学图形1.7.1 plot函数#散点图plot(x,y,)函数 x:图形中点的坐标,或者也可以表示一个单独的作图结构、函数或任何一个R语言对象 y:着是一个可选的参数,如果x表示x轴坐标的话,则y表示图形中点的y轴坐标 :其他图形参数18图 散点图与箱线图19低级绘图函数lines()添加线curve()添加曲线abline()添加给定斜率的线points()添加点segments()折线arrows()箭头axis()坐标轴box()外框title(
9、)标题text()文字mtext()图边文字20绘图参数参数用在函数内部,在没有设定值时使用默认值。font=字体,lty=线类型,lwd=线宽度,pch=点的类型,xlab=横坐标,ylab=纵坐标,xlim=横坐标范围,ylim=纵坐标范围,也可以对整个要绘制图形的各种参数进行设定参见 par()举例:绘图 x=seq(0,10,.5)y=2*sin(0.2*x)+log(x2+3*x+1)plot(x,y,xlab=“X is across”,ylab=“Y is Up”)points(x0.5,y,pch=3)points(x,8-0.7*y,pch=“m”)#use a “m”sym
10、bol points(rev(x),y,pch=5)lines(x,y,lwd=2)title(“Titles are Tops”)#见下图分步绘图 1.打开绘图窗口,不绘制任何对象plot(x,y,type=n,xlab=,ylab=,axes=F)2.添加坐标点 points(x,y)3.添加坐标轴axis(1);axis(at=seq(0.2,1.8,0.2),side=2)4.补齐散点图的边框 box()5.添加标题、副标题、横轴说明、纵轴说明title(main=Main title,sub=subtitle,xlab=x-label,ylab=y-label)24图 分步绘图123
11、45625举例:绘图生成0到2之间的50个随机数,分别命名为x,yx-runif(50,0,2)y-runif(50,0,2)绘图:将主标题命名为“散点图”,横轴命名为”横坐标”,纵轴命名为“纵坐标”plot(x,y,main=散点图散点图,xlab=横坐标横坐标,ylab=纵纵坐标坐标)text(0.6,0.6,text at(0.6,0.6)abline(h=.6,v=.6)26图 绘图举例1.7.2 多图显示 par()par(mfrow=c(2,2)x=rnorm(100,2,3)y=7:1 pie(y,col=rainbow(7),radius=1)hist(x,col=3)boxp
12、lot(x)barplot(c(1,2,3)#如下图如下图29在原有图形上添加元素举例:举例:x-rnorm(100)#生成随机数hist(x,freq=F)#绘制直方图curve(dnorm(x),add=T)#添加曲线h-hist(x,plot=F)#绘制直方图ylim-range(0,h$density,dnorm(0)#设定纵轴的取值范围hist(x,freq=F,ylim=ylim)#绘制直方图curve(dnorm(x),add=T,col=red)#添加曲线30图27 在原有直方图上添加曲线1.8 R帮助和包1.8.1 R帮助 help(abs)#绝对值函数 help(np)?np1.8.2 R包 install.packages(“np”)#安装非参包library(np)#使用非参包34输入历史 history输入的命令,在R中作为历史history保存,可输入函数history()#查看输入历史history(Inf)#查看打开R之后所有的输入可用向上或向下的箭头切换输入的行。