资源描述:
《《R语言数据构造》PPT课件.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、R语言数据构造向量,矩阵向量和赋值x<-c(10.4,5.6,3.1,6.4,21.7)x=c(10.4,5.6,3.1,6.4,21.7)assign("x",c(10.4,5.6,3.1,6.4,21.7))c(10.4,5.6,3.1,6.4,21.7)->x定义向量x,但是不显示结果,用print(x)或者直接输入x来显示x的具体值。1.变量名可由字母数字和点号构成,但是注意名称不能以数字开始,数字后不能紧跟点号,点号开头的变量名是特殊的,尽量避免。变量名区分大小写,X和x表示不同的变量。例如可使用变量名height.lyr来表示一岁儿童的身高。2.有
2、些变量名已经被系统使用,比如diff,df,pt等,再如c,q,t,C,D,F,I,T等,如果重新定义可能将其失去原意引起混淆。向量运算1/x直接显示运算结果y=1/x定义新的向量但是不显示结果y=c(x,0,x)#维数为11,#为注释,可放在语句后,用#隔开向量可以被用于算术表达式中,操作是按照向量中的元素一个一个进行的。同一个表达式中的向量并不需要具有相同的长度(可以运算,但是会有警告,最好不要这样)。如果它们的长度不同,表达式的结果是一个与表达式中最长向量有相同长度的向量。表达式中较短的向量会根据它的长度被重复使用若干次(不一定是整数次),直到与长度最长
3、的向量相匹配。而常数很明显的将被不断重复。所以在上面的赋值前提下命令v<-2*x+y+1产生一个长度为11的新向量v,逐个元素的进行运算,其中2*x被重复2.2次,y被重复1次,常数1被重复11次。逐个元素(如果牵扯到矩阵运算需要特别注意)进行运算的操作符包括+,-,*,/,^,log,exp,sin,cos,tan,sqrt。max和min的作用是选出所给向量中最大的或最小的元素。range函数的值是一个长度为2的向量,即c(min(x),max(x))。length(x)返回了向量x中元素的个数,也就是x的长度。sum(x)给出了x中所有元素的总和,pro
4、d(x)给出x中所有元素的乘积。两个统计函数是mean(x)和var(x),sd(x),分别计算样本均值和样本方差和标准差,这三个函数分别相当于sum(x)/length(x),sum((x-mean(x))^2)/(length(x)-1),sqrt(sum((x-mean(x))^2)/(length(x)-1))。如果var()的参数是一个n*p的矩阵,那么函数的值是一个p*p的样本协方差矩阵,认为每行是一个p变量的样本向量。mean()同理。sort(x)返回一个与x具有相同长度的向量,其中的元素按升序排列。还有其他更灵活的排序功能(参见order()
5、和sort.list())order(y)y[order(y)]y[order(y,decreasing=T,na.last=T)]。平行的最大最小函数pmax和pmin将返回一个与最长的向量长度相等的向量,向量中的元素由参数中所有向量在相应位置的最大值(最小值)组成。x<-sort(rnorm(100));cH<-1.35pmin(cH,quantile(x));pmin(quantile(x),cH)如果要使用复数,需要直接给出一个复数部分。因此sqrt(-17)将会返回NaN(无效数值)和一个警告,而sqrt(-17+0i)将按照复数进行运算。向量命名和
6、字符向量x=c(red=1,blue=2,green=3);names(x);y=c(FALSE,"abc");z=c(pi,"FALSE")生成向量的命令seq(0,10,2);#三个参数依次是向量元素取值的最小值,最大值和间距seq(1,5,2)seq(1,5,3)rep(1,5)#把1重复5次rep(1:2,5)rep(1:2,c(2,3))rep(1:2,each=10);rep(1:2,c(10,10))#两者相等rep(x,5)矩阵和数组x=1:12;dim(x)=c(3,4);#注意3*4=12,必须匹配X=matrix(1:12,3,4)#1:
7、12为元素,3,4为行数和列数X=matrix(2:13,nrow=3,byrow=TRUE)#按行排列元素X=matrix(2:13,nrow=3,byrow=F)#按列排列元素X=matrix(x,3,4)rownames(X)=LETTERS[1:3]#行命名colnames(X)=c(“red”,“green”,“rose”,“blue”)#列命名x1=matrix(1:5,5,1);x2=matrix(6:10,5,1)X1=cbind(x1,x2);#列结合X2=rbind(t(x1),t(x2));#行结合矩阵转置t(x)#转置命令若将函数t()
8、作用于一个向量x,则R默认x为列向量,