資源描述:
《統(tǒng)計(jì)建模與R語(yǔ)言mathth》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、R的語(yǔ)法與數(shù)據(jù)結(jié)構(gòu)語(yǔ)法符號(hào)>命令或運(yùn)算提示符+續(xù)行符基本算術(shù)運(yùn)算+加號(hào)-減號(hào)*乘號(hào)/除號(hào)^乘方賦值符=或<-7/24/20211求助符?help()例子:>3+5>3-5>3/5>3^5>x=5>?plot>help(plot)7/24/20212向量向量是R中最為基本的類型一個(gè)向量中元素的類型必須相同,包括數(shù)值型整型單精度實(shí)型雙精度實(shí)型邏輯型復(fù)值型字符型7/24/20213建立向量的方法(函數(shù))seq()或:若向量(序列)具有較為簡(jiǎn)單的規(guī)律rep()若向量(序列)具有較為復(fù)雜的規(guī)律c()若向量(序列)沒有什么規(guī)律例子:>1:10>seq(1,10,by=0.5)>seq
2、(1,10,length=21)>rep(2:5,2)>rep(2:5,rep(2,4))>x=c(42,7,64,9)>length(x)7/24/20214向量運(yùn)算中的循環(huán)法則(recyclingrule)>1:2+1:4>1:4+1:77/24/20215向量的下標(biāo)(index)與向量子集(元素)的提取正的下標(biāo)提取向量中對(duì)應(yīng)的元素負(fù)的下標(biāo)去掉向量中對(duì)應(yīng)的元素邏輯運(yùn)算提出向量中元素的值滿足條件的元素注:R中向量的下標(biāo)從1開始,這與通常的統(tǒng)計(jì)或數(shù)學(xué)軟件一致而象C語(yǔ)言等計(jì)算機(jī)高級(jí)語(yǔ)言的向量下標(biāo)則從0開始!例子:>x=c(42,7,64,9)>x[1]>x[-2]>x[c(
3、1,4)]7/24/20216>x>10#值大于10的元素邏輯值[1]TRUEFALSETRUEFALSE>x[x>10]#值大于10的元素[1]4264>x[x<40&x>10]>#產(chǎn)生(0,1)上100個(gè)均勻分布隨機(jī)數(shù)>y=runif(100,min=0,max=1)>sum(y<0.5)#值小于0.5的元素的個(gè)數(shù)[1]47>sum(y[y<0.5])#值小于0.5的元素的值的和[1]10.847677/24/20217數(shù)據(jù)框架(dataframe)許多數(shù)據(jù)集是數(shù)據(jù)框架的形式出現(xiàn)一個(gè)數(shù)據(jù)框架就是將許多向量組合起來(lái)的一個(gè)對(duì)象,它是二維的,通常其列表示變量,其行表示觀測(cè)。
4、建立數(shù)據(jù)框架的方法(函數(shù))若你的數(shù)據(jù)本身保存在一個(gè)文件中,則可以使用read.table()僅接受帶有分界符的ASCII數(shù)據(jù)如果數(shù)據(jù)是電子報(bào)表的形式,則采用下面的兩種變型read.csv()先將數(shù)據(jù)另存為帶逗號(hào)的數(shù)據(jù)(CommaSeperatedvalues)read.delim()先將數(shù)據(jù)另存為用tab作為分界符的數(shù)據(jù)注:若數(shù)據(jù)集很大(如1,000,000觀測(cè)x200變量),則可由ODBC聯(lián)接由數(shù)據(jù)庫(kù)讀入.7/24/20218若你在R中建立了一些向量并試圖想由它們生成框架,則可以使用data.frame(),但需要同時(shí)cbind().例子:>x=c(42,7,64,9)
5、>y=1:4>z.df=data.frame(cbind(INDEX=y,VALUE=x))>z.dfINDEXVALUE11422273364449注?.df只是為了提醒自己z.df是一個(gè)數(shù)據(jù)框架?INDEX和VALUE是重新命名的向量名字7/24/20219數(shù)據(jù)框架子集的提出取格式foo[row,column]其中foo數(shù)據(jù)框架的名稱row需要提出取的行號(hào)column需要提出取的行號(hào)例子(續(xù)上一例)>z.df[1,]#提取第一個(gè)觀測(cè)(第一行)INDEXVALUE1142>z.df[,1]#提取第一列(第一個(gè)變量的值)[1]1234>z.df[2,1]#提取第二行第一列
6、的元素[1]27/24/202110列表(list)復(fù)雜的數(shù)據(jù)分析時(shí),僅有向量與數(shù)據(jù)框架還不夠有時(shí)需要生成包含不同類型的對(duì)象R的列表(list)就是包含任何類型的對(duì)象例子:>foo=list(x=1:6,y=matrix(1:4,nrow=2))>foo$x[1]123456$y[,1][,2][1,]13[2,]247/24/202111列表子集的提出取提取一個(gè)子對(duì)象如foo的x,下面三種方式等價(jià)>foo$x>foo[1]>foo[[1]]例子>foo$y>foo[2]>foo[[2]]>foo[[1]][2]>foo$y[2]>foo$y[4]7/24/202112
7、條件語(yǔ)句作用:避免除零或負(fù)數(shù)的對(duì)數(shù)等數(shù)學(xué)問(wèn)題形式1:if(條件)表達(dá)式1else表達(dá)式2形式2–常優(yōu)于形式1!ifelse(條件,yes,no)試比較下面的三個(gè)結(jié)果:>x=c(6:-4)>sqrt(ifelse(x>=0,x,NA))>ifelse(x>=0,sqrt(x),NA)>if(x>=0)sqrt(x)elseNA7/24/202113循環(huán)(loops)for()#若知道終止條件for(變量in向量)表達(dá)式while()#若無(wú)法知道運(yùn)行次數(shù)while(條件)表達(dá)式兩者通??梢赞D(zhuǎn)換例1—試比較兩種方法>for(iin1