R知识点复习第二章:R软件的使用一、向量1、是命令提示符,“-”或“=”表示赋值运算符;“+”表示加,“-”表示减法,“*”表示乘法,“/”表示除法,“%/%”表示整除,“%%”表示取余数,“**”或“^”表示乘方;2、函数:sqrt()#开方log()#取对数exp()#取指数sin();cos();tan()#三角函数max();min()#求最大最小值mean()#求均值sum()#计算自变量向量的元素和var(),sd()#计算样本方差,计算标准差c()#把数据组合为一个向量rang()#返回包含最小值和最大值的向量sort()#返回按x的元素从小到大排序的结果向量order()#返回使得x的元素从小到大排序的元素下表的向量numeric(n)#产生有规律的数列seq()#等差数列函数rep()#重复第一个自变量若干次paste()#把自变量连城字符串,中间用空格隔开3、例如(1)绘制余弦函数图x1=1:100;x1x2-x1*2*pi/100;x2y=cos(x2);yplot(x1,y,type='l')#type=‘l’是字母l(2)函数c()用来把数据组合为一个向量vect-c(10,6,4,7,8)boxplot(vect)#绘制数据的盒形图(3)函数rep表示重复第一个自变量若干次,如:rep(w,2)[1]4-2704-270rep(c(10,28),c(2,3))二、矩阵与多维数组1、“+”“-”“*”“/”“^”矩阵的四则运算“A%*%B”表示矩阵A乘以矩阵B“x%*%A%*%x”表示一个二次型2、matrix()#用来生成矩阵c(A)#得到将矩阵A的元素按列排列的向量cbind()#把自变量横向拼成一个大矩阵rbing()#把自变量纵向拼成一个大矩阵t()#求矩阵的转置crossprod()#求内积solve()#求矩阵的逆eigen()#计算特征向量和特征值;diag(vector)#返回以自变量为主对角元素的对角矩阵;diag(matrix))#返回由矩阵的主对角元素组成的矩阵;diag(k)#返回k阶单位矩阵。apply(x,margin,fun,...)#表示对每行或每列进行某种计算,x为矩阵,margin=1表示对每行计算,margin=2表示对每列进行计算,fun表示用来计算的函数。array()#直接定义数组3、访问矩阵元素和子矩阵A[i,j]#表示访问矩阵中第i行第j列的数;A[i,]#表示访问矩阵A的第i行;A[,j]#表示访问矩阵A的第j列。4、例如(1)函数matrix()用来生成矩阵,格式为:A=matrix(1:12,ncol=4,nrow=3,byrow=TRUE)#ncol表示列数,nrow表示行数,byrow默认为列次序,(FALSE表示列次序,TURE表示行次序。)A(2)array()直接定义数组array(x,dim=length(x),dimnames=NULL)(3)cbind表示把向量横向拼成一个大矩阵。x2=cbind(c(1,2),c(3,4))x2[,1][,2][1,]13[2,]24(4)求一个矩阵的逆A=matrix(c(1,2,7,3),ncol=2,byrow=T);AAi=solve(A);Ai三、因子1、函数factor()factor()#把一个向量编码成为一个因子,其一般形式为:factor(x,levels=sort(unique(x),na.last=TRUE),labels,exclude=NA,ordered=FALSE);is.factor()#检验对象是否为因子;as.factor()#把一个向量转换成一个因子;table()#计数。2、函数tapply()tapply的一般形式为:tapply(x,INDEX,FUN=NULL,...,simplify=TRUE)3、函数gl()#可以方便的产生因子,一般用法为:gl(n,k,length=n*k,labls=1:n,odered=FALSE),四、列表与数据框1、函数cat()cat(1:12,’\n’,file=’c:/simR/data.txt’)x=scan(‘c:/simR/data.txt’)2、R中一般不能直接读取xls文件,可先转化为csv文件,再用read.csv()读取或者利用扩展包xlsReadWrite中的函数read.xls()读取。library(xlsReadWrite)d=read.xls(“foo.xls”)3、R中向量默认是列向量,byrow=TRUE是指按行排列列表中元素长度不必一样,R列表有维数;数据框元素必须有相同长度,有维数diag(3)#产生三阶单位矩阵solve(A)#求矩阵的逆t(A)#求矩阵的转置4、legend函数用来在当前图形的指定坐标位置绘制图例。图例的说明文字由向量legend提供.angel参数指定几种阴影斜度density参数指定几种阴影密度fill参数指定几种填充颜色col参数指定几种颜色lty参数指定几种线型pch参数指定几种散点符号,为字符型向量vect参数也指定几种散点符号,为字符型向量第三章:数据描述性分析一、描述性统计量1、Sort()#顺序统计量quantile()#百分位数length()#长度median()#中位数mean()#均值var()#方差sd()#样本标准差max()-min()#样本极差s/sqrt()#标准误G1-((n*(n+1))/((n-1)*(n-2)*(n-3))*sum((w-m)^4)/s^4-(3*(n-1)^2)/((n-2)*(n-3)))#峰度系数G2-n/((n-1)*(n-2))*sum((w-m)^3)/s^3#偏度系数二、数据的分布1、p:表示分布函数d:表示概率密度函数q:表示下分位数:r:用来产生随机数2、连续的随机变量以正态分布为例,其一般形式如下:dnorm(x,mean=0,sd=1,log=FALSE)pnorm(q,mean=0,sd=1,lower.tail=TRUE,log.p=FALSE)qnorm(p,mean=0,sd=1,lower.tail=TRUE,log.p=FALSE)rnorm(n,mean=0,sd=1)3、离散的随机变量以Poisson分布为例,其一般形式如下:dpois(x,lambda,log=FALSE)pnorm(q,lambda,lower.tail=TRUE,log.p=FALSE)qnorm(p,lambda,lower.tail=TRUE,log.p=FALSE)rnorm(n,lambda)4、作图直方图:hist(x,breaks=””,freq=,col=)核密度估计图:lines(density(x),col=””)经验分布:plot(ecdf(x),verticals=TRUE,do.p=FALSE)QQ图:qqnorm(x);qqline(x)茎叶图:stem(x,scale=1,width=80,atom=1e-08)箱线图:boxplot(x,...)三、正态性检验与分布拟合检验1、正态性W检验:检验样本是否来自正态分布的总体函数shapiro.test()提供w统计量和相应的p值函数shapiro.test()的使用格式为:shapiro.test(x)#x是由数据构成的向量2、k-s检验:检验经验分布与假设的总体分布函数之间的差异函数ks.test()给出了k-s检验方法函数ks.test()的使用方法为:ks.test(x,y,...)第四章:点估计一、矩估计:课本例:4.5二、极大似然估计:1、先手算,得到似然方程,利用求根函数uniroot求解。2、直接求法eg:设总体X服从Cauchy分布,其概率密度函数为21(;)[1()]fxx,x,为未知参数。X1,X2,...,Xn是来自总体X的样本,求的极大似然估计。x=rcauchy(1000,1)f=function(p)sum((x-p)/(1+(x-p)^2))out-uniroot(f,c(0,5))out$root[1]0.9914451$f.root[1]-0.006522383$iter[1]5$estim.prec[1]6.103516e-05在计算结果中,$root是方程根的近似解,即估计值为0.9914451。$f.root是函数f在近似值处的函数值。$iter是迭代次数,即用了5次迭代。$estim.prec是近似解与精确解的误差估计,即近似解与精确解误差的绝对值不超过56.10410。三、区间估计1、配对数据情形下均值差12的区间估计为了调查应用克矽平治疗矽肺的效果,今抽查应用克矽平治疗矽肺的患者10名,记录下治疗前后血红蛋白的含量数据,如下表,试求治疗前后变化的区间估计(0.05)。病人编号12345678910治疗前(X)11.315.015.013.512.810.011.012.013.012.3治疗后(Y)14.013.814.013.513.512.014.711.413.812.0X-c(11.3,15.0,15.0,13.5,12.8,10.0,11.0,12.0,13.0,12.3)Y-c(14.0,13.8,14.0,13.5,13.5,12.0,14.7,11.4,13.8,12.0)t.test(X-Y)OneSamplet-testdata:X-Yt=-1.3066,df=9,p-value=0.2237alternativehypothesis:truemeanisnotequalto095percentconfidenceinterval:-1.85728810.4972881sampleestimates:meanofx-0.68所以,治疗前后变化的区间估计为[-1.86,0.497].由于0包含在区间估计的区间内,因此可以认为治疗前后病人血红蛋白的含量无显著差异。2、单侧置信区间估计从一批灯泡中随机地取5只作寿命试验,测得寿命(以h计)为10501100112012501280,设灯泡寿命服从正态分布,求灯泡寿命平均值的置信度为0.95的单侧置信下限。x-c(1050,1100,1120,1250,1280)t.test(x,alternative=greater)OneSamplet-testdata:xt=26.0035,df=4,p-value=6.497e-06alternativehypothesis:truemeanisgreaterthan095percentconfidenceinterval:1064.9Infsampleestimates:meanofx1160所以单侧置信下限为1064.9.第五章:假设检验一、正态总体均值的假设检验1、单个总体的情况解:原假设:u=u0=225,备择假设:uu0=225程序:x-c(159,280,101,212,224,379,179,264,222,362,168,250,149,260,485,170)source(C:/Users/Administrator/Desktop/R原程序/Ch05/mean.test1.R)mean.test1(x,mu=225,side=1)运行结果:meandfTP_value1241.5150.66851770.2569801程序:mean.test1(x,mu=225,side=1)运行结果:meandfTP_value1241.5150.66851770.2569801由上述结果可知,p=0.2569大于0.05,所以接受原假设2、两个总体的情况解:原假设:两种方法治疗后的患者血红蛋白无差异;备择假设:两种方法治疗后的患者血红蛋白有差异。x-c(113,120,138,120,100,118,138,123)y-c(138,116,125,136,1