资源描述:
《r向量、矩阵-精品ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、向量、矩阵的建立与运算初试R软件某学校在体检时测得12名女中学生体重X1千克和胸围X2厘米;资料如表所示.试计算体重与胸围的均值与标准差.>#输入胸围数据>X2<-c(60,74,64,71,72,68,78,66,70,65,73,75)>mean(X2)#计算胸围的均值[1]69.66667>sd(X2)#计算胸围的标准差[1]5.210712“#”号是说明语句字符<-表示赋值,c()表示数组mean()是求均值函数sd()是求标准差函数>是计算机提示符一些有用的环境操作命ls():#列出对象。rm(list=ls(all=TRUE))#删除所有目标对象searc
2、h():#列出查找路径或程序包save.image(“MyWorkSpace.RData”)#保存内存数据到磁盘文件中load(“MyWorkSpace.RData”)#装载数据进内存source(“MyFile.R”)#程序文件调入内存,以便R可以随后执行该文件内的程序。require(MASS)#libraryandrequireloadadd-onpackages加载包向量的建立向量建立函数c()如:x<-c(10.4,5.6,3.1,6.4,21.4)或c(10.4,5.6,3.1,6.4,21.4)->x向量赋值函数assign()如:assign("x",
3、c(10.4,5.6,3.1,6.4,21.4))要显示所建立的对象,可用对象名作指令如:x又如:y=c(1,1,2);y注:赋值号”<-”和”->”可用”=”代替。等差序列为元素的向量a:b表示从a开始,逐项加1(或减1),直到b为止。seq()函数是更一般的函数,它产生等距间隔的向量,其基本形式为:seq(from=value1,to=value2,by=value3)即从value1开始,到value2结束,间隔为value3。例如:a=1:5;ab=8:3;bseq(-5,5,by=.2)->s1;s1重复函数rep()是重复函数,它可以将某一向量重复若干次再
4、放入新的变量中.例如:u=rep(0,5);u#生成5个0元素的向量v=rep(c(1,2,3),2);v#将1,2,3重复两遍w=rep(c(1,2,3),c(4,3,2));w#将1,2,3分别重复4,3,2次非数值型向量逻辑向量:R软件允许使用逻辑操作.当逻辑运算为真时,返回值为TRUE,当逻辑运算为假时,返回值为FALSE.例如:x<-1:7;L<-x>3;L缺失数据:用NA表示某处的数据缺省或缺失.如z<-c(1:3,NA);z字符型向量:向量元素可以取字符串值.例如y=c(“er”,“sdf”,“eir”,“jk”,“dim”);y可用paste函数用来把
5、它的自变量连成一个字符串,中间用空格分开,例如:paste(“My”,“Job”)。复数向量:复向常量只要用通常的格式,如3.5+2.1i。可用complex()函数生成复向向量.如x=1:3;y=sqrt(x);z=complex(re=x,im=y)Re()是计算复向的实部,Im()计算计算复向的虚部,Mod()是计算复向的模,Arg()是计算复向的幅角向量运算对向量可做加(+)、减(-)、乘(*)、除(/)和乘方(^)运算,其含义是对向量(对应)的每个元素进行运算。另外,%/%表示整数除法(例如5%/%3为1),%%表示求余数(例如5%%3为2).注意:sqrt
6、(-2)的结果是NAN,要做复数运算应该:sqrt(-2+0i)例如:>x<-c(-1,0,2);y<-c(3,8,2)>v<-2*x+y+1;v>exp(x)注意:没有赋值运算时,R会在运算后直接显示计算结果。向量下标运算R软件提供了十分灵活的访问向量元素和向量子集的功能.可以用x[i]的格式访问某一个(或一些)元素,其中x是一个向量名,或一个取向量值的表达式,下标i可以是一个数也可以是一个向量。>x<-c(1,4,7)>x[2][1]4>(c(1,3,5)+5)[2][1]8>x[2]<-125>x[1]11257>x[c(1,3)]<-c(144,169)>x[
7、1]144125169下标可以是逻辑向量v为和x等长的逻辑向量,x[v]表示取出所有v为真值的元素,如>x<-c(1,4,7)>x<5[1]TRUETRUEFALSE>x[x<5][1]14下标取值可以重复>v<-10:20>v[1:5][1]1011121314>v[c(1,2,3,2,1)][1]1011121110下标可有负号、可有别名负下标表示访问相应标号以外的所有元素>v[-(1:5)][1]151617181920定义向量同时定义下标的别名(分量的名称)>ages<-c(Li=33,Zhang=29,Liu=18)>agesLiZhang