![[贊]R語(yǔ)言教程筆記-入門(mén)級(jí)2--知其然_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/c4e30e61-78e5-46ce-aada-1867e915eefd/c4e30e61-78e5-46ce-aada-1867e915eefd1.gif)
![[贊]R語(yǔ)言教程筆記-入門(mén)級(jí)2--知其然_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/c4e30e61-78e5-46ce-aada-1867e915eefd/c4e30e61-78e5-46ce-aada-1867e915eefd2.gif)
![[贊]R語(yǔ)言教程筆記-入門(mén)級(jí)2--知其然_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/c4e30e61-78e5-46ce-aada-1867e915eefd/c4e30e61-78e5-46ce-aada-1867e915eefd3.gif)
![[贊]R語(yǔ)言教程筆記-入門(mén)級(jí)2--知其然_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/c4e30e61-78e5-46ce-aada-1867e915eefd/c4e30e61-78e5-46ce-aada-1867e915eefd4.gif)
![[贊]R語(yǔ)言教程筆記-入門(mén)級(jí)2--知其然_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/6/c4e30e61-78e5-46ce-aada-1867e915eefd/c4e30e61-78e5-46ce-aada-1867e915eefd5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、R編程筆記2一、 簡(jiǎn)介1. 突出特點(diǎn):【多領(lǐng)域的統(tǒng)計(jì)資源】目前在R網(wǎng)站上約有2400個(gè)程序包,涵蓋了基礎(chǔ)統(tǒng)計(jì)學(xué)、社會(huì)學(xué)、經(jīng)濟(jì)學(xué)、生態(tài)學(xué)、空間分析、系統(tǒng)發(fā)育分析、生物信息學(xué)等諸多方面?!久赓M(fèi)】2. 缺點(diǎn):【占用內(nèi)存】所有的數(shù)據(jù)處理在內(nèi)存中進(jìn)行,不適于處理超大規(guī)模的數(shù)據(jù)?!具\(yùn)行速度稍慢】即時(shí)編譯,約相當(dāng)于C語(yǔ)言的1/20。3. CRAN :全稱The Comprehensive R Archive Network。由世界幾十個(gè)鏡像網(wǎng)站組成網(wǎng)絡(luò),提供下載安裝程序和相應(yīng)軟件包。各鏡像更新頻率一般為1-2天。推薦鏡像: 中國(guó)的鏡像:數(shù)學(xué)所:/mirrors/CRAN/
2、即時(shí)更新的CRAN源:/界面下如下(版本 R2.11.1)4. R程序包 (R packages)4.1 什么是R程序包R程序包是多個(gè)函數(shù)的集合,具有詳細(xì)的說(shuō)明和示例。每個(gè)程序包包含R函數(shù)、數(shù)據(jù)、幫助文件、描述文件等,window下是zip形式,安裝時(shí)不要解壓縮。R程序包是R功能擴(kuò)展,特定的分析功能,需要用相應(yīng)的程序包實(shí)現(xiàn)。例如:系統(tǒng)發(fā)育分析,常用到ape程序包,群落生態(tài)學(xué)vegan包等。4.2 常用R程序包ade4 利用歐幾里得方法進(jìn)行生態(tài)學(xué)數(shù)據(jù)分析adephylo系統(tǒng)進(jìn)化數(shù)據(jù)挖掘與比較方法ape 系統(tǒng)發(fā)育與進(jìn)化分析apTreeshape進(jìn)化樹(shù)
3、分析boot Bootstrap檢驗(yàn)cluster聚類分析ecodist生態(tài)學(xué)數(shù)據(jù)相異性分析FD 功能多樣性分析geiger物種形成速率與進(jìn)化分析Graphics繪圖lattice柵格圖maptools空間對(duì)象的讀取和處理mefa 生態(tài)學(xué)和生物地理學(xué)多元數(shù)據(jù)處理mgcv 廣義加性模型相關(guān)mvpart多變量分解nlme 線性及非線性混合效應(yīng)模型ouch 系統(tǒng)發(fā)育比較pgirmess生態(tài)學(xué)數(shù)據(jù)分析phangorn系統(tǒng)發(fā)育分析picante群落系統(tǒng)發(fā)育多樣性分析raster柵格數(shù)據(jù)分析與處理seqinrDNA序列分析sp 空間數(shù)據(jù)處理spatstat空間點(diǎn)格局分析,模型擬合與檢驗(yàn)splancs空間與
4、時(shí)空點(diǎn)格局分析stats R統(tǒng)計(jì)學(xué)包SDMTools物種分布模型工具vegan 植物與植物群落的排序,生物多樣性計(jì)算CRAN Task Views 中有對(duì)程序包的分類介紹 4.3 R程序包安裝1 用函數(shù) install.packages(),如果已經(jīng)連接到互聯(lián)網(wǎng),在括號(hào)中輸入要安裝的程序包名稱,選擇鏡像后,程序?qū)⒆詣?dòng)下載并安裝程序包。例如: 要安裝picante包,在控制臺(tái)中輸入 install.packages("picante")2 安裝本地zip包路徑:Packages>install packages from local files選擇本地磁盤(pán)上存儲(chǔ)zip包
5、的文件夾。4.4 程序包導(dǎo)入及使用程序包的中函數(shù),都要先導(dǎo)入,再使用導(dǎo)入:library(vegan) 包中函數(shù)使用方法同R自帶的函數(shù)使用方法一樣。4.5 查看幫助文件1>查詢程序包內(nèi)容:1 菜單 幫助>Html幫助2 查看pdf幫助文檔2>查詢函數(shù)使用介紹:1 ?t.test 2 RGui>Help>Html help3 apropos("t.test") 4 help("t.test")5 help.search("t.test") 6 查看R包pdf手冊(cè)3>解讀幫助文件:lmstats #函數(shù)
6、名及所在包 Fitting Linear Models #標(biāo)題Description #函數(shù)描述Usage #默認(rèn)選項(xiàng)Arguments #參數(shù)Details #詳情Author(s) #作者References #參考文獻(xiàn)Examples #舉例例:幫助>R函數(shù)幫助(文本)>彈出>點(diǎn)“確定”后彈出下面網(wǎng)頁(yè)或錄入 二、 函數(shù)與對(duì)象1. R函數(shù)1.1 函數(shù)形式 R是一種解釋性語(yǔ)言,輸入后可直接給出結(jié)果。功能靠函數(shù)實(shí)現(xiàn)。函數(shù)名(輸入數(shù)據(jù),參數(shù)= )例:平均值 mean(x, trim = 0, na.rm = FALSE, .) 線性模型 lm(yx, data=test)1.2
7、 函數(shù)種類低級(jí) VS 高級(jí)(泛函) Help>Html help>packageslog() log10() exp() sin() cos() tan() asin() acos()binom.test()fisher.test()chisq.test()glm(y x1+x2+x3, binomial)friedman.test()常用統(tǒng)計(jì)函數(shù)如下:返回值返回序號(hào)舉例:箱線圖繪制函數(shù)的調(diào)用boxplot(daytype, data=bac, col="red", xlab="Virus", ylab="days")da
8、ytype, 以type為橫軸,day為縱軸繪制箱線圖。(type,day都是向量對(duì)象(后面會(huì)介紹)data=bac 數(shù)據(jù)來(lái)源bac (bac 為數(shù)據(jù)框?qū)ο螅ヽol=“red” 箱線圖為紅色xlab=“Virus” 橫軸名稱為Virusylab=“days” 縱軸名稱為days2. 對(duì)象R處理的所有數(shù)據(jù)、變量、函數(shù)和結(jié)果都以對(duì)象的形式保存2.1 命名規(guī)則1. 區(qū)分大小寫(xiě),注意China和china的不同。2. 不能用數(shù)字作為變量,對(duì)象也不能用數(shù)字開(kāi)頭,但是數(shù)字可以放在中間或結(jié)尾,如2result與result2,后者是合法的。3. 建議不要用過(guò)短的名稱??梢杂谩?”作為間隔,例如 anova.
9、result1。4. 不要使用保留名:NA, NaN, pi, LETTERS, letters, month.abb, 2.2 元素類型(存儲(chǔ)類型)對(duì)象是由各元素組成的。每個(gè)元素,都有自己的數(shù)據(jù)類型數(shù)值型 Numeric 如 100, 0, -4.335字符型 Character 如 “China”邏輯型 Logical 如TRUE, FALSE因子型 Factor 表示不同類別復(fù)數(shù)型 Complex 如:2 + 3i2.3 對(duì)象類型(結(jié)構(gòu)化數(shù)據(jù))向量(vector) 一系列元素的組合。如 c(1,2,3); c("a","a",&
10、quot;b","b","c")因子(factor) 因子是一個(gè)分類變量c("a","a","b","b","c")矩陣(matrix) 二維的數(shù)據(jù)表,是數(shù)組的一個(gè)特例x <- 1:12 ; dim(x) <- c(3,4) ,1 ,2 ,3 ,41, 1 4 7 102, 2 5 8 113, 3 6 9 12數(shù)組(array) 數(shù)組是k維的數(shù)據(jù)表(k in 1:n, n 為正整數(shù))。向量(n = 1) 矩陣(n = 2) 高維數(shù)組
11、(n >= 3) 數(shù)據(jù)框(dataframe) 是由一個(gè)或幾個(gè)向量和(或)因子構(gòu)成,它們必須是等長(zhǎng)的,但可以是不同的數(shù)據(jù)類型。列表(list) 列表可以包含任何類型的對(duì)象。 可以包含向量、矩陣、高維數(shù)組,也可以包含列表2.4 運(yùn)算符數(shù)學(xué)運(yùn)算 運(yùn)算后給出數(shù)值結(jié)果+, -, *, /, (冪)比較運(yùn)算 運(yùn)算后給出判別結(jié)果(TRUE FALSE)>, <, <=, >=, =, !=邏輯運(yùn)算 與、或、非!, &, &&, |, |2.5 數(shù)據(jù)表每個(gè)數(shù)據(jù)表可以看作一個(gè)數(shù)據(jù)框(dataframe),由很多不同類型的向量組成,如字符型,因子型,數(shù)值型,
12、每一列(column)作為一個(gè)向量(vector),每一行(row)作為一個(gè)記錄(entry)。如何生成數(shù)據(jù)框?(1) 從外部數(shù)據(jù)讀取test.data <- read.csv("D:/R/test2.csv",header=T) header=T 表示用第一行為列標(biāo)題read.table(file=file.choose(),header=T) 可以彈出對(duì)話框,選擇文件。數(shù)據(jù)量較大時(shí)用read.table函數(shù)從外部txt文件讀?。篸ata1<-read.table("d:/t.test.data.txt",header=T)(2) 各類型因
13、子組合成數(shù)據(jù)框見(jiàn)后2.6.3,數(shù)據(jù)框創(chuàng)建舉例: 外部讀入數(shù)據(jù)后進(jìn)行方差分析bac<-read.table("d:/anova.data.txt",header=T) #將ba數(shù)據(jù)框中的type轉(zhuǎn)換為因子(factor)=有分類的作用bac$type<-as.factor(bac$type) ba.an<-aov(lm(daytype, data=bac) summary(ba.an) boxplot(daytype,data=bac,col="red")2.6 對(duì)象的創(chuàng)建2.6.1 向量(1)生成向量的函數(shù) c() , rep() ,
14、seq() , “:”c(2,5,6,9) #自定義的向量rep(2,times=4) # 重復(fù)型向量seq(from=3, to=21, by=3 ) #等距數(shù)值型向量 1 3 6 9 12 15 18 211:15 #連續(xù)型數(shù)值向量 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15通過(guò)與向量的組合,產(chǎn)生更為復(fù)雜的向量。rep(1:2,c(10,15) #數(shù)值1重復(fù)10次,數(shù)值2重復(fù)15次rep(1:5,1:5) #數(shù)值1至5按順序分別重復(fù)1:5次注意:除了生成數(shù)值型向量,還可以生成字符型(abc),邏輯型(T,F)和復(fù)數(shù)型(a+bi)向量。(2)隨機(jī)數(shù)向量 run
15、if(10, min = 0, max= 1) #均勻分布隨機(jī)數(shù)rnorm(10, mean = 0, sd = 1)# 正太分布隨機(jī)數(shù)幾個(gè)隨機(jī)數(shù)的相關(guān)函數(shù)概率密度 dunif(x, min=0, max=1, log = FALSE) 累積函數(shù) punif(q, min=0, max=1, )分位數(shù) qunif(p, min=0, max=1, ) 隨機(jī)均勻分布 runif(n, min=0, max=1)2.6.2 矩陣dim() 和matrix() 為生成矩陣的函數(shù),其中dim() 定義矩陣的行列數(shù),舉例:(1)x <- 1:12dim(x) <- c(3,4) ,1 ,2
16、,3 ,4 1, 1 4 7 10 2, 2 5 8 11 3, 3 6 9 12(2)matrix.x <- matrix(1:12,nrow=3,byrow=T)t(x) #轉(zhuǎn)置 s() s #為行或列添加名稱2.6.3 數(shù)據(jù)框cbind() # 按列組合成數(shù)據(jù)框rbind() # 按行組合成數(shù)據(jù)框data.frame() #生成數(shù)據(jù)框head() #默認(rèn)訪問(wèn)數(shù)據(jù)的前6行例子:2.6.4 列表列表可以是不同類型甚至不同長(zhǎng)度的向量(數(shù)值型,邏輯型,字符型等等)、數(shù)據(jù)框甚至列表的組合。list()例如:list(character,numeric,logi
17、cal,matrix.x)2.7 類的判斷和轉(zhuǎn)換2.7.1 判斷 (is)對(duì)象類型判斷mode() 判斷存儲(chǔ)的類型class() 判斷數(shù)據(jù)的類根據(jù)數(shù)據(jù)的類,采用相應(yīng)的處理方法。以下函數(shù),主要用在函數(shù)處理異常時(shí)使用,目的是增強(qiáng)程序的穩(wěn)健性。is.numeric() #返回值為T(mén)RUE或FALSEis.logical() #是否為邏輯值is.charactor() #是否為字符串is.null() #是否為空is.na() #是否為na2.7.2 轉(zhuǎn)換(as)as.numeric() #轉(zhuǎn)換為數(shù)值型as.logical() #轉(zhuǎn)換為邏輯型as.charactor() #轉(zhuǎn)換為字符串a(chǎn)s.matri
18、x() #轉(zhuǎn)換為矩陣as.data.frame() #轉(zhuǎn)換為數(shù)據(jù)框as.factor() #轉(zhuǎn)換為因子2.8 元素引用2.8.1 向量?jī)?nèi)其中 x2 - c(1,3,5)表示去除向量中第1,3,5個(gè)元素以一個(gè)向量作為元素引用的參數(shù)2.8.2 矩陣/數(shù)據(jù)框內(nèi)矩陣和數(shù)據(jù)庫(kù)都是二維的,元素引用方式類似分別對(duì)矩陣提取第一列元素、第二列元素、第2行第1列的元素 注意 數(shù)據(jù)框的不同列有列名稱的 對(duì)整列的引用使用“$”可表示為intake <- data.frame(intake.pre, intake.post) #組合生成一個(gè)數(shù)據(jù)框intake$intake.pre #引用名為intake.pre的
19、列2.8.3 列表內(nèi)列表內(nèi)元素的引用可以用”如 list1c(1,2,3)2.9 數(shù)據(jù)框內(nèi)部元素訪問(wèn)attach(datafram) #綁定當(dāng)前區(qū)域?yàn)閿?shù)據(jù)框datafram內(nèi),則無(wú)需使用$符號(hào),即可直接引用框內(nèi)的列名x=colum1 y=colum2z=colum3 .n=column. #在需要大量訪問(wèn)調(diào)用的情況下可用明顯提高效率detach(datafram) #解除綁定 在函數(shù)內(nèi)部,對(duì)數(shù)據(jù)進(jìn)行相應(yīng)調(diào)整 with() #with函數(shù)內(nèi)部形成一個(gè)空間,在這個(gè)空間中,函數(shù)可以對(duì)列訪問(wèn)。within()transform() # 數(shù)據(jù)的轉(zhuǎn)換,如取logsubset() #取數(shù)據(jù)的子集apply(
20、) #對(duì)數(shù)據(jù)表或矩陣應(yīng)用某個(gè)函數(shù),可減少循環(huán)2.10 條件篩選原理:條件篩選是先對(duì)變量否滿足條件進(jìn)行判斷,滿足為T(mén)RUE,不滿足為FALSE。之后再用邏輯值對(duì)向量?jī)?nèi)的元素進(jìn)行篩選。2.11 其他(1)工作空間 imageR的所有對(duì)象都在計(jì)算機(jī)內(nèi)存的工作空間中。ls() 列出工作空間中的對(duì)象rm() 刪除工作空間中的對(duì)象rm(list=ls() 刪除空間中所有對(duì)象save.image(“weizhi”) 保存工作鏡像load(“weizhi”) 提取sink() 將運(yùn)行結(jié)果保存到指定文件中g(shù)etwd() 顯示當(dāng)前工作文件夾/工作目錄setwd() 設(shè)定工作文件夾/工作目錄可將結(jié)果保存在image
21、中,形式為.Rdata文件,里面保存了R當(dāng)前工作空間中的各種對(duì)象,包括函數(shù)。舉例 設(shè)置工作目錄、保存工作空間、查看工作目錄/(2)歷史數(shù)據(jù) history輸入的命令,在R中作為歷史history保存,可輸入函數(shù)history() # 查看輸入歷史history(Inf) # 查看打開(kāi)R之后所有的輸入可用向上或向下的箭頭切換輸入的行。三、 腳本編輯 scripting3.1定義:腳本語(yǔ)言(scripting language)又稱動(dòng)態(tài)語(yǔ)言,是依靠解釋器完成相應(yīng)的功能的一類計(jì)算機(jī)語(yǔ)言,通常以ASCII碼的文本格式保存源程序3.2 特點(diǎn)腳本語(yǔ)言語(yǔ)法和結(jié)構(gòu)通常比較簡(jiǎn)單,不需要編譯,通過(guò)解釋器對(duì)腳本進(jìn)行
22、解釋,從而給出結(jié)果,能用簡(jiǎn)單的代碼完成復(fù)雜的功能,但是速度較慢。3.3比較很多計(jì)算機(jī)語(yǔ)言都有IDE (integrated development environment),即集成開(kāi)發(fā)環(huán)境。但是R通常無(wú)需集成開(kāi)發(fā)環(huán)境,腳本在一般的文本編輯器里即可編輯。在代碼較多的情況下,常需要對(duì)行數(shù)、函數(shù)、括號(hào)、函數(shù)選項(xiàng)等進(jìn)行高亮顯示,設(shè)置成不同的顏色,以減少錯(cuò)誤的發(fā)生。3.4 編輯器種類R自帶的腳本編輯器 Editplus ( ) TinnR (/Tinn-R/ ) Ultraedit ( ) Emacs (/software/emacs/ ) Notepad+ 與NpptoR組合(http:/notepad- ) 記事本或?qū)懽职?等等3.5運(yùn)行腳本1 通過(guò)source()函數(shù)運(yùn)行source("d:/regression.r") =source(“文件位置”)2 通過(guò)R腳本編輯器運(yùn)行路徑:RGui>File>Open Script #Ctrl+R運(yùn)行3 直接粘貼到R控制臺(tái)ctrl+c, ctrl+v第三種最為簡(jiǎn)單直接務(wù)必要加后綴名??!四、 繪圖4.1功
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蕭山區(qū)無(wú)線門(mén)禁管理辦法
- 薪酬管理辦法整改通知書(shū)
- 蜀山區(qū)財(cái)稅費(fèi)用管理辦法
- 衡水市人防車位管理辦法
- 醫(yī)療保障政策解讀課件
- 裝修公司管理層管理辦法
- 西安城中村環(huán)境管理辦法
- 計(jì)算機(jī)使用管理辦法制度
- 證監(jiān)會(huì)不良資產(chǎn)管理辦法
- 調(diào)研類費(fèi)用管理辦法包括
- 腸梗阻導(dǎo)管在臨床中的使用及護(hù)理注意事項(xiàng)課件
- 2024-2030年陜西省天然氣行業(yè)市場(chǎng)現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評(píng)估規(guī)劃分析研究報(bào)告
- 項(xiàng)目管理培訓(xùn)課件(完整版)課件
- 新版高中物理必做實(shí)驗(yàn)?zāi)夸浖捌鞑?(電子版)
- 【心臟介入診療術(shù)后并發(fā)癥的觀察與護(hù)理探究進(jìn)展文獻(xiàn)綜述5000字】
- 寧夏回族自治區(qū)寧夏吳忠市利通區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末數(shù)學(xué)試卷
- 透析患者急性左心衰的個(gè)案護(hù)理(精制手工圖文)
- 環(huán)氧樹(shù)脂的高效合成方法
- (高清版)JTGT D81-2017 公路交通安全設(shè)施設(shè)計(jì)細(xì)則
- 2024-2030年中國(guó)航天爐行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
- HYT 215-2017 近岸海域海洋生物多樣性評(píng)價(jià)技術(shù)指南
評(píng)論
0/150
提交評(píng)論