R软件及统计分析向量多维数组和矩阵课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《R软件及统计分析向量多维数组和矩阵课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 统计分析 向量 多维 数组 矩阵 课件
- 资源描述:
-
1、实验目的实验目的实验内容实验内容学习学习S语言中向量、多维数组和矩阵的表示方法语言中向量、多维数组和矩阵的表示方法1 1、数据表示数据表示2 2、应用实例、应用实例3 3、实验作业、实验作业S向量、多维数组和矩阵向量、多维数组和矩阵S语言是基于对象(Object)的语言 基本的数据类型有:向量、矩阵、列表等 复杂的数据对象有:数据框对象,时间序列对象,模型对象,图形对象,等等。S语言表达式可以使用常量和变量。变量名:由字母、数字、句点组成,第一个字符必须是字母,长度没有限制,但区分大小写。特别要注意句点可以作为名字的合法部分。常量 常量为:数值型、逻辑型和字符型三种,其中 数值型数据又可以分为
2、整型、单精度、双精度等 例如,123,123.45,1.2345e30 是数值型常量;“Weight”,“李明”是字符型;逻辑真值写为T或TRUE(注意区分大小写,写t或true都没意义),逻辑假值写为F或FALSE。复数常量就用3.5-2.1i这样的写法表示。S中的数据可以取缺失值,用符号NA代表缺失值。函数is.na(x)返回x是否缺失值(返回值T或F)。向量(Vector)与赋值 向量是有相同基本类型的元素序列,即一维数组 定义向量的最常用办法是使用函数c(),它把若干个数值或字符串组合为一个向量,比如:x=c(1:3,10:13)x 1 1 2 3 10 11 12 13 S中用符号“
3、x1=c(1,2)和 assign(“x1”,c(1,2)相同 函数length(x)可以计算向量x的长度。向量运算 可以对向量进行加()减()乘(*)除(/)、乘方()运算,其含意是对向量的每一个元素进行运算。例如:x y=x*2+1 y 1 3.0 9.0 13.5%/%表示整数除法(比如5%/%3为1),%表示求余数(如5%3为2)。可以用向量作为函数自变量,sqrt、log、exp、sin、cos、tan等函数都可以用向量作自变量,结果是对向量的每一个元素取相应的函数值 函数min和max分别取向量自变量的最小值和最大值,函数sum计算向量自变量的元素和,函数mean计算均值,函数va
4、r计算样本方差(分母为n-1),函数sd计算标准差(在Splus中用sqrt(var()计算)如果求var(x)而x是矩阵,则结果为样本协方差阵。(行向量为观测值)随机向量随机向量记记 X=(X1,X2,Xp)为为 维随机向量维随机向量,对对 X=(X1,X2,Xp)进行一次观测,进行一次观测,得观测值:得观测值:(x11,x12,x1p)=X(1),它是一个样品。它是一个样品。对对 X=(X1,X2,Xp)进行观测进行观测n次,次,得得n个样品:个样品:X(i)=(xi1,x i 2,x i p),i=1,n 它是一个样本它是一个样本.用矩阵记为如下用矩阵记为如下称为样本数据阵称为样本数据阵
5、.pdefndefnpnnppXXXXXXxxxxxxxxxX,21)()2()1(212222111211 ),1(11pixnxnaaii npniiXnxxXnX11),(111)(其中其中(1)1)样本均值向量样本均值向量 X),1,()(1pjixxxxanajajiaiji ppjidefnnnanaaanaaaXnIXXXnXXXXnXXXXXXA )(111)()(1)()(1)(其中其中(又称交叉乘积阵又称交叉乘积阵)其中其中),2,1()(1112pixxnsnaiaii i ppjisAnS )(11称为变量称为变量的的称为变量称为变量的的其中其中),2,1,(pjiaa
6、asssrjjiijijjiijiji 或或ppjirR )(sort(x)返回x的元素从小到大排序的结果向量 order(x)返回使得x从小到大排列的元素下标向量(xorder(x)等效于sort(x))。x=c(2,4,8,6,10)order(x)1 1 2 4 3 5 xorder(x)1 2 4 6 8 10任何数与缺失值的运算结果仍为缺失值。例如,2*c(1,NA,2)1 2 NA 4 sum(c(1,NA,2)1 NA 产生有规律的数列产生有规律的数列 在S中很容易产生一个等差数列。例如,1:n产生从1到n的整数列,-2:3产生从-2到3 的整数列,5:2产生反向的数列:注意 1
7、:n-1不是代表1到n-1而是向量1:n减去1,1:n-1 1 0 1 2 3 4 1:(n-1)1 1 2 3 4 seq函数是更一般的等差数列函数。如只指定一个自变量n0,则seq(n)相当于1:n。指定两个自变量时,第一量是开始值,第二量是结束值,如seq(-2,3)是从-2到3,默认公差为1。S函数调用的一个很好的特点是它可以使用不同个数的自变量,函数可以对不同类型的自变量给出不同结果,自变量可以用“自变量名自变量值”的形式指定。例如,seq(-2,3)可以写成seq(from=-2,to=3)。可以用一个by参数指定等差数列的增加值,例如:seq(0,2,0.7)1 0.0 0.7
8、1.4 也可以写成seq(from=0,to=2,by=0.7)。有参数名的参数的次序任意,如:seq(0,by=0.7,to=2)1 0.0 0.7 1.4 可以用length参数指定数列长度,如seq(from=10,length=5)产生10到14。seq函数还可以用一种seq(along=向量名)的格式,这时只能用这一个参数,产生该向量的下标序列,如:x 1 1.00 4.00 6.25 seq(along=x)1 1 2 3 另一个类似的函数是rep,它可以重复第一个自变量若干次,例如:rep(x,3)1 1.00 4.00 6.25 1.00 4.00 6.25 1.00 4.00
9、 6.25 第一个参数名为x,第二个参数名为times(重复次数)。此外numeric(n)可以产生一个长度为n的零向量 逻辑向量 向量可以取逻辑值,如:l=c(T,T,F)l输出1 TRUE TRUE FALSE 当然,逻辑向量往往是一个比较的结果,如:x 输出 1 1.00 4.00 6.25 l=x 3 l 输出 1 FALSE TRUE TRUE 一个向量与常量比较大小,结果还是一个向量,元素为每一对比较的结果逻辑值。两个向量也可以比较,如:log(10*x)1 2.302585 3.688879 4.135167 log(10*x)x 输出1 TRUE FALSE FALSE 比较运
10、算符包括,=,=,!=。逻辑向量 两个逻辑向量可以进行与(&)、或(|)运算,结果是对应元素运算的结果。对逻辑向量x计算!x表示取每个元素的非。例如:x=c(1,4,6.25,1.6)(x 1.5)&(x all(log(10*x)x)1 FALSE 判断是否其中有真值的函数是any,如:any(log(10*x)x)1 TRUE 逻辑向量 函数is.na(x)用来判断x的每一个元素是否缺失。如 is.na(c(1,NA,3)1 FALSE TRUE FALSE 逻辑值可以强制转换为整数值,TRUE变成1,FALSE变成0。例如,age65为老年人,否则为年轻人,可以用c(“young”,“o
11、ld”)(age65)+1 表示。当年龄大于65时age65等于TRUE,加1则把TRUE转换为数值型的1,结果得2,于是返回第二个下标处的“old”。否则等于0+1下标处的“young”。age=c(89,20,10,66);c(young,old)(age65)+1;1 old young young old 字符型向量 向量元素可以取字符串值。例如:c1=c(x,sin(x)c1 输出 1 x sin(x)ns=c(Weight,Height,年龄)ns 输出1 Weight Height 年龄 paste函数用来把它的自变量连成一个字符串,中间用空格分开,例如:paste(My,Job
12、)1 My Job paste(Hi,早)输出1 Hi 早 连接的自变量可以是向量,这时各对应元素连接起来,长度不相同时较短的向量被重复使用。自变量可以是数值向量,连接时自动转换成适当的字符串表示,例如:paste(c(X,Y),=,1:4)1 X=1 Y=2 X=3 Y=4 分隔用的字符可以用sep参数指定,例如:paste(result.,1:5,sep=)1 result.1 result.2 result.3 result.4 result.5 如果给paste()函数指定了collapse参数,则把字符串向量的各个元素连接成一个字符串,中间用collapse指定的值分隔。比如 pas
13、te(c(a,b),collapse=.)得到a.b。复数向量 S支持复数运算。复数常量只要用3.5+2.1i这样的格式即可。复向量的每一个元素都是复数。可以用complex()函数生成复向量(见帮助)。Re()计算实部,Im()计算虚部,Mod()计算复数模,Arg()计算复数幅角。complex package:base R DocumentationComplex VectorsDescription:Basic functions which support complex arithmetic in R.Usage:complex(length.out=0,real=numeric(
14、),imaginary=numeric(),modulus=1,argument=0)plex(x,.)plex(x)Re(x)Im(x)Mod(x)Arg(x)Conj(x)Arguments:length.out:numeric.Desired length of the output vector,inputs being recycled as needed.real:numeric vector.imaginary:numeric vector.modulus:numeric vector.argument:numeric vector.x:an object,probably of
15、 mode complex.:further arguments passed to or from other methods.Details:Complex vectors can be created with complex.The vector can be specified either by giving its length,its real and imaginary parts,or modulus and argument.(Giving just the length generates a vector of complex zeroes.)plex attempt
16、s to coerce its argument to be of complex type:like as.vector it strips attributes including names.Note that plex and is.numeric are never both TRUE.The functions Re,Im,Mod,Arg and Conj have their usual interpretation as returning the real part,imaginary part,modulus,argument and complex conjugate f
17、or complex values.Modulus and argument are also called the _polar coordinates_.If z =x+i y with real x and y,Mod(z)=sqrtx2+y2,and for phi=Arg(z),x=cos(phi)and y=sin(phi).They are all generic functions:methods can be defined for them individually or via the Complex group generic.In addition,the eleme
18、ntary trigonometric,logarithmic and exponential functions are available for complex plex is generic:you can write methods to handle specific classes of objects,see InternalMethods.References:Becker,R.A.,Chambers,J.M.and Wilks,A.R.(1988)_The New S Language_.Wadsworth&Brooks/Cole.Examples:0i (-3:3)mat
19、rix(1i(-6:5),nr=4)#-all columns are the same 0 1i#a complex NaN#create a complex normal vector z-complex(real=rnorm(100),imag=rnorm(100)#or also(less efficiently):z2 complex(2)1 0+0i 0+0i complex(2,4,6)1 4+6i 4+6i complex(1,4,6)1 4+6i y=1:2+1i*(8:9)y 1 1+8i 2+9i Re(y)1 1 2 Im(y)1 8 9 Mod(y)1 8.06225
20、8 9.219544 Arg(y)1 1.446441 1.352127向量下标运算 某一个元素只要用xi的格式访问,其中x是一个向量名,或一个取向量值的表达式,如:x 1 1.00 4.00 6.25 x2 1 4 (c(1,3,5)+5)2 1 8 可以单独改变一个元素的值,例如:x2 x 1 1.00 125.00 6.25 S提供了四种方法来访问向量的一部分,格式为xv,x为向量名或向量值的表达式,v是如下的表示下标向量:一、取正整数值的下标向量一、取正整数值的下标向量 v为一个向量,取值在1到length(x)之间,取值允许重复,例如,xc(1,3)1 1.00 6.25 x1:2
21、1 1 125 xc(1,3,2,1)1 1.00 6.25 125.00 1.00 c(a,b,c)rep(c(2,1,3),3)1 b a c b a c b a c 二、取负整数值的下标向量二、取负整数值的下标向量 v为一个向量,取值在length(x)到1之间,表示扣除相应位置的元素。例如:x-(1:2)1 6.25三、取逻辑值的下标向量三、取逻辑值的下标向量 v为和x等长的逻辑向量,xv表示取出所有v为真值的元素,如:x 输出:1 1.00 125.00 6.25 x xx xx0 输出:numeric(0)可见xx0可以取出x中所有正弦函数值为正的元素组成的向量。如果下标都是假值则
展开阅读全文