R语言学习详解_第1页
R语言学习详解_第2页
R语言学习详解_第3页
R语言学习详解_第4页
R语言学习详解_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、给出数据集mtcars的基本信息。?mtcars #显示数据集mtcars的详细信息Mtcars #显示数据集mtcars的全部32个观测值head(mtcars) #显示数据集mtcars中前6个观测值tail(mtcars) #显示数据集mtcars中后6个观测值names(mtcars) #显示数据集mtcars中的变量data.entry(mtcars) #浏览和修改mtcars数据集浏览和修改mtcars数据集mtcars<-edit(mtcars) #修改数据后,存入同名数据集MTcars<-edit(mtcars) #修改数据后,存入新数据集xnew<-edit

2、(data.frame() #编辑生成新的数据集xnew比较下列命令区别:x<-c(10.4, 5.6, 3.1, 6.4, 21.7) #建立数据向量1、data.entry(x) #打开数据编辑器修改数据2、edit(x) #打开R编辑器修改数据直接修改mtcars(两个命令相同)fix(mtcars)mtcars<-edit(mtcars)attach(mtcars) #激活mtcars, mpg #激活后,可直接用数据集的变量名属性变量table(cyl) #cyl是属性变量,计算其频数表barplot(table(cyl) #频数直方图(对属性变量的)数值变量stem(m

3、pg) #茎叶图hist(mpg) #直方图boxplot(mpg) #盒形图mean(mpg) #均值mean(mpg,trim=0.1) #截取上下各10%数据后遗留数的均值tapply(mpg,cyl,mean) #按分组变量cyl计算mpg的分组均值,如果将mean替换成其他统计量,就可以计算其它各种分组统计量IQR(mpg) #计算四分位差(函数大写)Q3-Q1quantile(mpg) #计算四分位点,标明各分位点的位置fivenum(mpg) #计算四分位点,不标明各分位点的位置quantile(mpg,probs) #计算按向量prob给定的各百分位的样本值probs=c(0.

4、1,0.5,99.5/100) #给出各百分位quantile(mpg,probs) #计算相应的样本值summary(mpg) #描述性统计sd(mpg) #标准差var(mpg) #方差skewness(mpg) #偏度kurtosis(mpg) #峰度散点图plot(cyl,mpg) #气缸数与油耗的散点图plot(hp,mpg) #马力与油耗的散点图不同气缸数下的散点图plot(hp,mpg,pch=cyl) #马力与油耗的散点图,pch表示用字符图案画点legend(250,30,pch=c(4,6,8), legend=c("4 cylinders","

5、;6 cylinders","8 cylinders") #做出各气缸符号的说明标记。这里250,30是说明框的左上角位置线形回归z<-lm(cylmpg) #将回归所有结果放入z中cor(cyl,mpg) #汽缸数与油耗的相关系数cor(cyl,mpg)2 # 一元回归R square即为相关系数的平方残差分析lm.res<-lm(cylmpg) #将回归所有结果放入lm.res中lm.resids<-resid(lm.res) #提取lm.res中的残差向量plot(lm.resids) #画残差图hist(lm.resids) #残差的直方

6、图qqnorm(lm.resids) #残差的qq图qqline(lm.resids) #残差的qq线结束分析并退出Rdetach(mtcars) #从内存中清除数据集mtcarsq() #退出R改变内存变量name<-"Carmen"n1<-10;n2<-100;m<-0.5 #定义内存变量ls() #显示所有定义的内存对象ls(pat="m") #显示内存中含m的指定对象ls(pat="m") #显示内存中打头字为m的指定对象ls.str() #显示内存中所有对象的详细信息rm(x,y) #从内存中删除对象

7、x与yrm(list=ls() #从内存中删除所有对象rm(list=ls(pat="m") #从内存中删除所有打头字为m的指定对象建立数值型向量向量具有简单规律seq()或”:”1:10 #建立1到10的数字向量1:10-1 #建立0到9的数字向量1:(10-1) #建立1到9的数字向量z<-seq(1,5,by=0.5) #从1到5,每次递增0.5z<-seq(from=1,to=5,by=0.5) #等价于z<-seq(1,5,by=0.5)z<-seq(1,10,length=11) #从1到10,等分为11个点z<-seq(1,10,

8、length.out=11) #等价于z<-seq(1,10,length=11)向量具有复杂规律z<-rep(2:5,2) #2到5循环2次z<-rep(2:5,times=2) #等价于z<-rep(2:5,2)z<-rep(2:5,rep(2,4) #等价于z<-rep(2:5,2)z<-rep(1:3,times=4,each=2) #数字1到3每个重复2次,共循环4次 向量没有规律z<-rep(c(3,5),c(2,4) #3按后面2循环2次,5按后面4循环4次通过键盘逐个输入z<-scan() #直接输入数据,回车键输入数据,空

9、数据表示停止输入sequence(3:5) #建立连着的数据,从1到3,1到4,再1到5sequence(c(10,5) #建立连着的数据,从1到10,再从1到5建立逻辑向量x<-c(10.4,5.6,3.1,6.4,21.7) #建立数值向量xtemp<-x>13 #建立一个x是否满足大于13的逻辑向量函数factor()的调用格式factor(x,levels=sort(unique(x),na.last=TRUE),labels=levels, exclude=NA, ordered=is.ordered(x)字符型向量转换为因子a<-c("green&

10、quot;,"blue","green","yellow")a<-factor(a)数值型向量转换为因子b<-c(1,2,3,1)b<-factor(b)字符型因子转换为数值型因子a<-c("green","blue","green","yellow")a<-factor(a)levels(a)<-c(1,2,3,4)参考类似b<-factor(c("A","B","

11、;C"),labels=c(1,2,3)数值型因子转换为字符型因子b<-c(1,2,3,1)b<-factor(b)levels(b)<-c("low","middle","high")参考ff<-factor(1:3,labels=c("A","B","C")提取向量中的元素x<-seq(1:100) #建立1:100的数据向量,存入xx1:10 #提取x的前10个元素xc(1,4) #提取x的第1和第4元素y<-x-(6:10

12、) #去除向量中与索引向量对应的元素提取逻辑向量x<-c(42,7,64,9) #产生数值向量xx>10 #产生x>10是否成立的逻辑向量xx>10 #取x>10的值xx<40&x>10 #取x<40且x>10的值xx>10<-10 #修改x中所有满足条件的数据为10y=runif(100,min=0,max=1) #产生0-1上的100个均匀分布的随机数sum(y<0.5) #求小于0.5的元素的个数sum(yy<0.5) #求小于0.5的元素的和y<-x!is.na(x) #求出x中的非缺失值放入向

13、量y中z<-x(!is.na(x)&(x>0) #求出x中的大于零的非缺失值放入向量z中建立数组array(data,dim,dimnames)A<-array(a,dim=c(3,4,2) #以a中数据建立维数为(3,4,2)的数组A具体例子A<-array(1:8,dim=c(2,2,2) #建立一个2x2x2的数组,里面放置1到8dim(A) #求出A的维数dimnames(A)<-list(c("a","b"),c("c","d"),c("e",&q

14、uot;f") #定义数组中向量名colnames(A) #A的列变量名rownames(A) #A的行变量名建立矩阵A<-array(1:6,c(2,3) #建立2行3列矩阵A,用1-6填入A<-array(1:4,c(2,3) #如果数据不够,自动循环A<-array(1: 8,c(2,3) #建立A时,如数据多余,则自动截尾标准矩阵命令X<-matrix(1,nr=2,nc=2) #建立2x2标准矩阵X<-diag(3) #建立3x3的单位阵X<-diag(c(10,20,30) #建立以10,20,30为对角元素的对角阵X<-diag

15、(2.5,nr=3,nc=5) #建立3X5的广义对角阵X<-matrix(1:4,2) #建立2x2的矩阵,用1-4填入X<-matrix(1:4,2,2) #等价于X<-matrix(1:4,2) rownames(X)<-c("a","b") #定义行名colnames(X)<-c("c","d") #定义列名dim(X) #求出行列数dimnames(X) #求出行列别名X<-matrix(1:4,2,4) #按列填入,不够再次循环X<-matrix(1:4,2,4

16、,byrow=TRUE) #按行填入,不够再次循环提取矩阵下标和元素X<-matrix(1:6,2,3) #用1到6建立一个2x3的矩阵X2,2 #提取X的(2,2)位的一个元素X2, #提取X的第二行X,2 #提取X的第二列(按最小行或列数显示)X,2,drop=FALSE #提取X的第二列,按原样显示X,c(2,3) #提取X的第二、三列X-1, #去掉第一行X,-2 #去掉第二列X,3<-NA #将第三列设为缺失值Xis.na(X)<-1 #缺失值替换为1矩阵的运算X<-matrix(1:6,2,3) #用1到6建立一个2x3的矩阵t(X) #转置矩阵diag(X

17、) #对角向量矩阵按行或列合并m1<-matrix(1,nr=2,nc=2) #建立一个2x2的全1矩阵m2<-matrix(2,nr=2,nc=2) #建立一个2x2的全2矩阵rbind(m1,m2) #矩阵按行合并cbind(m1,m2) #矩阵按列合并矩阵运算m2*m2 #矩阵按单元乘积,也即点乘rbind(m1,m2)%*%cbind(m1,m2) #矩阵乘积1cbind(m1,m2)%*%rbind(m1,m2) #矩阵乘积2X<-matrix(1:4,2) #建立一个2x2的1到4的行列式det(X) #X的行列式cov(X) #求出X各列之间的协方差矩阵x<

18、;-c(1,2) #设xy<-c(3,4) #设ycor(x,y) #相关系数矩阵求均值、中位数m<-matrix(rnorm(n=12),nrow=3) #建立一个3行的12个服从标准正态分布的随机数矩阵apply(m,MARGIN=1,FUN=mean) #按行取均值apply(m,MARGIN=2,FUN=mean) #按列取均值scale(m,center=T,scale=T) #中心化随机变量row.med<-apply(m,MARGIN=1,FUN=median) #计算矩阵m每行的中位数sweep(m,MARGIN=1,STATS=row.med,FUN= &q

19、uot;-") #每列各自减去列中位数建立数据集两种方法(data frame)x=c(42,7,64,9) #建立数据向量xy=1:4 #建立数据向量y1、直接法z.df=data.frame(INDEX=y,VALUE=x) #建立一个2列变量的数据集,放入z.dfweight<-c(70.6,56.4,80,59.5) #建立数据向量weightx<-c("adult ","team") #建立字符向量xwag<-data.frame(weight,age=x) #构建数据集,变量数据长度不同时,会自动循环填充数据x&l

20、t;-1:4; y<-2:4 #建立数据向量x,ydata.frame(x,y) #若变量长度不是一个周期,则出现错误2、从外部数据文件读取foo<-read.table(file="c:/data/foo.txt",header=T)适用于数据集的函数:attach(Puromycin) #激活数据集summary(Puromycin) #显示主要的描述性统计量类似的统计计算函数max(),min(),median(),var(),sd(),sum(),cov(),cor()同样适合于数据集,意义相同。pairs(Puromycin, panel=panel.

21、smooth) #成对数据散点图数据集下标与子集的提取:Puromycin1,1 #提取第一个变量第一个观测值Puromycinc(1,3,5),c(1,3) #提取数据集的一个子集(第1、3、5行观测值,第1、3列变量)Puromycinc(1,3,5),c("conc","state") #等价于上述命令Puromycinc(1,3,5),c(1,3)Puromycinc(1,3,5), #提取数据集的第1、3、5行观测值,所有列Puromycin$conc #等价于Puromycin,1,提取变量为conc的那列值subset(Puromycin,

22、state="treated"&rate>160) #提取满足条件state为treated,rate>16的子集数据集中添加新变量的三种方法:若想增加新变量iconc=1/conc:1、基本方法Puromycin$iconc<-1/ Puromycin$conc2、使用with()函数Puromycin$iconc<-with(Puromycin,1/conc)3、使用transform()函数,可一次定义多个变量Puromycin <-transform(Puromycin,iconc=1/conc,sqrtconc=sqrt(co

23、nc)head(Puromycin) #显示头6行数据列表的建立:复杂数据分析需要生成包含不同类型的对象。R的列表可以做到L1<-list(1:6,matrix(1:4,nrow=2) #建立向量和矩阵的混合列表L2<-list(x=1:6,y=matrix(1:4,nrow=2) #建立向量和矩阵的混合列表,并各自赋名L2$x #显示L2中的x变量数据的存储d<-data.frame(obs=c(1,2,3),treat=c("A", "B", "A"),weight=c(2.3,NA,9) #建立数据集1、 保存

24、为简单的文本文件write.table(d,file= "c:/data/foo.txt",s=F,quote=F) #这里quote表示变量名不放入双引号中2、 保存为csv格式的文本文件write.csv(d,file= "c:/data/foo.csv",s=F,quote=F)3、 保存为R格式文件save(d,file= "c:/data/foo.Rdata ")保存工作空间映像save.image() #等价于下式save(list=ls(all=TRUE),file="c:/da

25、ta/.Rdata")数据的读取1、 使用函数read.table()setwd("c:/data") #设置程序自动访问目录HousePrice<-read.table(file="houses.dat",header=TRUE)2、 使用函数scan()函数scan()比read.table()更灵活,可以指定变量的类型。另外,scan()可以创建不同的对象:向量、矩阵、数据集、列表等。mydata<-scan("data.dat",what=list(Sex="",Weight=0,He

26、ight=0) )3、 使用函数read.fwf()读取指定宽度格式的数据mydata<-read.fwf("data.txt",width=c(1,4,3),s=c("X","Y","Z")4、 读取Excel数据1) 从剪贴板读入数据。先将Excel的文件中的数据部分选择复制到剪贴板(ctrl+c),然后用R读入mydata<-read.delim("clipboard")2) 使用程序包RODBC安装程序包RODBC在R中,按步骤“程序包-安装程序包-选取CRA

27、N镜像服务器(可选北京的)-RODBC”library(RODBC) #加载程序包RODBCz<-odbcConnectExcel("c:/data/body.xls") #打开Excel文件foo<-sqlFetch(z,"Sheet1") #选择Sheet1工作单数据读入fooclose(z) #关闭Excel文件R中数据集的读取1) R的标准数据datasetsR自身包含了一个有100多个数据集的数据集包datasets,随着R一次性自动载入。列出全部数据集data()用数据集名显示数据Puromycin2) 专用程序包中的数据集读取其

28、他已安装的专用程序包中的数据,可以使用package参数data(package="pkname") #列出程序包pkname中的数据集,这里pkname只是一个已安装的程序包的代表data(dataname,package="pkname") #载入程序包pkname中的数据集dataname探索性数据分析二项分布n<-20p<-0.2k<-seq(0,n)概率函数图plot(k,dbinom(k,n,p),type='h',main='Binomial distribution,n=20,p=0.2'

29、,xlab='k')分布函数图plot(k,pbinom(k,n,p),type='h',main='Binomial distribution,n=20,p=0.2',xlab='k')标准正态分布密度函数图curve(dnorm(x,0,1),xlim=c(-5,5),ylim=c(0,0.3),col='red',lwd=2,lty=3)分布函数图curve(pnorm(x,0,1),xlim=c(-10,10),ylim=c(0,1),col='red',lwd=2,lty=1)直方图从二项

30、分布B(100,0.9)中抽取容量为N=100000的样本,画直方图N<-100000 #建立随机数的容量n<-100 #建立二项分布的试验数p<-0.9 #建立每次成功的概率x<-rbinom(N,n,p) #求出服从二项分布的随机数N个hist(x,xlim=c(min(x),max(x),probability=T,nclass=max(x)-min(x)+1,col='lightblue',main='Binomial distribution,n=100,p=.9') #直方图lines(density(x,bw=1),col=

31、'red',lwd=2) #核密度估计图单总体描述性统计1、直方图library(DAAG) #载入程序包DAAGdata(possum) #载入数据集possumfpossum<-possumpossum$sex="f", #选出性别为雌的负鼠数据放入fpossum中par(mfrow=c(1,2) #作图区域一分为二,一行两列attach(fpossum) #加载数据集hist(totlngth,breaks=72.5+(0:5)*5,ylim=c(0,22),xlab="total length",main="A:B

32、reaks at 72.5,77.5,.") #画直方图hist(totlngth,breaks=75+(0:5)*5,ylim=c(0,22),xlab="total length",main="B:Breaks at 75,80,.") #不同点位画直方图2、茎叶图stem(totlngth)3、盒形图boxplot(totlngth)4、正态性检验A)使用QQ图qqnorm(totlngth,main="Normality Check via QQ Plot") #画QQ图qqline(totlngth,col=

33、9;red') #画正态线B)与正态密度函数比较#attach(fpossum) #加载数据集dens<-density(totlngth) #将totlngth的基本统计量存入dens变量xlim<-range(dens$x);ylim<-range(dens$y) #选取x和y 的最大值par(mfrow=c(1,2) #将作图空间分为两个,一行两列hist(totlngth,breaks=72.5+(0:5)*5,xlim=xlim,ylim=ylim,probability=T,xlab="total length",main="

34、A:Breaks at 72.5,77.5,." ) #画直方图lines(dens,col=par('fg'),lty=2) #画核密度函数m<-mean(totlngth) #计算均值s<-sd(totlngth) #计算标准差curve(dnorm(x,m,s),col='red',add=T) #套用正态分布图hist(totlngth,breaks=75+(0:5)*5,xlim=xlim,ylim=ylim,probability=T,xlab="total length",main="B:Brea

35、ks at 75,80,." ) #画直方图lines(dens,col=par('fg'),lty=2) #画核密度函数curve(dnorm(x,m,s),col='red',add=T) #套用正态分布图C)使用经验分布函数x<-sort(totlngth) #对totlgnth进行排序,存入xn<-length(x) #计算x中元素的个数y<-(1:n)/n #y等分m<-mean(totlngth) #计算均值s<-sd(totlngth) #计算标准差plot(x,y,type='s',main

36、="Empirical CDF of") #画出经验分布函数curve(pnorm(x,m,s),col='red',lwd=2,add=T) #画出正态分布函数5、总体描述summary(totlngth) #得到数据的均值和四分位点及最大、最小、中位数其他的函数见开头多组数据描述性统计1、散点图library(DAAG) #将程序包DAAG载入data(cars) #将数据集cars载入内存画散点图plot(cars$distcars$speed,xlab="Speed(mph)",ylab="Stopping distan

37、ce(ft)")非参数lowess拟合(二元以上用loess拟合)-局部加权回归散点平滑法(locally weighted scatterplot smoothing)lines(lowess(cars$speed,cars$dist),lwd=2) #非参数lowess拟合rug(side=2,jitter(cars$dist,20) #在纵轴上标明数据的具体位置rug(side=1,jitter(cars$speed,5) #在横轴上标明数据的具体位置这里jitter函数是对原有数据根据标准差做个白噪声影响。2、等高线图library(chplot) #载入程序包chplotd

38、ata(hdr) #载入数据集hdrx<-hdr$age #年龄存入xy<-hdr$income #收入存入yplot(x,y) #年龄和收入的散点图library(MASS) #加载有二维密度估计函数kde2d()的程序包z<-kde2d(x,y) #用二维密度估计函数估计二维数据的密度函数画等高线contour(z,col="red",drawlabels=F,main="Density estimation:contour plot")3、三维透视图persp(z,main=" Density estimation:pe

39、rspective plot")数据变换data(Animals) #载入数据集Animalshead(Animals) #检查数据集内容par(mfrow=c(1,2) #将图分为两块plot(brainbody,data=Animals) #画原始数据的散点图plot(log(brain)log(body),data=Animals) #画变换后数据的散点图图形描述n<-10d<-data.frame(y1=abs(rnorm(n),y2=abs(rnorm(n),y3=abs(rnorm(n),y4=abs(rnorm(n),y5=abs(rnorm(n) #建立一

40、个由5个服从标准正态分布随机数的绝对值组成的数据集plot(d) #多元散点图,等价于pairs(d)boxplot(d) #多变量比较的盒形图描述性统计summary(state.x77) #给出数据集state.x77的所有变量的描述性统计分组概括函数aggregateaggregate(state.x77,list(Region=state.region),mean) #给出按数据集state.region划分区域的state.x77各变量的均值aggregate(state.x77,list(Region=state.region,Cold=state.x77,"Frost&

41、quot;>130),mean) #给出按数据集state.region划分区域且一年中有雾的天数超过130的来统计state.x77各变量的均值apply(state.x77,2,sd) #给出所有变量的标准差,不推荐用sd(state.x77)var(state.x77) #给出数据集state.x77的所有变量的协方差矩阵aggregate(state.x77,list(Region=state.region),sd) #给出按数据集state.region划分区域的state.x77各变量的标准差相关系数用cor(x,y=NULL,use="all.obs",

42、method=c("pearson", "Kendall", "spearman")x<-c(44.4,45.9,46.0,46.5,46.7,47,48.7,49.2,60.1) #输入xy<-c(2.6,10.1,11.5,30.0,32.6,50.0,55.2,85.8,86.8) #输入ycor(x,y) #计算pearson相关系数cor(x,y,method="spearman") #计算spearman秩相关系数cor(x,y,method="kendall") #计算

43、kendall系数分类数据的描述性统计分析直接输入列联表Eye.Hair<-matrix(c(68,20,15,5,119,84,54,29,26,17,14,14,7,94,10,16),nrow=4,byrow=T)colnames(Eye.Hair)<-c("Brown", "Blue", "Hazel","Green") #列命名rownames(Eye.Hair)<-c("Black", "Brown", "Red","

44、;Blond") #行命名由原始数据构造列联表table(state.division, state.region) #由原始数据构造不同division与不同region的列联表获得边际列表margin.table(Eye.Hair,1) #获得列边际列表margin.table(Eye.Hair,2) #获得行边际列表round(prop.table(Eye.Hair,1),digits=2) #获得频率列联表round(prop.table(Eye.Hair,1),digits=2)*100 #获得频率百分比列联表data(HairEyeColor) #载入数据集HairEye

45、Colora<-as.table(apply(HairEyeColor,c(1,2),sum) # barplot(a,legend.text=attr(a,"dimnames")$Hair)barplot(a,beside=TRUE,legend.text=attr(a,"dimnames")$Hair)点估计1、 矩估计按计算的原理来求2、 极大似然估计A) 单参数情形下:用optimize()函数求极值f<-function(P)(P517)*(1-P)483 #定义函数optimize(f,c(0,1),maximum=TRUE) #

46、求极大值B) 多参数情形下:用optim,nlm函数求极值nlm函数采用牛顿-拉夫逊算法求函数的最小值点。函数optim提供method选项给出的5种方法中的一种进行优化。都是多维求极值函数。区间估计单正态总体1、 方差已知,均值未知,求均值的置信区间:没有现成的函数,现编:<-function(x,n,sigma,alpha)options(digits=4) mean<-mean(x) c(mean-sigma*qnorm(1-alpha/2,mean=0,sd=1, lower.tail=TRUE)/sqrt(n), mean+sigma*qnorm(1-al

47、pha/2,mean=0,sd=1, lower.tail=TRUE)/sqrt(n) #方差已知时求置信区间函数x<-c(175,176,173,175,174,173,173,176,173,179) #输入(x,10,1.5,0.05) #求标准差为1.5的x的置信度0.95的置信区间。2、 方差未知,均值未知,求均值的置信区间:x<-c(175,176,173,175,174,173,173,176,173,179) #输入xt.test(x,conf.level=0.95) #求t-检验以及置信区间t.test(x, conf.level=0.95)$c

48、 #只求置信区间3、 方差未知,均值未知,求方差的置信区间:没有现成函数,需要现编双正态总体1、 两方差已知,两均值未知,求均值差u1-u2的置信区间:没有现成函数,需要现编2、 两方差未知但相等,两均值未知,求均值差u1-u2的置信区间:x<-c(628,583,510,554,612,523,530,615) #输入xy<-c(535,433,398,470,567,480,498,560,503,426) #输入yt.test(x,y,var.equal=TRUE) #求t-检验以及均值差的置信区间3、 两方差未知不等,两均值未知,求均值差u1-u2的置信区间:

49、t.test(x,y,var.equal=FALSE) #求t-检验以及均值差的置信区间4、 两方差未知,两均值未知,求方差比的置信区间:x<-c(20.5,19.8,19.7,20.4,20.1,20.0,19.0,19.9) #输入xy<-c(20.7,19.8,19.5,20.8,20.4,19.6,20.2) #输入yvar.test(x,y) #求F-检验以及方差比的置信区间单总体比例的区间估计prop.test(38,200,correct=TRUE) #求从3042人的人名录中随机抽取的200个中有38人的地址变动情况下名录需要修改地址比例的置信区间两总体比例差p1-

50、p2的区间估计like<-c(478,246) #A、B两地喜欢某品牌的人数people<-c(1000,750) #A、B两地被调查人数prop.test(like,people) #求置信区间假设检验单正态总体1、 方差已知时,检验均值是否为u0:没有现成的函数,需编:2、 方差未知时,检验均值是否为mu:salt<-c(490,506,508,502,498,511,510,515,512) #输入saltt.test(salt,mu=500) #求t-检验3、 均值未知,检验方差是否为sigma0:没有现成函数,需要现编双正态总体1、 两方差已知,检验均值相同u1=u

51、2:没有现成函数,需要现编2、 两方差未知但相等,检验均值相同u1=u2:x<-c(20.5,19.8,19.7,20.4,20.1,20.0,19.0,19.9) #输入xy<-c(20.7,19.8,19.5,20.8,20.4,19.6,20.2) #输入yt.test(x,y,var.equal=TRUE) #求t-检验3、 两方差未知不等,检验均值相同u1=u2:t.test(x,y,var.equal=FALSE) #求t-检验4、 两均值未知,求方差比的F检验:x<-c(20.5,19.8,19.7,20.4,20.1,20.0,19.0,19.9) #输入xy

52、<-c(20.7,19.8,19.5,20.8,20.4,19.6,20.2) #输入yvar.test(x,y) #求F-检验5、 成对数据的t-检验:x<-c(20.5,18.8,19.8,20.9,21.5,19.5,21.0,21.2) #输入xy<-c(17.7,20.3,20.0,18.8,19.0,20.1,20.0,19.1) #输入yt.test(x,y,paired=TRUE) #求成对数的t-检验单总体比例的检验A) 精确检验binom.test(c(7,5),p=0.4) #抽12件发现7件次品,问次品率为0.4是否成立B) 近似检验prop.test

53、(7,12, p=0.4,correct=TRUE) #抽12件发现7件次品,问次品率为0.4是否成立两总体比例的检验sucess<-c(23,25) #被调查的男、女生家中有计算机的比例total<-c(102,135) #被调查的男、女生人数prop.test(sucess, total) #求两者比例是否一致方差分析A) 单因子方差分析A<-factor(rep(1:5,each=4) #对应因子的不同水平输入Amiscellany<-data.frame(x,A) #建立数据集miscellanyaov.mis<-aov(xA,data=miscellan

54、y) #方差分析summary(aov.mis) #导出方差分析表plot(miscellany$xmiscellany$A) #作出不同水平的比较图pairwise.t.test(x,A,p.adjust.method="none") #多重t-检验,第一类错误不调整,调整的话,可以用默认的holm,或bonferroni等 方差齐性检验-levene检验library(car)leveneTest(x,A) #检验方差是否齐性,即各变量方差是否一致B) 双因子方差分析I) 无交互作用的方差分析juice<-data.frame(X=c(0.05,0.46,0.12,0.16,0.84,1.30,0.08,0.38,0.40,0.10,0.92,1.57,0.11,0.43,0.05,0.10,0.94,1.10,0.11,0.44,0.08,0.03,0.93,1.15),A=gl(4,6), B=gl(6,1,24) #其中gl(4,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论