收藏 分销(赏)

R软件入门.ppt

上传人:可**** 文档编号:750772 上传时间:2024-03-04 格式:PPT 页数:68 大小:828KB 下载积分:11 金币
下载 相关 举报
R软件入门.ppt_第1页
第1页 / 共68页
R软件入门.ppt_第2页
第2页 / 共68页


点击查看更多>>
资源描述
R R 软件入门软件入门西南财经大学金融学院西南财经大学金融学院R R的无私奉献者的无私奉献者Bill Venables Robert Gentleman Ross Ihaka CRANCRAN提供了许多便于统计分析的宏包:提供了许多便于统计分析的宏包:http:/cran.r-http:/cran.r-project.org/src/contrib/PACKAGES.htmlproject.org/src/contrib/PACKAGES.htmlvstable -稳妥(分布)广义回归分析vtseries 时间序列分析 vVaR 风险值分析vmatrix 矩阵运算还有还有很多很多统计分析软件包初步认识初步认识R R x1 x2 y plot(x2,y,type=“l”)plot(x2,y,main=“画图练习”,type=“s”,sub=“好好练”,xlab=“x轴”,ylab=“y轴”)数学函数数学函数abs,sqrt:绝对值,平方根 log,log10,log2,exp:对数与指数函数 sin,cos,tan,asin,acos,atan,atan2:三角函数 sinh,cosh,tanh,asinh,acosh,atanh:双曲函数 一、简单一、简单统计量统计量sum,mean,var,sd,min,max,range,sum,mean,var,sd,min,max,range,median,IQRmedian,IQR(四分位间距)等统计量,(四分位间距)等统计量,sortsort,orderorder,rankrank与排序有关,与排序有关,其它还有其它还有aveave,fivenumfivenum,madmad,quantilequantile,stemstem等。等。计算函数计算函数q+,-,*,/,%,%/%+,-,*,/,%,%/%:四则运算:四则运算 qceilingceiling,floorfloor,roundround,signifsignif,trunctrunc,zapsmallzapsmall:舍入:舍入 qmaxmax,minmin,pmaxpmax,pminpmin:最大最小值:最大最小值 qrangerange:最大值和最小值:最大值和最小值 qsumsum,prodprod:向量元素和,积:向量元素和,积 qcumsumcumsum,cumprodcumprod,cummaxcummax,cummincummin:累加、累乘:累加、累乘q sortsort:排序:排序q approxapprox和和approx funapprox fun:插值:插值 qdiffdiff:差分:差分 signsign:符号函数:符号函数 二、赋值与运算二、赋值与运算q产生数据产生数据q简单的规则序列简单的规则序列q 1:10#1:10#号是号是R R的注释符号的注释符号q1 1 2 3 4 5 6 7 8 9 10 1 1 2 3 4 5 6 7 8 9 10 q 10:1 10:1 q1 10 9 8 7 6 5 4 3 2 1 1 10 9 8 7 6 5 4 3 2 1 q seq(1,10,0.5)#seq(1,10,0.5)#等差数列等差数列q1 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.51 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5q11 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.011 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0q rep(2,5)#rep(2,5)#重复相同的对象重复相同的对象q1 2 2 2 2 2 1 2 2 2 2 2 q rep(1:3,times=3)#rep(1:3,times=3)#观察与下例的不同观察与下例的不同q1 1 2 3 1 2 3 1 2 3 1 1 2 3 1 2 3 1 2 3 q rep(1:3,each=3)rep(1:3,each=3)q1 1 1 1 2 2 2 3 3 3 1 1 1 1 2 2 2 3 3 3 q rep(1:3,1:3)rep(1:3,1:3)q产生结构化数据产生结构化数据q向量用函数向量用函数c()c()产生:产生:q x=c(9,1,1)x=c(9,1,1)q x x q1 9 1 1 1 9 1 1 q(x=c(Xie,Yi,Hui)#(x=c(Xie,Yi,Hui)#为什么用括号为什么用括号q矩阵用矩阵用matrix()matrix()产生:产生:q matrix(1:10,2)#matrix(1:10,2)#注意:默认按列排列注意:默认按列排列q,1,2,3,4,5,1,2,3,4,5 q1,1 3 5 7 9 1,1 3 5 7 9 q2,2 4 6 8 10 2,2 4 6 8 10 q matrix(1:10,nrow=2,ncol=5,byrow=T)matrix(1:10,nrow=2,ncol=5,byrow=T)q数据框用数据框用data.frame()data.frame()产生产生q x=data.frame(1:5,4:8)#x=data.frame(1:5,4:8)#把若干个向量合成数据框把若干个向量合成数据框q x x qX1.5 X4.8X1.5 X4.8q1 1 41 1 4q2 2 52 2 5q3 3 63 3 6q4 4 74 4 7q5 5 85 5 8qx=cbind(x,c(A,B,C,D,E)x=cbind(x,c(A,B,C,D,E)qdimnames(x)dimnames(x)qcolnames(x)colnames(x)q运算运算q算术运算:算术运算:+,-,*,/,%+,-,*,/,%(余数)(余数),%/%,%/%(整数商)(整数商),(乘方)(乘方)q 5%2 5%2q逻辑运算:逻辑运算:&,|,!&,|,!(且、或、非);(且、或、非);,=,=,5#xx 5#提出大于提出大于5 5的元素的元素q一些数学和统计函数一些数学和统计函数q 最大值最大值max(),max(),最小值最小值min(),min(),均值均值mean(),mean(),q标准差标准差sd(),sd(),方差方差var(),var(),相关系数相关系数cor(),cor(),q求和求和sum(),sum(),积积prod(),prod(),中位数中位数median(),median(),q分位数分位数quantile(),quantile(),对数对数log(),log(),指数指数exp(),exp(),q排列排列factorial(),factorial(),组合组合choose(),choose(),四舍五入四舍五入round(),round(),加加cumsum(),cumsum(),秩秩rank(),rank(),排序排序sort(),sort(),倒序倒序rev(),rev(),q矩阵转置矩阵转置t(),t(),逆矩阵逆矩阵solve(),solve(),特征根特征根eigen(),eigen(),q关于统计分布的四大金刚:关于统计分布的四大金刚:pnorm(),dnorm(),qnorm(),pnorm(),dnorm(),qnorm(),rnorm(),(p,d,q,r+rnorm(),(p,d,q,r+分布名称分别构成:分布函数分布名称分别构成:分布函数值、密度函数值、分位数、随机数,值、密度函数值、分位数、随机数,q如如pf()pf()表示表示F F分布函数值,分布函数值,runif()runif()表示产生均匀分布的随表示产生均匀分布的随机数机数);抽样;抽样sample(),sample(),q 线性模型线性模型lm(),lm(),广义线性模型广义线性模型glm(),tglm(),t检验检验t.test()t.test()三、三、R R统计分析统计分析q(1 1)线性回归)线性回归qx=runif(100);y=0.2*x+0.1*rnorm(100)x=runif(100);y=0.2*x+0.1*rnorm(100)qfit=lm(y x)fit=lm(y x)qSummary(fit)Summary(fit)qplot(x,y);abline(fit)plot(x,y);abline(fit)逻辑向量逻辑向量 q向量可以取逻辑值,如:向量可以取逻辑值,如:l=c(T,T,F)l l=c(T,T,F)l输出输出1 TRUE TRUE FALSE 1 TRUE TRUE FALSE 当然,逻辑向量往往是一个比较的结果,如:当然,逻辑向量往往是一个比较的结果,如:x x 输出输出 1 1.00 4.00 6.25 1 1.00 4.00 6.25 l=x 3 l=x 3 l l 输出输出 1 FALSE TRUE TRUE 1 FALSE TRUE TRUE 一个向量与常量比较大小,结果还是一个向量,元素为每一对比较的结果逻辑值。两个向量也可以比较,如:log(10*x)1 2.302585 3.688879 4.135167 log(10*x)x 输出1 TRUE FALSE FALSE 比较运算符包括,=,=,!=。字符型向量字符型向量 q向量元素可以取字符串值。例如:向量元素可以取字符串值。例如:c1=c(x,sin(x)c1=c(x,sin(x)c1 c1 输出输出 1 x sin(x)1 x sin(x)ns=c(Weight,Height,ns=c(Weight,Height,年龄年龄)ns ns 输出输出1 Weight Height 1 Weight Height 年龄年龄 qpastepaste函数用来把它的自变量连成一个字符串,函数用来把它的自变量连成一个字符串,中间用中间用空格分开空格分开,例如:,例如:paste(My,Job)paste(My,Job)1 My Job 1 My Job q paste paste(Hi,(Hi,早早)输出输出1 Hi 1 Hi 早早 q连接的自变量可以是向量,这时各对应元素连接起来,长连接的自变量可以是向量,这时各对应元素连接起来,长度不相同时较短的向量被重复使用。自变量可以是数值向度不相同时较短的向量被重复使用。自变量可以是数值向量,连接时自动转换成适当的字符串表示,例如:量,连接时自动转换成适当的字符串表示,例如:paste(c(X,Y),=,1:4)paste(c(X,Y),=,1:4)1 X=1 Y=2 X=3 Y=4 1 X=1 Y=2 X=3 Y=4 q分隔用的字符可以用分隔用的字符可以用sepsep参数指定,例如:参数指定,例如:paste(result.,1:5,sep=)paste(result.,1:5,sep=)1 result.1 result.2 result.3 result.4 1 result.1 result.2 result.3 result.4 result.5 result.5 q如果给如果给paste()paste()函数指定了函数指定了collapsecollapse参数,参数,则把字符串向量的各个元素连接成一个字符串,则把字符串向量的各个元素连接成一个字符串,中间用中间用collapsecollapse指定的值分隔。比如指定的值分隔。比如 paste(c(a,b),collapse=.)paste(c(a,b),collapse=.)得到得到a.ba.b。复数向量复数向量 qR R支持支持复数运算。复数运算。复数常量只要用复数常量只要用3.5+2.1i3.5+2.1i这样的格式即可。这样的格式即可。复向量的每一个元素都是复数。复向量的每一个元素都是复数。q可以用可以用complex()complex()函数生成复向量(见帮助)。函数生成复向量(见帮助)。Re()Re()计算实部,计算实部,ImIm()()计算虚部,计算虚部,Mod()Mod()计算复数模,计算复数模,Arg()Arg()计算复数幅角。计算复数幅角。q complex(2)complex(2)1 0+0i 0+0i 1 0+0i 0+0iq complex(2,4,6)complex(2,4,6)1 4+6i 4+6i 1 4+6i 4+6iq complex(1,4,6)complex(1,4,6)1 4+6i 1 4+6iqy=1:2+1i*(8:9)y=1:2+1i*(8:9)y y 1 1+8i 2+9i 1 1+8i 2+9i Re(y)1 1 2 Re(y)1 1 2 Im(y)1 8 9 Im(y)1 8 9 Mod(y)1 8.062258 9.219544 Mod(y)1 8.062258 9.219544 Arg(y)1 1.446441 1.352127 Arg(y)1 1.446441 1.352127向量下标运算向量下标运算 q某一个元素只要用某一个元素只要用xixi的格式访问,其中的格式访问,其中x x是一个向量名,或一是一个向量名,或一个取向量值的表达式,如:个取向量值的表达式,如:x x 1 1.00 4.00 6.25 1 1.00 4.00 6.25 x2 x2 1 4 1 4 (c(1,3,5)+5)2 (c(1,3,5)+5)2 1 8 1 8q可以单独改变一个元素的值,例如:可以单独改变一个元素的值,例如:q x2 x2 x x 1 1.00 125.00 6.25 1 1.00 125.00 6.25一一、取正整数值的下标向量、取正整数值的下标向量 v v为一个向量,取值在为一个向量,取值在1 1到到length(x)length(x)之间,之间,取值允许重取值允许重复复,例如,例如,xc(1,3)xc(1,3)1 1.00 6.25 1 1.00 6.25 x1:2 x1:2 1 1 125 1 1 125 xc(1,3,2,1)xc(1,3,2,1)1 1.00 6.25 125.00 1.00 1 1.00 6.25 125.00 1.00 c(a,b,c)rep(c(2,1,3),3)c(a,b,c)rep(c(2,1,3),3)1 b a c b a c b a c 1 b a c b a c b a c q定义分段函数:定义分段函数:y=f(x):y=f(x):q当当x3.0 x3.0时取时取x x,3.0 3.0=x3.5=x3.5时取时取x+10 x+10,否则取,否则取x+20;x+20;qx=c(0.5,-1,1,2,3,4,1,2,3,4);x=c(0.5,-1,1,2,3,4,1,2,3,4);q求求y.y.x=c(0.5,-1,1,2,3,4,1,2,3,4);y=numeric(length(x);yx3=xx=3)&(x=3)&(x3.5=xx3.5+20;x;y;数组四则运算数组四则运算 q数组可以进行四则运算(数组可以进行四则运算(+,,*,/,*,/,),解释为数组对应元素的),解释为数组对应元素的四则运算,参加运算的数组一般应该是相同形状的(四则运算,参加运算的数组一般应该是相同形状的(dimdim属性完全相同)属性完全相同)。例如,假设。例如,假设A,B,CA,B,C是三个形状相同的数组,则是三个形状相同的数组,则q D D A A B B A A q另外,向量用在矩阵乘法中可以作为行向量看待也可以作为列另外,向量用在矩阵乘法中可以作为行向量看待也可以作为列向量看待向量看待,例如,例如,设,设x x是一个长度为是一个长度为n n的向量的向量,A A是一个是一个n*n n*n 矩矩阵,则阵,则“x%*%A%*%xx%*%A%*%x”表示二次型表示二次型 。q但是,有时但是,有时向量向量在矩阵乘法中的地位并不清楚,比如在矩阵乘法中的地位并不清楚,比如“x%*%x”x%*%x”就既就既可能表示内积可能表示内积 ,也可能表示也可能表示n*n n*n 阵阵 。因为前者较常用,。因为前者较常用,所以所以R R选择选择表示前者,但内积最好还是用表示前者,但内积最好还是用crossprod(x)crossprod(x)来计算。要表示来计算。要表示 n*nn*n阵,阵,可以用可以用“cbind(x)%*%x”cbind(x)%*%x”或或“x%*%rbind(x)”x%*%rbind(x)”。q函数函数crossprod(X,Y)crossprod(X,Y)表示一般的交叉乘积(内积)表示一般的交叉乘积(内积),即,即X X的的每一列每一列与与Y Y的的每一列每一列的内积组成的矩阵。如果的内积组成的矩阵。如果X X和和Y Y都是向量则是一般的内积。只都是向量则是一般的内积。只写一个参数写一个参数X X的的crossprod(X)crossprod(X)计算计算X X自身的内积自身的内积 。q其它矩阵运算还有其它矩阵运算还有solve(A,b)solve(A,b)解线性方程组解线性方程组 ,solve(A)solve(A)求方阵求方阵A A的逆矩阵,的逆矩阵,svd()svd()计算奇异值分解,计算奇异值分解,qr()qr()计算计算QRQR分解,分解,eigen()eigen()计算特征向量和特征值。详见随机帮助,例如:计算特征向量和特征值。详见随机帮助,例如:q?qr?qrq函数函数diag()diag()的作用依赖于其自变量。的作用依赖于其自变量。qdiag(vector)diag(vector)返回以自变量(向量)为主对角元素的对角矩阵。返回以自变量(向量)为主对角元素的对角矩阵。qdiag(matrix)diag(matrix)返回由矩阵的主对角元素组成的向量。返回由矩阵的主对角元素组成的向量。qdiag(k)diag(k)(k k为标量)返回为标量)返回k k阶单位阵。阶单位阵。q x=1:3 x=1:3 x x 1 1 1 1 2 32 3q crossprod(x)crossprod(x),1,1 1,14 1,14q cbind(x)%*%cbind(x)%*%x x ,1,2 ,1,2,3,3 1,1 2 1,1 2 3 3 2,2 4 2,2 4 6 6 3,3 6 3,3 6 9 9q x%*%x%*%rbind(x)rbind(x),1,2 ,1,2,3,3 1,1 2 1,1 2 3 3 2,2 4 2,2 4 6 6 3,3 6 3,3 6 9 9 y=diag(x)y ,1,2,3 1,1 0 0 2,0 2 0 3,0 0 3 diag(y)1 1 2 3 diag(3),1,2,3 1,1 0 0 2,0 1 0 3,0 0 1矩阵合并与拉直矩阵合并与拉直 q函数函数cbind()cbind()把其自变量横向拼成一个大矩阵,把其自变量横向拼成一个大矩阵,rbind()rbind()把其自变把其自变量纵向拼成一个大矩阵。量纵向拼成一个大矩阵。qcbind()cbind()的自变量是矩阵或者看作列向量的向量,自变量的的自变量是矩阵或者看作列向量的向量,自变量的高度应该相等(对于向量,高度即长度,对于矩阵,高度高度应该相等(对于向量,高度即长度,对于矩阵,高度即行数)。即行数)。qrbindrbind的自变量是矩阵或看作行向量的向量,自变量的宽度的自变量是矩阵或看作行向量的向量,自变量的宽度应该相等(对于向量,宽度即长度,对于矩阵,宽度即列应该相等(对于向量,宽度即长度,对于矩阵,宽度即列数)。数)。q如果参与合并的自变量比其它自变量短则循环补足后合并。如果参与合并的自变量比其它自变量短则循环补足后合并。例如:例如:q x1=rbind(c(1,2),c(3,4)x1=rbind(c(1,2),c(3,4)q x1 x1 ,1,2 ,1,2 1,1 2 1,1 2 2,3 4 2,3 4q x2 x2 x3 x3 x3 x3 ,1,2,3,4 ,1,2,3,4 1,1 2 11 12 1,1 2 11 12 2,3 4 13 14 2,3 4 13 14 x4=rbind(x1,x2)x4 ,1,2 1,1 2 2,3 4 3,11 12 4,13 14 cbind(1,x1),1,2,3 1,1 1 2 2,1 3 4q a=rbind(c(1,2),c(3,4)a=rbind(c(1,2),c(3,4)q a a ,1,2 ,1,2 1,1 2 1,1 2 2,3 4 2,3 4q as.vector(a)as.vector(a)1 1 3 2 4 1 1 3 2 4q b=t(a)b=t(a)q b b ,1,2 ,1,2 1,1 3 1,1 3 2,2 4 2,2 4q c(a,b)c(a,b)1 1 3 2 4 1 2 3 4 1 1 3 2 4 1 2 3 4数组的外积数组的外积 q两个数组两个数组a a和和b b的外积是由的外积是由a a的每一个元素与的每一个元素与b b的每一个元的每一个元素搭配在一起相乘得到一个新元素,这样得到一个维数素搭配在一起相乘得到一个新元素,这样得到一个维数向量等于向量等于a a的维数向量与的维数向量与b b的维数向量连起来的数组,的维数向量连起来的数组,q即若即若d d为为a a和和b b的外积,则的外积,则dim(d)=c(dim(a),dim(b)dim(d)=c(dim(a),dim(b)。qa a和和b b的外积记作的外积记作 a%o%ba%o%b。如。如 d d d d x x y y f f z z a=cbind(c(4,9,1),c(3,7,a=cbind(c(4,9,1),c(3,7,2)2)q a a ,1,2 ,1,2 1,4 3 1,4 3 2,9 7 2,9 7 3,1 2 3,1 2q apply(a,2,sum)apply(a,2,sum)1 14 12 1 14 12q apply(a,1,sum)apply(a,1,sum)1 7 16 3 1 7 16 3q apply(a,2,sort)apply(a,2,sort),1,2 ,1,2 1,1 2 1,1 2 2,4 3 2,4 3 3,9 7 3,9 7 apply(a,1,sort),1,2,3 1,3 7 1 2,4 9 2 t(apply(a,1,sort),1,2 1,3 4 2,7 9 3,1 2q apply(a,2,sort)apply(a,2,sort)q 但是,如果要对行排序,则但是,如果要对行排序,则apply(a,1,sort)apply(a,1,sort)把把a a的每一行的每一行3 3个元素排序后的结果用第一维来引用,结果个元素排序后的结果用第一维来引用,结果的维向量为的维向量为c(N,dim(a)1)=c(3,4)c(N,dim(a)1)=c(3,4),把原来的列变,把原来的列变成了行,所以成了行,所以t(apply(a,1,sort)t(apply(a,1,sort)才是对才是对a a的每一行排的每一行排序的结果。如:序的结果。如:q apply(a,1,sort)apply(a,1,sort)q t(apply(a,1,sort)t(apply(a,1,sort)四、四、R R统计检验统计检验q1.t1.t检验检验q t.test t.testq2.2.正态性检验正态性检验qshapiro.test()shapiro.test(),qks.test()(Kolmogorov-Smirnov ks.test()(Kolmogorov-Smirnov 检验检验),jarque.bera.testjarque.bera.test()()q3.3.相关性检验相关性检验qcor.testcor.test五、五、R R绘图绘图qplot(1:50)/50,log(1:50)/50),type=l)plot(1:50)/50,log(1:50)/50),type=l)高级图形函数的常用选项高级图形函数的常用选项q高级图形函数有一些共同的选项,作为函数的可选参数(自变量)高级图形函数有一些共同的选项,作为函数的可选参数(自变量)。例如:。例如:q plot(x)plot(x)q plot(x,main=Graph of x)plot(x,main=Graph of x)q其中的其中的mainmain就是一个可选参数,用来指定图形的标题。没有此选就是一个可选参数,用来指定图形的标题。没有此选项时图形就没有标题。这样的选项还有项时图形就没有标题。这样的选项还有add=T使函数象低级图形函数那样不是开始一个新图形而是在原图基础上添加。axes=F暂不画坐标轴,随后可以用axis()函数更精确地规定坐标轴的画法。缺省值是axes=T,即有坐标轴。log=x log=y log=xy把x轴,y轴或两个坐标轴用对数刻度绘制。type=type=p type=l type=b type=o type=h type=s type=S type=n规定绘图方式:绘点 画线 绘点并在中间用线连接 绘点并画线穿过各点 从点到横轴画垂线 阶梯函数;左连续 阶梯函数;右连续 不画任何点、线,但仍画坐标轴并建立坐标系,适用于后面用低级图形函数作图。xlab=字符串“ylab=字符串 main=字符串 sub=字符串定义x轴和y轴的标签,缺省时使用对象名。图形的标题;图形的小标题,用较小字体画在x轴下方。低级图形函数低级图形函数 q高级图形函数可以迅速简便地绘制常见类型的图形,但高级图形函数可以迅速简便地绘制常见类型的图形,但是,某些情况下你可能希望绘制一些有特殊要求的图形。是,某些情况下你可能希望绘制一些有特殊要求的图形。比如,你希望坐标轴按照自己的设计绘制,在已有的图比如,你希望坐标轴按照自己的设计绘制,在已有的图上增加另一组数据,在图中加入一行文本注释,绘出多上增加另一组数据,在图中加入一行文本注释,绘出多个曲线代表的数据的标签,等等。个曲线代表的数据的标签,等等。低级图形函数让你在已有的图的基础上进行添加。低级图形函数让你在已有的图的基础上进行添加。q低级图形函数一般需要指定位置信息,其中的坐标指的低级图形函数一般需要指定位置信息,其中的坐标指的是所谓用户坐标,即前面的高级图形函数所建立的坐标是所谓用户坐标,即前面的高级图形函数所建立的坐标系中的坐标。坐标可以用两个向量系中的坐标。坐标可以用两个向量x x和和y y给出,也可以由给出,也可以由一个两列的矩阵给出。如果交互作图可以用下面介绍的一个两列的矩阵给出。如果交互作图可以用下面介绍的locatorlocator()()函数来交互地从图形中直接输入坐标位置。函数来交互地从图形中直接输入坐标位置。q常用的低层图形函数罗列如下:常用的低层图形函数罗列如下:points(x,y)lines(x,y)在当前图形上叠加一组点或线。可以使用plot()的type=参数来指定绘制方法,缺省时points()画点,lines()画线。text(x,y,labels,.)在由坐标x和y给出的位置标出由labels指定的字符串。labels可以是数值型或字符型的向量,labelsi在xi,yi处标出。abline(a,b)abline(h=y)abline(v=x)abline(lm.obj)在当前图形上画一条直线。两个参数a,b分布给出截距和斜率。指定h=参数时绘制水平线,指定v=参数时绘制垂直线。以一个最小二乘拟合结果lm.obj作为参数时由lm.obj的$coefficients 成员给出直线的截距和斜率。polygon(x,y,.)以由向量x给出的横坐标和向量y给出的纵坐标为顶点绘制多边形。可以用col=参数指定一个颜色填充多边形内部。legend(x,y,legend,.)legend(,angle=v)legend(,density=v)legend(,fill=v)legend(,col=v)legend(,lty=v)legend(,pch=v)legend(,marks=v)legend函数用来在当前图形的指定坐标位置绘制图例。图例的说明文字由向量legend提供。至少下面的v值要给出以确定要对什么图例进行说明,v是长度与legend相同的向量。angle参数指定几种阴影斜角。density参数指定几种阴影密度。fill参数指定几种填充颜色。col参数指定几种颜色。lty参数指定几种线型。pch参数指定几种散点符号,为字符型向量。marks参数也指定几种散点符号,但使用散点符号数值代号,为数值型向量。title(main,sub)绘制由main指定的标题和由sub指定的小标题。axis(side,.)绘制一条坐标轴。这之前的绘图函数必须已经用axes=F选项抑制了自动的坐标轴。参数side 指定在哪一边绘制坐标轴,取值为1到4,1为下边,然后逆时针数。可以用at=参数指定刻度位置,用labels参数指定刻度处的标签。1 1、图形、图形元素元素q图形由点、线、文本、多边形等元素构成。下列的图形图形由点、线、文本、多边形等元素构成。下列的图形参数用来控制图形元素的绘制细节:参数用来控制图形元素的绘制细节:pch=+pch=4指定用于绘制散点的符号。绘制的点往往略高于或低于指定的坐标位置,仅pch=“.”无这个问题。如果pch的值为从0到18之间的一个数字,将使用特殊的绘点符号。下例可以显示所有特殊绘点符号:plot(c(0,100),c(0,100),type=n,axes=F,xlab=,ylab=)legend(10,90,as.character(0:9),pch=0:9)legend(50,90,as.character(10:18),pch=10:18)plot(c(0,100),c(0,100),type=n,axes=F,xlab=,ylab=)legend(10,90,as.character(0:9),pch=0:9)legend(50,90,as.character(10:18),pch=10:18)lty=2指定画线用的线型。缺省值lty=1是实线。从2开始是各种虚线。lwd=2指定线粗细,以标准线粗细为单位。这个参数影响数据曲线的线宽以及坐标轴的线宽。下例绘制正弦曲线图:oldpar=par(lwd=2,col=blue,lty=2)x=(0:100)/100*2*pi plot(x,sin(x),type=l,axes=F)abline(h=0)abline(v=0)par(oldpar)col=2指定颜色,可应用于绘点、线、文本、填充区域、图象。颜色值也可以用象red,blue 这样的颜色名指定。font=2用来指定字体的整数。一般font=1是正体,2是 黑体黑体,3是 斜体,4是 黑斜体黑斜体。font.axisfont.labfont.mainfont.sub分别用来指定坐标刻度、坐标轴标签、标题、小标题所用的字体。adj=-0.1指定文本相对于给定坐标的对齐方式。取0表示左对齐,取1表示右对齐,取0.5表示居中。此参数的值实际代表的是出现在给定坐标左边的文本的比例,所以adj=-0.1的效果是文本出现在给定坐标位置的右边并空出相当于文本10%长度的距离。cex=1.5指定字符放大倍数。2 2、坐标轴与坐标刻度坐标轴与坐标刻度q许多高级图形带有坐标轴,还可以先不画坐标轴然后许多高级图形带有坐标轴,还可以先不画坐标轴然后用用axis()axis()单独加。单独加。q函数函数box()box()用来画坐标区域四周的框线。用来画坐标区域四周的框线。q坐标轴包括三个部件:轴线(用坐标轴包括三个部件:轴线(用ltylty可以控制线型),可以控制线型),刻度线,刻度标签。它们可以用如下的图形参数来控刻度线,刻度标签。它们可以用如下的图形参数来控制:制:lab=c(5,7,12)第一个数为x轴希望画几个刻度线,第二个数为y轴希望画几个刻度线,这两个数是建议性的;第三个数是坐标刻度标签的宽度为多少个字符,包括小数点,这个数太小会使刻度标签四舍五入成一样的值。las=1坐标刻度标签的方向。0表示总是平行于坐标轴,1表示总是水平,2表示总是垂直于坐标轴。mgp=c(3,1,0)坐标轴各部件的位置。第一个元素为坐标轴位置到坐标轴标签的距离,以文本行高为单位。第二个元素为坐标轴位置到坐标刻度标签的距离。第三个元素为坐标轴位置到实际画的坐标轴的距离,通常是0。tck=0.01坐标轴刻度线长度,单位是绘图区域大小,值为占绘图区域的比例。tck小于0.5时x轴和y 轴的刻度线将统一到相同的长度。取1时即画格子线。取负值时刻度线画在绘图区域的外面。xaxs=syaxs=d控制x轴和y轴的画轴方法。取值为s(即standard)或e(即extended)的时候数据范围控制在最小刻度和最大刻度之间。取e时如果有数据点十分靠近边缘轴的范围会略微扩大。这种画轴方式有时会在轴的一边留下太大的空白。取值为“i”(即internal)或“r”(此为缺省)使得刻度线都落在数据范围内部,而“r”方式所留的边空较小。取值设为d时会锁定此坐标轴,后续的图形都使用与它完全相同的坐标轴,这在要生成一系列可比较的图形的时候是有用的。要解除锁定需要把这个图形参数设为其它值。3 3、图形边空图形边空 qR R中中一个单独的图由绘图区域(绘图的点、线等画在这个区域中)一个单独的图由绘图区域(绘图的点、线等画在这个区域中)和包围绘图区域的边空组成,边空中可以包含坐标轴标签、坐标和包围绘图区域的边空组成,边空中可以包含坐标轴标签、坐标轴刻度标签、标题、小标题等,绘图区域一般被坐标轴包围。轴刻度标签、标题、小标题等,绘图区域一般被坐标轴包围。q边空的大小由边空的大小由maimai参数或参数或marmar参数控制,它们都是四个元素的向量,参数控制,它们都是四个元素的向量,分别规定下方、左方、上方、右方的边空大小,其中分别规定下方、左方、上方、右方的边空大小,其中maimai取值的取值的单位是英寸,而单位是英寸,而marmar的取值单位是文本行高度。例如:的取值单位是文本行高度。例如:q par(mai=c(1,0.5,0.5,0)par(mai=c(1,0.5,0.5,0)q par(mar=c(4,2,2,1)par(mar=c(4,2,2,1)q这两个图形参数不是独立的,设定一个会影响另一个这两个图形参数不是独立的,设定一个会影响另一个。R R缺省缺省的的图形边空常常太大,以至于有时图形窗口较小时边空占了整个图图形边空常常太大,以至于有时图形窗口较小时边空占了整个图形的很大一部分。形的很大一部分。q通常我们可以取消右边空,并且在不用标题时可以大大缩小上边通常我们可以取消右边空,并且在不用标题时可以大大缩小上边空。例如下例可以生成十分紧凑的图形:空。例如下例可以生成十分紧凑的图形:oldpar oldpar plot(x,y)plot(x,y)q在一个页面上画多个图时边空自动减半,但我们往往还需要进一在一个页面上画多个图时边空自动减半,但我们往往还需要进一步减小边空才能使多个图有意义。步减小边空才能使多个图有意义。4 4、一页多图一页多图 qR R可以在同一页面开若干个按行、列排列的窗格,在每个窗格中可以在同一页面开若干个按行、列排列的窗格,在每个窗格中可以作一幅图。可以作一幅图。q每个图有自己的边空,而所有图的外面可以包一个每个图有自己的边空,而所有图的外面可以包一个“外边空外边空”。q一页多图用一页多图用mfrowmfrow参数或参数或mfcolmfcol参数规定,如:参数规定,如:q par(mfrow=c(3,2)par(mfrow=c(3,2)表示同一页有三行两列共六个图,而且次序为按行表示同一页有三行两列共六个图,而且次序为按行填放。类似地,填放。类似地,q par(mfcol=c(3,2)par(mfcol=c(3,2)规定相同的窗格结构,但是次序为按列填放,即先规定相同的窗格结构,但是次序为按列填放,即先填满第
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 软件工程

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服