R语言基础知识

来源:互联网 发布:mac 编译安装php5.6 编辑:程序博客网 时间:2024/06/08 06:10
#向量(A<-c(1,2,3))(B<-"abcD")(C<-TRUE)is.vector(B)#判断向量is.logical(C)#判断逻辑(a<-rep(1:3,each=2))#112233(b<-rep(1:3,times=2))#123123(c<-seq(from=1,to=10,by=2))#13579(d<-seq(from=1,to=10,length=3))e<-scan()#键盘输入(f<-vector(length=10))#初始值默认FALSE,访问向量元素具体赋值f[1]<-1f[2:3]<-c(2,3)temp<-seq(from=4,to=9,by=1)f[c(4:9,10)]<-c(temp,10)#指定位置赋值1~10  #利用位置向量访问b<-(2:4)f[b]b<-c(TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE,FALSE)f[b]  #访问指定元素之外f[-1]f[-(2:4)]f[-c(1:5,10)]b<-(2:4)f[-b]ls()#矩阵 is.matrix(对象名) #向量合并成矩阵age<-c(22,23,24,25)name<-c("aa","bb","cc","dd")cm<-cbind(name,age)#列合并dim(cm)str(cm)rm<-rbind(name,age)#行合并dim(rm)str(rm) #单个向量派生矩阵a<-(1:30)dim1<-c("r1","r2","r3","r4","r5")dim2<-c("c1","c2","c3","c4","c5","c6")claim<-matrix(a,nrow=5,ncol = 6,byrow = FALSE,dimnames = list(dim1,dim2))#byrow为TRUE表示按行排列 #访问指定位置元素claim[2,3]#位置常量claim[1:3,1:3]a<-c(1:3)#1-3行,1、3列claim[a,c(1,3)]head(claim,2)#前两行tail(claim,2)#后两行claim[2,]#第二行claim[c(1,3),]#一三行a<-c(TRUE,TRUE,FALSE,FALSE,TRUE)claim[a,]#逻辑显示125行claim[,1:3]#1-3列 #给矩阵赋值a<-matrix(nrow = 5,ncol = 2)a[,1]=seq(from=1,to=10,by=2)a[,2]=seq(from=10,to=1,by=-2)fix(claim)#显示数据编辑器#数据框 is.data.frame(数据对象名)claimfrm<-data.frame(fage=age,fname=name)#创建数据框,多个向量的集合names(claimfrm)#显示数据框域名str(claimfrm)#显示数据框结构is.data.frame(claimfrm)a<-data.frame(x1=numeric(0),x2=character(0),x3=logical(0))#空数据框,可以fix手动输入str(a)#访问数据框claimfrm$fageclaimfrm[["fage"]]claimfrm[[1]]#域编号访问attach(claimfrm)fnamedetach(claimfrm)#屏障中无需指定数据框名 #with函数with(claimfrm,{  age<-fage+1#age为临时变=变量,仅在with{}中有效  print(age)}) #within函数claimfrm<-within(claimfrm,{  salary<-fage*10#在数据框增加域salary})#数组is.array(对象名) a<-c(1:60)dim1<-c("r1","r2","r3","r4")dim2<-c("c1","c2","c3","c4","c5")dim3<-c("t1","t2","t3")a<-array(a,c(4,5,3),dimnames=list(dim1,dim2,dim3))#创建维度4,5,3数组 #访问数组a[1:3,c(1,3),1]#第一张表的1-3行和1、3列,行号列号表号#列表is.list(对象名),是对象的集合a<-c(1,2,3)b<-matrix(nrow = 5,ncol = 2)b[,1]=seq(from=1,to=10,by=2)b[,2]=seq(from=10,to=1,by=-2)c<-array(1:7,c(4,5,3))d<-list(L1=a,L2=b,L3=c)names(d) #访问列表d$L1d[["L2"]]d[[3]]#数据对象转换a<-12.3typeof(a)is.numeric(a)is.integer(a)is.double(a)is.character(a)is.logical(a)(a<-as.integer(a))(a<-as.character(a))a<-c(1:10)as.matrix(a)#向量转为矩阵b<-matrix(a,nrow = 5,ncol = 2,byrow = FALSE)#派生矩阵bas.vector(a)#矩阵转为向量(一列一列读)#向量转为因子is.factor(向量名)a<-c("poor","improves","excellent","poor")b<-as.factor(a)#按字母排序,分三个levelb<-factor(a,order=TRUE,levels = c("poor","improves","excellent"))#true表示对应顺序分类型变量b<-factor(a,order=FALSE,levels = c("poor","improves","excellent"))#false表示名义分类型变量b<-factor(a,order=FALSE,levels = c("poor","improves","excellent"),labels=c("C","B","A"))#重新设定类别值gl(5,4)#五个水平因子各出现4次as.vector(b)#因子转为向量
原创粉丝点击