版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
示例應(yīng)用一(視頻教程):模擬產(chǎn)生統(tǒng)計(jì)專(zhuān)業(yè)同學(xué)的名單(學(xué)號(hào)區(qū)分),記錄數(shù)學(xué)分析、線性代數(shù)、概率統(tǒng)計(jì)三課成績(jī)第一步:錄入信息num=seq(10378001,10378100)num//產(chǎn)生100個(gè)元素x1=round(runif(100,min=80,max=100))//用runif產(chǎn)生100個(gè)均勻分布(取到每一個(gè)數(shù)值的可能性是相同的)的隨機(jī)數(shù)(帶小數(shù)),round四舍五入,從而組成向量x1x2=round(rnorm(100,mean=80,sd=7))//rnorm產(chǎn)生100個(gè)正態(tài)分布的隨機(jī)數(shù),均值是80,標(biāo)準(zhǔn)差是7x3=round(rnorm(100,mean=83,sd=18))〃同理產(chǎn)生x3,輸出結(jié)果后發(fā)現(xiàn)有些超過(guò)了100分(因?yàn)檎龖B(tài)分布沒(méi)有上下限的概念,只有均值和標(biāo)準(zhǔn)差)x3[which(x3>100)]=100〃把超過(guò)100分的人的成績(jī)變成100,which找出超過(guò)100分的人的下標(biāo),再用下標(biāo)定位到相關(guān)元素并將其改為100第二步:合成數(shù)據(jù)框或用write.table保存到硬盤(pán)中x=data.frame(num,x1,x2,x3)〃用data.frame將4個(gè)變量合成一個(gè)數(shù)據(jù)框x中第三步:進(jìn)行計(jì)算使用mean(),colMeans(),apply()—下章介紹mean(x)[1]NA警告信息:Inmean.default(x):參數(shù)不是數(shù)值也不是邏輯值:回覆NA〃這里不能直接使用mean()函數(shù),只能對(duì)某一變量進(jìn)行求平均值,如mean(x1),mean(x2)等colMeans(x)〃對(duì)列進(jìn)行求均值,colMeans中的M必須大寫(xiě)numx1x2x310378050.5090.4380.3981.66colMeans(x)[c("x1","x2","x3")]//指定顯示某列的均值x1x2x390.4380.3981.66apply(x,2,mean)//apply是對(duì)x這個(gè)數(shù)據(jù)框在行(或列)方向上做指定操作,1代表行方向,2代表列方向,綜上所述,就是在x這個(gè)數(shù)據(jù)框中在列的方向上求平均值numx1x2x310378050.5090.4380.3981.66第四步:使用apply求各科最高最低分apply(x,2,max)numx1x2x31037810010099100apply(x,2,min)numx1x2x310378001806546第五步:使用apply求出每人的總分apply(x[c("x1","x2","x3")],1,sum)〃在行的方向上求和,注意跟colMeans()的異同第六步:which.max找出總分最高的同學(xué)(找下標(biāo))
which.max(apply(x[c("x1","x2","x3")],1,sum))//求出總分最高的那個(gè)人在向量中的下標(biāo)(第74個(gè))[1]74x$num[which.max(apply(x[c("x1","x2","x3")],1,sum))]//把下標(biāo)帶回到x,x$num代表在數(shù)據(jù)框x中取num列,再取下標(biāo)為72的元素,就能確定其學(xué)號(hào)是多少[1]10378074第七步:對(duì)x1進(jìn)行直方圖分析-繪制直方圖函數(shù)hist()hist(x$x1)第八步:探索各科成績(jī)的關(guān)聯(lián)關(guān)系-散點(diǎn)圖繪制函數(shù)plotHtsG^gramof疇sd第九步:列聯(lián)表分析-列聯(lián)函數(shù)table(),柱狀圖繪制函數(shù)barplot()pie(table(x$x1))pie(table(x$x1))table(x$x1)//統(tǒng)計(jì)每個(gè)分?jǐn)?shù)有多少人(眾數(shù))80818283848586878889909192939495969798255536473553682445119910052barplot(table(x$x1))餅圖:
S6,68823981909190SO■10094S6,68823981909190SO■1009495箱線圖:箱子的上下橫線為樣本的25%和75%分位數(shù),中間的橫線為樣本的中位數(shù)上下延伸的直線稱(chēng)為尾線,尾線的盡頭為最高值和最低值boxplot(x$x1,x$x2,x$x3)boxplot(x[2:4],col=c("red","green","blue"),notch=T)#將三種顏色定義為變量,notch決定缺口水平放置的箱尾圖boxplot(x$x1,x$x2,x$x3,horizontal=T)TOC\o"1-5"\h\zR-I{||I"-I—-|||…■!--「IIiii507090*星相圖:R02a莖葉圖:>stem(x$x1)#因x1是由round(runif(100,min=80,max=100))生成出來(lái),所以..為何出現(xiàn)000000?Thedecimalpointisatthe|80|000000082|000000000084|00000000086|0000000000088|0000000090|0000000092|0000000000000094|00000096|00000000098|0000000000000000100|00stem(x$x2)#但x2由round(rnorm(100,mean=80,sd=7))生成出來(lái),就不會(huì)像x1那樣出現(xiàn)000000Thedecimalpointis1digit(s)totherightofthe||5689|0111122222233344444444|5555566777777788888999|0000111111222233344444|555566778888889999|00001223344|9QQ圖:(回歸分析:判斷部分樣本是否服從正太分布)num=seq(10378001,10378100)x1=round(runif(100,min=80,max=100))x2=round(rnorm(100,mean=80,sd=7))x3=round(rnorm(100,mean=83,sd=18))x3[which(x3>100)]=100x=data.frame(num,x1,x2,x3)stem(x$x1)qqnorm(x1)qqline(x1)qqnorm(x2)qqline(x2)qqnorm(x3)qqline(x3)應(yīng)用實(shí)例二:循環(huán)第1步:載入數(shù)據(jù)并查看數(shù)據(jù)類(lèi)型,熟悉變量名>setwd("d:/RBook")>Owls=read.table(file="Owls.txt",header=TRUE)>names(Owls)#查看變量名>str(Owls)#查看數(shù)據(jù)框中每個(gè)變量的屬性第2步:繪制散點(diǎn)圖并添加標(biāo)簽,提取一個(gè)鳥(niǎo)巢的數(shù)據(jù),繪出同胞協(xié)商對(duì)到達(dá)到達(dá)時(shí)間的散點(diǎn)圖>unique(Owls$Nest)#提取一個(gè)鳥(niǎo)巢的數(shù)據(jù)前,先要弄清楚鳥(niǎo)巢的名字,即鳥(niǎo)巢名字的截面分別有哪些Owls.ATV=Owls[Owls$Nest=='AutavauxTV',]#定義一個(gè)名為Owls.ATV的數(shù)據(jù)框,使得該數(shù)據(jù)框中的行是原有數(shù)據(jù)框Owls中Nest向量名為AutavauxTV所在的行Owls.ATV#查看新的數(shù)據(jù)框中的值NestFoodTreatmentSexParentArrivalTimeSiblingNegotiationBroodSizeNegPerChickAutavauxTVDeprivedMale22.25450.8AutavauxTVSatiatedMale22.38050.0:JDOoo?°oooogLOonwcoo0」no>(QLImqu.91.s1062n#為了繪制散點(diǎn)圖,需提取Owls.ATV中ArrivalTime和NegPerChick向量>plot(x=Owls.ATV$ArrivalTime,#提取作為x軸的數(shù)據(jù)(為ArrivalTime)y=Owls.ATV$NegPerChick,#提取作為y軸的數(shù)據(jù)(為NegPerChick」no>(QLImqu.91.s1062n#左圖為變量ArrivalTime即鳥(niǎo)巢中到達(dá)時(shí)間對(duì)每次訪問(wèn)協(xié)商行為NegPerChick的散點(diǎn)圖第3步:設(shè)計(jì)通用代碼同理,對(duì)第二個(gè)截面也就是第二個(gè)鳥(niǎo)巢Bochet作同樣的操作,只需將主標(biāo)題名稱(chēng)、數(shù)據(jù)框名稱(chēng)和實(shí)際的數(shù)據(jù)替換掉就可以了,>Owls.Bot=Owls[Owls$Nest=='Bochet',]°oc□cooo?coccao」no>cLI①q匚.2le405QN>plot(x=Owls.Bot$ArrivalTime,y=Owls.Bot$NegPerChick,xlab="ArrivalTime",ylab="Negotiationbehaviour",main="Bochet")#但是這是一個(gè)繁瑣的操作,通過(guò)設(shè)計(jì)一個(gè)通用的代碼有助于化簡(jiǎn)這種繁瑣的輸入方式并減少出錯(cuò)率,在這里,只需將變動(dòng)的那一部分也就是」no>cLI①q匚.2le405QNNest.i="Bochet"#把要替換的部分定義為一個(gè)變量Owls.i=Owls[Owls$Nest==Nest.i,]#即使換了一個(gè)鳥(niǎo)巢也無(wú)需更改此處的變量>plot(x=Owls.i$ArrivalTime,y=Owls.i$NegPerChick,xlab="ArrivalTime",ylab="Negotiationbehaviour",main=Nest.i)第四步:將其輸出的圖像保存為jpg文件setwd("d:/RBook")Owls=read.table(file="Owls.txt",header=TRUE)Nest.i="Bochet"Owls.i=Owls[Owls$Nest==Nest.i,]YourFileName=paste(Nest.i,".jpg",sep="")#創(chuàng)建一個(gè)文件名,用paste命令來(lái)連接“Bochet”和“jpg”這兩個(gè)字符串,并且之間不加空格,paste命令的輸出就是一個(gè)可以被用來(lái)作為文件名的字符串,可以使用一個(gè)變量來(lái)存儲(chǔ)它并將其應(yīng)用到j(luò)peg命令中,使用YourFileName作為文件名,R就將介于jpeg和dev.off命令之間的繪圖結(jié)果存儲(chǔ)到這個(gè)文件中>jpeg(file=YourFileName)#打開(kāi)一個(gè)jpeg文件>plot(x=Owls.i$ArrivalTime,y=Owls.i$NegPerChick,xlab="ArrivalTime",ylab="Negotiationbehaviour",main=Nest.i)#在這個(gè)文件中繪制圖像dev.off()#將jpeg文件關(guān)閉,只有在完成繪圖工作后才會(huì)生成一個(gè).jpeg文件nulldevice1第五步:使用loop命令構(gòu)造循環(huán)在完成上一步后,仍需將變量名Nest.i更改27次,這將由loop命令完成,在上一步驟的代碼中加入for循環(huán)setwd("d:/RBook")Owls=read.table(file="Owls.txt",header=TRUE)#從Rbook文件夾里讀取數(shù)據(jù)AllNests=unique(Owls$Nest)#使用unique函數(shù)確定Owls中Nest向量中的唯一值,并把這些唯一值存放到一個(gè)新的名為AllNests的向量中作為生成.jpeg文件的文件名for(iin1:27){#在鍵入“{”后回車(chē)再鍵入往下的代碼,光標(biāo)就會(huì)自動(dòng)顯示為+號(hào),表示代碼還沒(méi)結(jié)束繼續(xù)輸入+setwd("d:/RBook/Graphs6.2")#指定所要輸出的文件夾名稱(chēng),這里是Graphs6.2文件夾#這里就不像上面那樣重新定義Nest.i=AllNests[i]來(lái)替代原來(lái)的Nest.i="Bochet"而是直接用AllNests[i]了,令A(yù)llNests[i]與第i個(gè)鳥(niǎo)巢的名字是等價(jià)的+Owls.i=Owls[Owls$Nest==AllNests[il.]#以下代碼在前面的步驟中已討論+YourFileName=paste(AllNests[i].".jpg",sep="")#生成一個(gè)名為YourFileName后加.jpeg的文件+jpeg(file=YourFileName)#打開(kāi)這個(gè).jpeg文件,并作圖+plot(x=Owls.i$ArrivalTime,y=Owls.i$NegPerChick,xlab="ArrivalTime",ylab="Negotiationbehaviour",main=AllNests[i])+dev.off()+}#在Graphs6.2文件夾中就可以得到27個(gè).jpeg文件了G田+dev.off()+}#在Graphs6.2文件夾中就可以得到27個(gè).jpeg文件了G田ph話.2t、.屯凸■電駐r放住MM口。?BBooi■好侃護(hù)初佻Mb汕柑pflLwwjosMumtjpgPdjrreiPBXliyjpv*商*w上阪13榊旳曲俺知EHdblOE.JpQP9&xnei|pQ吹1刪>■ZiaMTBt?話怎?jflE*巨芒哄W£.圉片-5traJVTfc*■JiH齊嗣示例應(yīng)用三:使用ifelse句型來(lái)避免檢查大量的if指令第1步:載入并評(píng)估數(shù)據(jù)>setwd("d:/RBook")>Benthic=read.table(file="RIKZ.txt",header=TRUE)>Species=Benthic[,2:76]#重新選取第2到76列的物種數(shù)據(jù)>n=dim(Species)>n[1]4575#查看數(shù)據(jù)框Spcies的行數(shù)和列數(shù)第2步:每個(gè)站點(diǎn)的生物總量:?jiǎn)渭兘y(tǒng)計(jì)!sum(Species[1,],na.rm=TRUE)[1]143#通過(guò)Spcies[1,]來(lái)獲取第一行的所有列即站點(diǎn)1的全部生物數(shù)量之和為了避免將這個(gè)命令重復(fù)寫(xiě)45遍,因此構(gòu)造一個(gè)循環(huán)來(lái)計(jì)算每個(gè)站點(diǎn)的總數(shù)TA=vector(length=n[1])#必須首先用vecto指令將TA定義為一個(gè)長(zhǎng)度為45的向量,否則TA[i]將會(huì)報(bào)錯(cuò)for(iin1:n[1]){#需確定循環(huán)中的變量i必須在1到45之間,比如TA[46]就是無(wú)定義的+TA[i]=sum(Species[i,],na.rm=TRUE)#像上述那樣獲取每一行的總數(shù)并將其賦值到TA[沖+}TA[1]143527019967944241192211483514738101477384864229[24]04333346746571110235269927850193423011不需要構(gòu)造循環(huán)體,直接使用rowSums命令計(jì)算每一行的和TA=rowSums(Species,na.rm=TRUE)TA#同樣能得到相同的結(jié)果第3步:每個(gè)站點(diǎn)的豐富度(所擁有的物種數(shù)量):判斷+統(tǒng)計(jì)01數(shù)量!由sum(Species[1,],na.rm=TRUE)可以得知某個(gè)站點(diǎn)的全部生物數(shù)量的總和(站點(diǎn)一的所有列相加)現(xiàn)在,想統(tǒng)計(jì)站點(diǎn)1的物種數(shù)量sum(Species[1,]>0,na.rm=TRUE)[1]11#在站點(diǎn)1中有11個(gè)不同的物種sum#Species[1,]>0為一個(gè)判斷型的語(yǔ)句,生成了一個(gè)長(zhǎng)度為75的布爾向量(元素就是T和F),當(dāng)加入“>0”后,函數(shù)不再是統(tǒng)計(jì)站點(diǎn)1所有物種數(shù)量的總和,而是將TRUE轉(zhuǎn)化為1,FALSE轉(zhuǎn)化為0,然后對(duì)其進(jìn)行相加為了計(jì)算每個(gè)站點(diǎn)的豐富度,類(lèi)似地,同樣構(gòu)造一個(gè)循環(huán)sumRichness=vector(length=n[1])for(iin1:n[1]){+Richness[i]=sum(Species[i,]>0,na.rm=TRUE)+}Richness[1]111013111089819176143313314322606541642[32]113435750711302#同樣也可以使用rowSums,同樣能得出相同的結(jié)果Richness=rowSums(Species>0,na.rm=TRUE)Richness第4步:每個(gè)站點(diǎn)的香農(nóng)指數(shù)>RS=rowSums(Species,na.rm=TRUE)#得到每一個(gè)站點(diǎn)的物種數(shù)量>prop=Species/RS#將Species中的每個(gè)元素除以RS并將結(jié)果存儲(chǔ)到prop中>prop#數(shù)據(jù)量較大在此不列出>H=-rowSums(prop*log10(prop),na.rm=TRUE)>H[1]0.761906390.720972240.846735240.530839260.744139390.125131640.401920060.29160667第5步:結(jié)合代碼并將代碼置入到函數(shù)中通過(guò)一個(gè)選擇,把之前的所得到的三種指數(shù)的代碼結(jié)合起來(lái),基于rowSums函數(shù)Index.function=function(Species,choice){#定義一個(gè)可選擇的函數(shù),其中if(choice=="TA"){Index=rowSums(Species,na.rm=TRUE)}if(choice=="Richness"){Index=rowSums(Species>0,na.rm=TRUE)}if(choice=="H"){RS=rowSums(Species,na.rm=TRUE)prop=Species/RSlndex=-rowSums(prop*log10(prop),na.rm=TRUE)}#跟之前的一樣,將三段代碼融到函數(shù)中,并賦到Index中l(wèi)ist(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度租賃合同終止與租賃物處理及收益分配協(xié)議3篇
- 二零二五年度城市綜合體衛(wèi)生間清潔及品牌形象塑造協(xié)議2篇
- 西安理工大學(xué)高科學(xué)院《影視音樂(lè)基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024汽車(chē)烤漆房租賃合同及環(huán)保設(shè)施租賃與維護(hù)協(xié)議3篇
- 2025年度智慧城市基礎(chǔ)設(shè)施建設(shè)合同6篇
- 2024版新能源發(fā)電項(xiàng)目投資與建設(shè)合同
- 二零二五年度板材研發(fā)與生產(chǎn)技術(shù)轉(zhuǎn)移合同2篇
- 二零二五年度大理石礦山開(kāi)采與環(huán)保治理綜合服務(wù)合同3篇
- 二零二五年物聯(lián)網(wǎng)設(shè)備集成技術(shù)服務(wù)協(xié)議
- 天津外國(guó)語(yǔ)大學(xué)濱海外事學(xué)院《物理化學(xué)實(shí)驗(yàn)Ⅱ》2023-2024學(xué)年第一學(xué)期期末試卷
- 鷓鴣山隧道瓦斯地段專(zhuān)項(xiàng)施工方案
- HG∕T 2058.1-2016 搪玻璃溫度計(jì)套
- 九宮數(shù)獨(dú)200題(附答案全)
- 泌尿科一科一品匯報(bào)課件
- 白銅錫電鍍工藝
- 拜耳法氧化鋁生產(chǎn)工藝
- 2024年南京信息職業(yè)技術(shù)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 部編版二年級(jí)下冊(cè)道德與法治第二單元《我們好好玩》全部教案
- 幼兒園利劍護(hù)蕾專(zhuān)項(xiàng)行動(dòng)工作方案總結(jié)與展望
- 合同信息管理方案模板范文
- 2024年大唐云南發(fā)電有限公司招聘筆試參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論