R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)_第1頁
R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)_第2頁
R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)_第3頁
R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)_第4頁
R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

2021/3/101第二講R語言的基本數(shù)據(jù)結(jié)構(gòu)R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第1頁。2021/3/102NameIDTeam.NumDutyGrade1Grade2Grade3Grade4Grade5WangN2007091captainNANANANANATangMJ2007201memberNANANANANA………………………作業(yè)1:按下面表格的形式生成本組信息的數(shù)據(jù)框,并提交原程序.Name為字符型、ID為數(shù)字型、Team.Num為分組因子、Duty為分組因子、Grade1-5為數(shù)值型R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第2頁。2021/3/103Base:is.thingsBase:recursionGraphics:HersheyGraphics:JapaneseGraphics:graphicsGraphics:imageGraphics:perspGraphics:plotmathLattice:intervalsLattice:labelsLattice:latticeLattice:panelStats:glm.vrStats:lm.glmStats:nlmStats:smooth作業(yè)2:利用sample函數(shù)設(shè)計算法,把下面16個demo公平地分配給15個組,并提交原程序R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第3頁。2021/3/104一、R語言的對象所有在R語言中可操作的各種數(shù)據(jù)及各種表達(dá)式等都叫R語言的操作對象。對象命名:1、對象的名字必須是以一個字母開頭(A–Z或a–z),中間可以包含字母,數(shù)字(0–9),點(.)及下劃線(_);2、R對對象的名字區(qū)分大小寫;3、避免用R的各種包中的既有對象名來對對象命名:例如,if、for、pi等3、可以通過輸入一個對象的名字來顯示其內(nèi)容,例如,一個名為n的對象,其內(nèi)容是數(shù)值10:

>n[1]10R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第4頁。2021/3/105對象的產(chǎn)生、查詢及刪除1、賦值:<-或=2、函數(shù)ls的功能是顯示所有在內(nèi)存中的對象:只會列出對象名

>name<-”Carmen”;n1<-10;n2<-100;m1<-1

>ls()>ls(pat=“m”)>ls.str()//將會展示內(nèi)存中所有對象的詳細(xì)信息

R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第5頁。2021/3/1063、刪除:>rm(x)刪除內(nèi)存中所有對象:>rm(list=ls())注:ls()函數(shù)中的一些選項同樣可以運用到rm中來R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第6頁。2021/3/107對象的基本屬性每個對象包含很多基本屬性,常用的有對象的類型、存儲類型、對象模式、對象長度、對象維度、對象名稱等。數(shù)值型Numeric如100,0,-4.335字符型Character如“China”邏輯型Logical如TRUE,FALSE因子型Factor表示不同類別復(fù)數(shù)型Complex如:2+3i對象的類型:>mode(object)對象的長度:>length(object);>fruit<-c(5,10,1,20)>names(fruit)<-c("orange","banana","apple","peach")>mode(fruit)[1]"numeric">length(fruit)[1]4R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第7頁。2021/3/108對象屬性的轉(zhuǎn)換常用對象轉(zhuǎn)化函數(shù)>as.character()#轉(zhuǎn)換為字符型>as.numeric()#轉(zhuǎn)換為數(shù)值型>as.logical()#轉(zhuǎn)換為邏輯型>plex()#轉(zhuǎn)化為復(fù)數(shù)型>as.factor()#轉(zhuǎn)化為因子型>methods(as)#methods包中的全部轉(zhuǎn)換函數(shù)>methods(is)#methods包中全部對象類型判別函數(shù)R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第8頁。2021/3/109二、數(shù)據(jù)的創(chuàng)建R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第9頁。2021/3/1010三、數(shù)值向量1、規(guī)則序列>x<-1:30>x<-c(1,2,4,7,11)#c()為應(yīng)用最廣泛的向量構(gòu)造函數(shù)

>y<-c(x,0,x)#把所有對象連接起來形成新的向量

>y<-c(“animal”)>x<-seq(1,5,by=0.5)#序列的起點、終點、步長

x<-seq(length=50,from=-0.2,to=9,by=0.8)>x<-scan()#用鍵盤輸入一些數(shù)據(jù)>rep(1,time=30)#創(chuàng)建一個所有元素都相同的向量>sequence(4:5)#創(chuàng)建一系列聯(lián)系的整數(shù)序列

[1]123412345R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第10頁。2021/3/1011>gl(k,n)//k是水平數(shù),n是每個水平重復(fù)的次數(shù),有兩個選項:length用來指定產(chǎn)生數(shù)據(jù)的個數(shù),labels用來指定每個水平因子的名字>gl(3,5)>gl(3,5.4)#???????R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第11頁。2021/3/10122、隨機序列

R可以產(chǎn)生多種不同分布下的隨機數(shù)序列。>sample(1:40,5)[1]25322359>sample(c("H","T"),10,replace=T)[1]"H""H""T""H""H""T""H""H""H""H“R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第12頁。2021/3/1013

分布函數(shù)的形式rfunc(n,p1,p2,...),其中func指概率分布函數(shù),n為生成數(shù)據(jù)的個數(shù),p1,p2,...是分布的參數(shù)數(shù)值。如:rnorm#隨機產(chǎn)生正態(tài)分布的數(shù)據(jù)

>rnorm(100,2,5)#mean=1,sd=5

隨機分布函數(shù)rfuncr:random

密度函數(shù)dfuncd:density

累計概率密度函數(shù)pfuncp:probability

分位數(shù)函數(shù)qfuncq:quantile

3、分布函數(shù)R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第13頁。2021/3/1014>plot(rnorm(100,2,5))R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第14頁。2021/3/1015>x<-seq(-4,4,0.1)>plot(x,dnorm(x),type="l")R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第15頁。2021/3/1016邏輯向量邏輯向量包含TRUE、FALSE和NA(notavailabe)邏輯向量可以同數(shù)值向量一起運算:TRUE=1,FALSE=0>SequenceNum<-seq(1.1,4.2)>Logicvector<-SequenceNum>2.5>logicvector

錯誤:找不到對象'logicvector'>Logicvector[1]FALSEFALSETRUETRUE

R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第16頁。2021/3/1017>c(1:3,NA)->NaData>NaData[1]123NA>NaData[8]<-8#將NaData第8項設(shè)置為8>NaData[1]123NANANANA8>is.na(NaData)[1]FALSEFALSEFALSETRUETRUETRUETRUEFALSER語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第17頁。2021/3/1018字符向量可以用兩個單引號(‘)或兩個雙引號(“)去界定字符向量“/”用來識別字符串中包含的(‘)或(“)例子:>UserInfor<-c("name","user'spassword","e-mail")>UserInfor[1]"name""user'spassword""e-mail“>labs<-paste(c("X","Y"),1:10,sep="")>labs[1]"X1""Y2""X3""Y4""X5""Y6""X7""Y8""X9""Y10"R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第18頁。2021/3/1019復(fù)數(shù)向量>z<-complex(real=rnorm(10),imaginary=rnorm(10))>z[1]1.0464457+1.4921546i-0.0857576+0.6500323i-0.4077956+0.7363948i[4]1.2992962+1.0821262i-1.3359859-2.2430534i1.0756972+1.4531898i[7]1.1084957+0.6604677i1.2716703+0.4288688i0.2792403+0.4181003i[10]-1.0414731-2.2300299i>zz<-(rep(1:4,len=9)+1i*(9:1))/10[1]0.1+0.9i0.2+0.8i0.3+0.7i0.4+0.6i0.1+0.5i0.2+0.4i0.3+0.3i0.4+0.2i[9]0.1+0.1i>zz.shift<-complex(modulus=Mod(zz),argument=Arg(zz)+pi)>zz.shift[1]-0.1-0.9i-0.2-0.8i-0.3-0.7i-0.4-0.6i-0.1-0.5i-0.2-0.4i-0.3-0.3i[8]-0.4-0.2i-0.1-0.1iR語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第19頁。2021/3/1020五、分組因子R語言可以將一套數(shù)據(jù)中相同分類的數(shù)據(jù)進(jìn)行分組,所用組別對象稱為分組因子可以用factor()函數(shù)生成一個分組因子分組因子可以方便地對分組數(shù)據(jù)做相應(yīng)計算,如:計算平均值、總和或按某種函數(shù)形式例子:>factor(sample(letters,10,replace=T),levels=letters)

[1]gbwjczodpq

Levels:abcdefghijklmnopqrstuvwxyzR語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第20頁。2021/3/1021六、數(shù)組及矩陣數(shù)組是帶多個下標(biāo)的、類型相同的元素的多維數(shù)據(jù)集合,類型有數(shù)值型、字符型、邏輯型、復(fù)數(shù)型等矩陣為二維數(shù)組一維數(shù)組并不等效為向量除了類型和長度等基本屬性外,數(shù)組還有一個特殊屬性叫做維數(shù)向量,用dim()定義R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第21頁。2021/3/1022數(shù)組定義>FirstArray<-seq(1:24)>FirstArray[1]123456789101112131415161718192021222324>dim(FirstArray)<-c(3,4,2)#通過dim()函數(shù)來定義數(shù)組的維數(shù)空間>FirstArray#數(shù)組的填充規(guī)則:越靠前的下標(biāo)變化越快;#越靠后的下標(biāo)變化越慢,,1[,1][,2][,3][,4][1,]14710[2,]25811[3,]36912,,2[,1][,2][,3][,4][1,]13161922[2,]14172023[3,]15182124#等價于>FirstArray<-array(seq(1:24),dim=c(3,4,2))R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第22頁。2021/3/1023Dimnames屬性>Prices<-array(c(20,24,22,56,76,87),dim=c(2,3),#dimnames定義了維名+dimnames=list(c("vender1","vender2"),c("64M","128M","256M")))>Prices64M128M256Mvender1202276vender2245687>Prices[,c(“64M”,“256M”)]#通過維名訪問數(shù)組

64M256Mvender12076vender22487R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第23頁。2021/3/1024向量,數(shù)組的混合運算規(guī)則:1、表達(dá)式中各元素匹配時,總是從左到右。2、在進(jìn)行計算時比較短的向量會擴展數(shù)據(jù)以適應(yīng)最大數(shù)量元素的操作數(shù)。擴展數(shù)據(jù)的基本規(guī)則為循環(huán)地從第一個元素開始填充所需要的數(shù)據(jù)。3、所有的數(shù)組必須具有相同的dim屬性,否則返回一個錯誤。4、任何一個向量的操作結(jié)果的長度大于數(shù)組間操作結(jié)果的長度時,R語言會產(chǎn)生錯誤。5、如果數(shù)組間操作無誤,那么計算結(jié)果也是一個相同維度的數(shù)組。R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第24頁。2021/3/1025>a1<-array(1:12,dim=c(4,3))>a2<-array(1:9,dim=c(3,3))>a1[,1][,2][,3][1,]159[2,]2610[3,]3711[4,]4812>a2[,1][,2][,3][1,]147[2,]258[3,]369>a1+a2錯誤于a1+a2:非整合陳列>a2<-array(1:9,dim=c(4,3))>a2[,1][,2][,3][1,]159[2,]261[3,]372[4,]483>a1+a2[,1][,2][,3][1,]21018[2,]41211[3,]61413[4,]81615>a1*a2[,1][,2][,3][1,]12581[2,]43610[3,]94922[4,]166436不同dim屬性相同dim屬性不同dim屬性相同dim屬性R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第25頁。2021/3/1026>a3<-array(1:3,dim=c(1,3))>a3[,1][,2][,3][1,]123>a2+a3錯誤于a2+a3:非整合陳列一維數(shù)組并不等效為向量>a4<-1:3>a4[1]123>a4+a2[,1][,2][,3][1,]2712[2,]492[3,]684[4,]5106向量與數(shù)組運算>a5<-1:7>a4+a5[1]2465798警告信息:Ina4+a5:長的對象長度不是短的對象長度的整倍數(shù)不同長度的向量運算>a6<-1:13>a6+a2錯誤:dims[product12]與對象長度[13]不匹配此外:警告信息:Ina6+a2:長的對象長度不是短的對象長度的整倍數(shù)>a7<-1:24>a7+a2錯誤:dims[product12]與對象長度[24]不匹配一維數(shù)組并不等效為向量不同長度的向量運算R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第26頁。2021/3/1027兩個數(shù)組的外積>A<-array(1:4,dim=c(2,2))>B<-array(1:12,dim=c(3,4))>A[,1][,2][1,]13[2,]24>B[,1][,2][,3][,4][1,]14710[2,]25811[3,]36912>B%o%A,,1,1[,1][,2][,3][,4][1,]14710[2,]25811[3,]36912,,2,1[,1][,2][,3][,4][1,]281420[2,]4101622[3,]6121824,,1,2[,1][,2][,3][,4][1,]3122130[2,]6152433[3,]9182736,,2,2[,1][,2][,3][,4][1,]4162840[2,]8203244[3,]12243648>AB<-outer(B,A,“*”)#?outer()R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第27頁。2021/3/1028數(shù)組轉(zhuǎn)置aperm(a,perm,resize=TRUE)#a為數(shù)組,perm為轉(zhuǎn)置下標(biāo)向量>x<-array(1:6,2:3)>x[,1][,2][,3][1,]135[2,]246>xt<-aperm(x,c(2,1))>xt[,1][,2][1,]12[2,]34[3,]56R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第28頁。2021/3/1029>x<-array(1:24,2:4)>x,,1[,1][,2][,3][1,]135[2,]246,,2[,1][,2][,3][1,]7911[2,]81012,,3[,1][,2][,3][1,]131517[2,]141618,,4[,1][,2][,3][1,]192123[2,]202224>xt<-aperm(x,c(2,1,3))>xt,,1[,1][,2][1,]12[2,]34[3,]56,,2[,1][,2][1,]78[2,]910[3,]1112,,3[,1][,2][1,]1314[2,]1516[3,]1718,,4[,1][,2][1,]1920[2,]2122[3,]2324R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第29頁。2021/3/1030七、矩陣#nrow定義行數(shù),ncol定義列數(shù),dimnames定義行和列的名稱,byrow定義矩陣的填充順序,為T時按行填充,為F時按列填充>mdat<-matrix(c(1,2,3,11,12,13),nrow=2,ncol=3,byrow=TRUE,+dimnames=list(c("row1","row2"),c("C.1","C.2","C.3")))>mdatC.1C.2C.3row1123row2111213>t(mdat)row1row2C.1111C.2212C.3313>xt<-aperm(mdat,c(2,1))>xtrow1row2C.1111C.2212C.3313轉(zhuǎn)置>t(mdat)row1row2C.1111C.2212C.3313>xt<-aperm(mdat,c(2,1))>xtrow1row2C.1111C.2212C.3313轉(zhuǎn)置R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第30頁。2021/3/1031>a1<-matrix(c(1,2,3,4,5,6),nrow=2,ncol=3)>a2<-matrix(seq(1:9),nrow=3,ncol=3)>a1[,1][,2][,3][1,]135[2,]246>a2[,1][,2][,3][1,]147[2,]258[3,]369>a1%*%a2[,1][,2][,3][1,]224976[2,]2864100>a1%*%a1錯誤于a1%*%a1:非整合參數(shù)>a2%*%a1錯誤于a2%*%a1:非整合參數(shù)兩個矩陣內(nèi)積R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第31頁。2021/3/1032>Coefficient<-array(c(3,2,-2,1),dim=c(2,2))#系數(shù)矩陣>Result<-c(12,1)#結(jié)果矩陣>solve(Coefficient,Result)#sovle()返回線性方程組行列式結(jié)果[1]2-3#a=2,b=-3求解線性方程組:3a-2b=122a+b=1>solve(Coefficient)#求矩陣Coefficient的逆

[,1][,2][1,]0.14285710.2857143[2,]-0.28571430.4285714R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第32頁。2021/3/1033矩陣計算函數(shù)練習(xí)2.1熟練掌握矩陣計算的有關(guān)函數(shù)R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第33頁。2021/3/1034數(shù)組矩陣合并函數(shù)rbind()把參數(shù)變量按行拼成一個大矩陣,兩個數(shù)組(或向量)的列數(shù)必須相等函數(shù)cbind()把參數(shù)變量按列拼成一個大矩陣,兩個數(shù)組(或向量)的行數(shù)必須相等R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第34頁。2021/3/1035>a1<-array(1:6,dim=c(2,3))>a2<-array(1:9,dim=c(3,3))>a1[,1][,2][,3][1,]135[2,]246>a2[,1][,2][,3][1,]147[2,]258[3,]369>rbind(a1,a2)[,1][,2][,3][1,]135[2,]246[3,]147[4,]258[5,]369>cbind(a1,a2)錯誤于cbind(a1,a2):矩陣的行數(shù)必需相符(見arg2)>t(a1)[,1][,2][1,]12[2,]34[3,]56>a1<-t(a1)>cbind(a1,a2)[,1][,2][,3][,4][,5][1,]12147[2,]34258[3,]56369R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第35頁。2021/3/1036八、數(shù)據(jù)分割與選取向量索引X[n]#第n個元素X[-n]#除了第n個元素外的XX[1:n]#前n個元素X[-(1:n)]#第n+1至最后的元素X[c(1,4,2)]#指定下標(biāo)的元素X[“name”]#名為name的元素X[X>3]#所有大于3的元素X[X>3&X<=5]#區(qū)間(3,5]的元素X[X%in%c(“a”,”and”,”the”)]#給定組c()中的元素R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第36頁。2021/3/1037>X<-1:9>names(X)<-letters[1:9]>Xabcdefghi123456789>X[6]f6>X[2:6]bcdef23456>X[-3]abdefghi12456789>X[-(5:9)]abcd1234>X[-c(5,9,2)]acdfgh134678>X[X>5]fghi6789>X[X>5&X<=8]fgh678>X[c("c","g","d")]cgd374>X[X%in%letters[5:13]]namedinteger(0)>X[X%in%5:13]efghi56789>sstr<-c("c","ab","B","bba","c","@","bla","a","Ba","%")>sstr[sstr%in%c(letters,LETTERS)][1]"c""B""c""a"例子R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第37頁。2021/3/1038X[i,j]#下標(biāo)為(i,j)的元素X[i,]#第i列X[,j]#第j列X[,c(1,3)]#第1,3列X[“name”,]#名為”name”的行數(shù)組具有類似的數(shù)據(jù)分割與選取方法矩陣索引練習(xí)2.2熟練掌握數(shù)據(jù)分割與選取的方法R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第38頁。2021/3/1039>X<-matrix(1:12,nrow=3,ncol=4,byrow=T,dimnames=list(c(letters[1:3]),LETTERS[4:7]))>XDEFGa1234b5678c9101112>X[2,3][1]7>X[2,]DEFG5678>X[,4]abc4812>X[,c(1,3)]DFa13b57c911>X["a",]DEFG1234R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第39頁。2021/3/1040九、數(shù)據(jù)列表數(shù)據(jù)列表(list)是一組數(shù)據(jù)元素的集合,這些數(shù)據(jù)元素可以是不同的數(shù)據(jù)結(jié)構(gòu)(dim屬性,數(shù)據(jù)類型等)list()函數(shù)可以組合任意對象R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第40頁。2021/3/1041>FamilyInfo<-list(hostname="joe",wife="rose",no.children=3,child.ages=c(1,3,7))>FamilyInfo$hostname[1]"joe"$wife[1]"rose"$no.children[1]3$child.ages[1]137>FamilyInfo$wife#通過元素的名字來訪問[1]"rose“>FamilyInfo[3]#通過元素的編號來訪問$no.children[1]3>FamilyInfo[[3]][1]3例子R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第41頁。2021/3/1042數(shù)據(jù)列表操作長度擴展>length(FamilyInfo)[1]4>FamilyInfo[5]<-list(address=c("10thF,HongXingBuilding,No.100,JainYeRoad"))>FamilyInfo$hostname[1]"joe"$wife[1]"rose"$no.children[1]3$child.ages[1]137[[5]][1]"10thF,HongXingBuilding,No.100,JainYeRoad"R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第42頁。2021/3/1043數(shù)據(jù)列表合并>FamilyBirthday<-list(hostbirthday="1979/10/08",wifebirthday="1973/07/09")>c(FamilyInfo,FamilyBirthday)->Family#函數(shù)c()可以連接數(shù)據(jù)列表>Family$hostname[1]"joe"$wife[1]"rose"$no.children[1]3$child.ages[1]137[[5]][1]"10thF,HongXingBuilding,No.100,JainYeRoad"$hostbirthday[1]"1979/10/08"$wifebirthday[1]"1973/07/09"R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第43頁。2021/3/1044

數(shù)據(jù)框(dataframe)是一個屬于"data.frame"類的列表。不過,對于可能屬于數(shù)據(jù)框的列表對象有下面一些限制條件,1、分量必須是向量(數(shù)值,字符,邏輯),因子,數(shù)值矩陣,列表或者其他數(shù)據(jù)框;2、矩陣,列表和數(shù)據(jù)框為新的數(shù)據(jù)框提供了盡可能多的變量,因為它們各自擁有列,元素或者變量;3、數(shù)值向量,邏輯值,因子保持原有格式,而字符向量會被強制轉(zhuǎn)換成因子并且它的水平就是向量中出現(xiàn)的獨立值;4、在數(shù)據(jù)框中以變量形式出現(xiàn)的向量結(jié)構(gòu)必須長度一致,矩陣結(jié)構(gòu)必須有一樣的行數(shù).

數(shù)據(jù)框常常會被看作是一個由不同模式和屬性的列構(gòu)成的矩陣。它能以矩陣形式出現(xiàn),行列可以通過矩陣的索引習(xí)慣訪問。十、數(shù)據(jù)框R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第44頁。2021/3/1045創(chuàng)建數(shù)據(jù)框>L3<-LETTERS[1:3]>d<-data.frame(cbind(x=1,y=1:10),fac=sample(L3,10,replace=TRUE))>dxyfac111C212A313B414C515A616B717B818B919B10110A>d[1]x112131415161718191101>d[[1]][1]1111111111>mode(d[1])[1]"list">mode(d[[1]])[1]"numeric"

>length(d[1])[1]1>length(d[[1]])[1]10>d[[2]][3][1]3R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第45頁。2021/3/1046>d<-data.frame(cbind(x=1,y=1:10),+fac=sample(L3,10,replace=TRUE),+HT=sample(c("H","T"),10,replace=T))>dxyfacHT111BT212AH313BH414AT515CT616AT717BH818CT919CH10110AT>rbind(class=sapply(d,class),mode=sapply(d,mode))xyfacHTclass"numeric""numeric""factor""factor"mode"numeric""numeric""numeric""numeric"R語言基本數(shù)據(jù)結(jié)構(gòu)(經(jīng)典)全文共54頁,當(dāng)前為第46頁。2021/3/1047>d<-data.frame(cbind(x=1,y=1:10),fac=I(sample(L3,10,replace=TRUE)),HT=sample(c("H","T"),10,replace=T))>dxyf

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論