R語(yǔ)言基礎(chǔ)培訓(xùn)第一講R語(yǔ)言入門(mén)_第1頁(yè)
R語(yǔ)言基礎(chǔ)培訓(xùn)第一講R語(yǔ)言入門(mén)_第2頁(yè)
R語(yǔ)言基礎(chǔ)培訓(xùn)第一講R語(yǔ)言入門(mén)_第3頁(yè)
R語(yǔ)言基礎(chǔ)培訓(xùn)第一講R語(yǔ)言入門(mén)_第4頁(yè)
R語(yǔ)言基礎(chǔ)培訓(xùn)第一講R語(yǔ)言入門(mén)_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2什么是R?R是一種統(tǒng)計(jì)繪圖語(yǔ)言,也指實(shí)現(xiàn)該語(yǔ)言的軟件。The R Project for Statistical Computing 3為什么要學(xué)會(huì)R?SPSS(Statistical Package for the Social Sciences)的發(fā)明者諾曼奈伊(Norman Nie)說(shuō): “沒(méi)有什么統(tǒng)計(jì)概念是R不能表現(xiàn)的。5R R簡(jiǎn)簡(jiǎn) 史史 R語(yǔ)言是從語(yǔ)言是從S統(tǒng)計(jì)繪圖語(yǔ)言演變而來(lái),可看作統(tǒng)計(jì)繪圖語(yǔ)言演變而來(lái),可看作S的的方言方言。 S語(yǔ)言上世紀(jì)語(yǔ)言上世紀(jì)70年代誕生于貝爾實(shí)驗(yàn)室,由約翰年代誕生于貝爾實(shí)驗(yàn)室,由約翰錢(qián)伯斯(錢(qián)伯斯(John Chambers)開(kāi)發(fā)。)開(kāi)發(fā)。 基于基于S語(yǔ)

2、言開(kāi)發(fā)的商業(yè)軟件語(yǔ)言開(kāi)發(fā)的商業(yè)軟件Splus,可以方便的編寫(xiě)函數(shù)、建立模型,可以方便的編寫(xiě)函數(shù)、建立模型,具有良好的擴(kuò)展性,在國(guó)外學(xué)術(shù)界應(yīng)用很廣,對(duì)具有良好的擴(kuò)展性,在國(guó)外學(xué)術(shù)界應(yīng)用很廣,對(duì)SPSS 和和 SAS 有力沖擊。有力沖擊。 1995年由新西蘭年由新西蘭Auckland大學(xué)統(tǒng)計(jì)系的羅斯大學(xué)統(tǒng)計(jì)系的羅斯艾卡(艾卡(Ross Ihaka)和)和羅伯特羅伯特簡(jiǎn)特曼(簡(jiǎn)特曼(Robert Gentleman),基于),基于S語(yǔ)言的源代碼,編寫(xiě)了一語(yǔ)言的源代碼,編寫(xiě)了一能執(zhí)行能執(zhí)行S語(yǔ)言的軟件,并將該軟件的源代碼全部公開(kāi),這就是語(yǔ)言的軟件,并將該軟件的源代碼全部公開(kāi),這就是R軟件,其軟件,其命

3、令統(tǒng)稱(chēng)為命令統(tǒng)稱(chēng)為R語(yǔ)言。語(yǔ)言。R 的起源的起源Robert GentlemanRoss Ihaka自自1997年以后,有一個(gè)核心團(tuán)隊(duì),這一團(tuán)隊(duì)能對(duì)年以后,有一個(gè)核心團(tuán)隊(duì),這一團(tuán)隊(duì)能對(duì) R 的源代碼進(jìn)行修改。的源代碼進(jìn)行修改。7多領(lǐng)域的統(tǒng)計(jì)資源多領(lǐng)域的統(tǒng)計(jì)資源 目前在目前在R網(wǎng)站上約有網(wǎng)站上約有8230個(gè)程序包,涵蓋了基礎(chǔ)統(tǒng)計(jì)學(xué)、社會(huì)學(xué)、個(gè)程序包,涵蓋了基礎(chǔ)統(tǒng)計(jì)學(xué)、社會(huì)學(xué)、經(jīng)濟(jì)學(xué)、生態(tài)學(xué)、空間分析、系統(tǒng)發(fā)育分析、生物信息學(xué)等諸多方面。經(jīng)濟(jì)學(xué)、生態(tài)學(xué)、空間分析、系統(tǒng)發(fā)育分析、生物信息學(xué)等諸多方面。免費(fèi)開(kāi)源免費(fèi)開(kāi)源統(tǒng)計(jì)分析能力突出統(tǒng)計(jì)分析能力突出作圖功能強(qiáng)大作圖功能強(qiáng)大拓展與開(kāi)發(fā)能力強(qiáng)拓展與開(kāi)發(fā)能

4、力強(qiáng)8 用戶(hù)需要對(duì)命令熟悉 與代碼打交道,需要記住常用命令。 幫助系統(tǒng)均為英文 占用內(nèi)存 所有的數(shù)據(jù)處理在內(nèi)存中進(jìn)行,不適于處理超大規(guī)模的數(shù)據(jù)。 運(yùn)行速度稍慢 即時(shí)編譯,約相當(dāng)于C語(yǔ)言的1/20。如何學(xué)習(xí)如何學(xué)習(xí)R?R? 熟悉語(yǔ)法熟悉語(yǔ)法 訓(xùn)練思維訓(xùn)練思維 善于求助善于求助 熟能生巧熟能生巧 保持興趣保持興趣10R軟件首頁(yè) / 11WindowsWindows下載和安裝下載和安裝R R下載完成后,雙擊下載完成后,雙擊R-3.2.4-win.exe 開(kāi)始安裝。開(kāi)始安裝。一直點(diǎn)擊下一步,各選項(xiàng)默認(rèn),語(yǔ)言建議選英文。一直點(diǎn)擊下一步,各選項(xiàng)默認(rèn),語(yǔ)言建議選

5、英文。12圖 4 R登陸界面(Windows版)路徑: 開(kāi)始所有程序R 3.2.4菜單欄菜單欄快捷按鈕快捷按鈕控制臺(tái)控制臺(tái)光標(biāo)光標(biāo):等待輸入等待輸入13R圖形界面:圖形界面:RstudioRstudio是是R的圖形界面之一,可以讓的圖形界面之一,可以讓 R 語(yǔ)言代碼更直觀、明了地運(yùn)語(yǔ)言代碼更直觀、明了地運(yùn)行。行。 RStudio 同樣同樣 是是 免費(fèi)免費(fèi) 和和 開(kāi)源開(kāi)源 的的 ,可以在網(wǎng)站上自由下載與使,可以在網(wǎng)站上自由下載與使用(用(http:/ 開(kāi)始安裝。開(kāi)始安裝。RStudio 有以下幾大優(yōu)點(diǎn):有以下幾大優(yōu)點(diǎn): 代碼字體高亮,代碼完整性智能識(shí)別、自動(dòng)縮進(jìn);代碼字體高亮,代碼完整性智能識(shí)別

6、、自動(dòng)縮進(jìn); 可直接執(zhí)行可直接執(zhí)行 R 程序代碼;程序代碼; 可運(yùn)行多個(gè)可運(yùn)行多個(gè) R 程序;程序; 可直接瀏覽工作表和數(shù)據(jù);可直接瀏覽工作表和數(shù)據(jù); 可隨意縮放繪制的圖形,并且有多種輸出格式;可隨意縮放繪制的圖形,并且有多種輸出格式; 整合整合 R 幫助和幫助和 R 使用文檔;使用文檔; 可查看可查看 R 命令的運(yùn)行記錄。命令的運(yùn)行記錄。1517R R程序包(程序包(R PackagesR Packages)程序包是什么?程序包是什么? R程序包是多個(gè)函數(shù)的集合,具有詳細(xì)的說(shuō)明和示例。程序包是多個(gè)函數(shù)的集合,具有詳細(xì)的說(shuō)明和示例。 Window下的下的R程序包是經(jīng)過(guò)編譯的程序包是經(jīng)過(guò)編譯的z

7、ip包。包。每個(gè)程序包包含每個(gè)程序包包含R函數(shù)、數(shù)據(jù)、幫助文件、描述文件等。函數(shù)、數(shù)據(jù)、幫助文件、描述文件等。為什么要安裝程序包?為什么要安裝程序包? R程序包是程序包是R功能擴(kuò)展,特定的分析功能,需要用相應(yīng)的程序包實(shí)現(xiàn)。功能擴(kuò)展,特定的分析功能,需要用相應(yīng)的程序包實(shí)現(xiàn)。 例如:系統(tǒng)發(fā)育分析,常用到例如:系統(tǒng)發(fā)育分析,常用到ape程序包,群落生態(tài)學(xué)程序包,群落生態(tài)學(xué)vegan包等。包等。18install.views(Environmetrics)19三種平臺(tái)上的三種平臺(tái)上的程序包程序包20R R程序包程序包在在CRAN 提供了每個(gè)包的源代碼和編譯好的程序包提供了每個(gè)包的源代碼和編譯好的程序包

8、以以vegan包為例,包為例,CRAN提供了:提供了:Package source: vegan_1.17-2.tar.gz MacOS X binary: vegan_1.17-2.tgz Windows binary: vegan_1.17-2.zip Reference manual: vegan.pdf Window下程序包為下程序包為zip文件,安裝時(shí)不要解壓縮。文件,安裝時(shí)不要解壓縮。211 菜單安裝菜單安裝在聯(lián)網(wǎng)的條件下,按菜單欄在聯(lián)網(wǎng)的條件下,按菜單欄【程序包程序包】下拉選擇下拉選擇【安裝程序包安裝程序包】 ,選,選擇所需的程序包進(jìn)行實(shí)時(shí)安裝;擇所需的程序包進(jìn)行實(shí)時(shí)安裝;2 聯(lián)

9、網(wǎng)命令安裝聯(lián)網(wǎng)命令安裝例如:例如: 要安裝要安裝vegan包包,在控制臺(tái)中輸入在控制臺(tái)中輸入 install.packages(vegan)3 本地安裝本地安裝路徑:路徑:Packagesinstall packages from local files選擇本地磁盤(pán)上存儲(chǔ)選擇本地磁盤(pán)上存儲(chǔ)zip包的文件夾。包的文件夾。4 腳本安裝腳本安裝在聯(lián)網(wǎng)的條件下,請(qǐng)運(yùn)行在聯(lián)網(wǎng)的條件下,請(qǐng)運(yùn)行Rpackages.install.R程序,即可完成本培程序,即可完成本培訓(xùn)所需的程序包安裝。訓(xùn)所需的程序包安裝。22程序包使用與更新程序包使用與更新程序包的中函數(shù),都要先導(dǎo)入,再使用,因此導(dǎo)入程序包是第一步。程序包

10、的中函數(shù),都要先導(dǎo)入,再使用,因此導(dǎo)入程序包是第一步。在控制臺(tái)中輸入如下命令:在控制臺(tái)中輸入如下命令:library(lattice)library(ggplot2)所有程序包的更新所有程序包的更新update.packages()注意:注意:R 命令對(duì)大小寫(xiě)敏感,因此使用命令方式安裝和載入程序包時(shí)命令對(duì)大小寫(xiě)敏感,因此使用命令方式安裝和載入程序包時(shí)應(yīng)特別注意。應(yīng)特別注意。23查看程序包幫助文件查看程序包幫助文件vegan 程序包內(nèi)部都有哪些函數(shù)?分別有什么功能?程序包內(nèi)部都有哪些函數(shù)?分別有什么功能?查詢(xún)程序包內(nèi)容最常用的方法:查詢(xún)程序包內(nèi)容最常用的方法:1 菜單菜單 幫助幫助Html幫助幫

11、助2 查看查看pdf幫助文檔幫助文檔24查看函數(shù)的幫助文件查看函數(shù)的幫助文件函數(shù)的默認(rèn)值是什么?函數(shù)的默認(rèn)值是什么? 怎么使用?怎么使用? 使用時(shí)需要注意什么問(wèn)使用時(shí)需要注意什么問(wèn)題?題? 需要查詢(xún)函數(shù)的幫助。需要查詢(xún)函數(shù)的幫助。1 ?t.test 2 RGuiHelpHtml help3 apropos(t.test)4 help(t.test)5 help.search(t.test)6 查看查看R包包pdf手冊(cè)手冊(cè)2526幫助文件的內(nèi)容幫助文件的內(nèi)容 t.teststats #函數(shù)名及所在包函數(shù)名及所在包 Fitting Linear Models #標(biāo)題標(biāo)題 Description #

12、函數(shù)描述函數(shù)描述 Usage #默認(rèn)選項(xiàng)默認(rèn)選項(xiàng) Arguments #參數(shù)參數(shù) Details #詳情詳情 Author(s) #作者作者 References #參考文獻(xiàn)參考文獻(xiàn) Examples #舉例舉例27練習(xí)一練習(xí)一 安裝安裝R R并導(dǎo)入程序包并導(dǎo)入程序包1. 安裝安裝R和和Rstudio軟件、熟悉菜單軟件、熟悉菜單2. 本地安裝程序包本地安裝程序包: vegan3. 調(diào)用程序包,查看程序包的幫助調(diào)用程序包,查看程序包的幫助library(vegan)查找查找vegan包中包中cca函數(shù)的幫助函數(shù)的幫助輸入輸入 ?cca(試試(試試?cca)將其中的將其中的Example粘貼到控制

13、臺(tái)中,查看運(yùn)行的結(jié)果。粘貼到控制臺(tái)中,查看運(yùn)行的結(jié)果。R數(shù)據(jù)集創(chuàng)建數(shù)據(jù)集創(chuàng)建 數(shù)據(jù)創(chuàng)建數(shù)據(jù)創(chuàng)建 向量,數(shù)組,矩陣,數(shù)據(jù)框,列表,因子向量,數(shù)組,矩陣,數(shù)據(jù)框,列表,因子 數(shù)據(jù)輸入數(shù)據(jù)輸入 scan(),csv文件,文件,excel文件,文件,sas數(shù)據(jù)數(shù)據(jù) 數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ) write.table(), write.csv(), save()向量向量vector 概念:用于存儲(chǔ)數(shù)值型、字符型或邏輯型數(shù)據(jù)的概念:用于存儲(chǔ)數(shù)值型、字符型或邏輯型數(shù)據(jù)的一維數(shù)組。一維數(shù)組。 例子:例子: a - c(1, 2, 5, 3, 6, -2, 4) # 數(shù)值型向量數(shù)值型向量 b - c(one, two,

14、three) # 字符型向量字符型向量 c rep(2:5, 2) # 等價(jià)于等價(jià)于 rep(2:5, times = 2) 1 2 3 4 5 2 3 4 5 rep(2:5, rep(2, 4) 1 2 2 3 3 4 4 5 5 rep(1:3, times = 4, each = 2) 1 1 1 2 2 3 3 1 1 2 2 3 3 1 1 2 2 3 3 1 1 2 2 3 3 paste(c(X,Y), 1:10, sep = -) #不規(guī)則不規(guī)則1 X-1 Y-2 X-3 Y-4 X-5 Y-6 X-7 Y-8 X-9 Y-10 rep(factor(LETTERS1:3),

15、 5) 1 A B C A B C A B C A B C A B C Levels: A B C 向量中元素的訪(fǎng)問(wèn)向量中元素的訪(fǎng)問(wèn)a a3 1 5 # 向量向量 a 中第一、三、五個(gè)數(shù)據(jù)中第一、三、五個(gè)數(shù)據(jù) ac(1, 3, 5) 1 1 5 6 # 向量向量 a 中第二到第六個(gè)數(shù)據(jù)中第二到第六個(gè)數(shù)據(jù) a2:6 1 2 5 3 6 -2 # 向量向量 a 中數(shù)值大于中數(shù)值大于 3 的所有數(shù)據(jù)的所有數(shù)據(jù) aa3 1 5 6 4 # 去掉第一個(gè)值去掉第一個(gè)值 a-1 1 2 5 3 6 -2 4 # 去掉前三個(gè)值去掉前三個(gè)值 a-1:-31 3 6 -2 4 矩陣矩陣matrix概念概念:一個(gè)二

16、維數(shù)組一個(gè)二維數(shù)組#創(chuàng)建一個(gè)創(chuàng)建一個(gè) 22 的矩陣的矩陣 matrix(1:4, nrow = 2, ncol = 2) ,1 ,2 1, 1 3 2, 2 4 # 生成單位陣生成單位陣 diag(3) ,1 ,2 ,3 1, 1 0 0 2, 0 1 0 3, 0 0 1mat1-matrix(1:12,3,4, byrow=T)mat2 x x2,2 # 第二行、第第二行、第 2 列的元素列的元素 1 4 x2, # 第二行的所有元素第二行的所有元素 1 2 4 6 x ,2 # 第第 2 列的所有元素列的所有元素 1 3 4 x2, c(2, 3) # 第二行中第第二行中第 2、3 列的

17、元素列的元素 1 4 6 數(shù)據(jù)框數(shù)據(jù)框data frame使用函數(shù)使用函數(shù) data.frame( )創(chuàng)建:創(chuàng)建: mydata patientID age diabetes status patientdata patientdata1:2 # 第第 1、2 列的所有元素列的所有元素 patientdata$age # $符合用于選取一個(gè)指定的變量。符合用于選取一個(gè)指定的變量。 列表列表list R 數(shù)據(jù)類(lèi)型中最為復(fù)雜的一種數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)類(lèi)型中最為復(fù)雜的一種數(shù)據(jù)結(jié)構(gòu)。列表就是包含任何類(lèi)型的對(duì)象,可以是若干向量、矩陣、數(shù)據(jù)框,甚列表就是包含任何類(lèi)型的對(duì)象,可以是若干向量、矩陣、數(shù)據(jù)框,甚至其他

18、列表的組合。至其他列表的組合。通過(guò)函數(shù)通過(guò)函數(shù) list( )來(lái)創(chuàng)建:來(lái)創(chuàng)建: mylist g h j k mylist province pf pf 1 四川四川 湖南湖南 江蘇江蘇 四川四川 四川四川 四川四川 湖南湖南 江蘇江蘇 湖南湖南 江蘇江蘇 Levels: 湖南湖南 江蘇江蘇 四川四川 數(shù)據(jù)的輸入數(shù)據(jù)的輸入1 鍵盤(pán)輸入鍵盤(pán)輸入mydata - data.frame(age = numeric(0), gender = character(0), weight = numeric(0) ) mydata - edit(mydata) # 輸入或修改輸入或修改 mydata 中的數(shù)

19、據(jù)中的數(shù)據(jù)2 使用使用 scan()函數(shù)函數(shù)mydata - scan( file = ex.data, what = list(, 0, 0 ) #將壓縮型數(shù)據(jù)讀入一個(gè)向量或列表將壓縮型數(shù)據(jù)讀入一個(gè)向量或列表3 導(dǎo)入導(dǎo)入 csv 文件文件mydata2 - read.table( file = D:/dbh.csv, header = T, sep = , ) mydata3 - read.csv( file = D:/dbh.csv, header = T) 4 網(wǎng)絡(luò)中讀取表格或網(wǎng)絡(luò)中讀取表格或csv文件文件tbl-read.csv(http:/ 導(dǎo)入導(dǎo)入 Excel 數(shù)據(jù)數(shù)據(jù)librar

20、y(RODBC)channel - odbcConnectExcel( d:/test.xls )mydata - sqlFetch( channel, Sheet1 )channel2 - odbcConnectExcel2007( d:/test.xlsx )mydata2 - sqlFetch( channel, Sheet1 )6 導(dǎo)入導(dǎo)入 SAS 數(shù)據(jù)數(shù)據(jù)library(foreign)mydata - read.sas( d:/test.ssd )library(Hmisc)data - sas.get( D:/test.ssd )7 導(dǎo)入導(dǎo)入 SPSS 數(shù)據(jù)數(shù)據(jù)library(f

21、oreign)mydata df write.table( df , file = D:/Rdata/fg.txt, s = F, quote = F ) # s = F :不寫(xiě)入行名,不寫(xiě)入行名,quote = F :變量名不用雙引號(hào)。變量名不用雙引號(hào)。(2) 保存為保存為 csv 文件文件 write.csv( df , file = D:/Rdata/fg.csv )(3) 保存為保存為 R 格式文件格式文件 save( df , file = D:/Rdata/fg.Rdata )R數(shù)據(jù)操作數(shù)據(jù)操作變量創(chuàng)建與刪除變量創(chuàng)建與刪除mydata - data.

22、frame( x1 = c(2, 2, 6, 4), x2 = c(3, 4, 2, 8) )# 方法一方法一mydata$sum - mydata$x1 + mydata$x2mydata$mean - (mydata$x1 + mydata$x2)/2# 方法二方法二mydata - transform( mydata, sum = x1 + x2, mean = (x1 + x2)/2 )# 變量刪除變量刪除mydata$ mean - NULL 變量的重命名變量的重命名df - mydata第一種方法:調(diào)用編輯器重命名第一種方法:調(diào)用編輯器重命名fix(df)第二種方法:使用函數(shù)第二種

23、方法:使用函數(shù) names( )重命名重命名names(df)names(df)1:3 - c(A, B, C)缺失值的處理缺失值的處理 缺失值:缺失值:NA (Not Available,不可用,不可用) 不可能出現(xiàn)的值:不可能出現(xiàn)的值:NaN(Not a Number,非數(shù)值,非數(shù)值) 函數(shù)函數(shù) is.na()可檢測(cè)缺失值是否存在。可檢測(cè)缺失值是否存在。例子例子x - c(1:3, 5,7, NA, 9)sum(x) # 結(jié)果為結(jié)果為 NAsum( x, na.rm = T ) # 結(jié)果為結(jié)果為 27數(shù)據(jù)類(lèi)型的轉(zhuǎn)換數(shù)據(jù)類(lèi)型的轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換例子數(shù)據(jù)轉(zhuǎn)換例子Rep - c( 1:6 ) # Re

24、p 賦值賦值is.numeric(Rep) # 數(shù)值型判斷:真數(shù)值型判斷:真is.factor(Rep) # 因子判斷:假因子判斷:假Rep - as.factor(Rep) # 轉(zhuǎn)換為因子轉(zhuǎn)換為因子is.factor(Rep) # 因子判斷:真因子判斷:真數(shù)據(jù)的排序數(shù)據(jù)的排序 R 自帶的自帶的 order( )函數(shù)函數(shù) plyr 程序包的程序包的 arrange( )函數(shù)函數(shù)# 按按 x1,x2先后依次排序先后依次排序# R 自帶的自帶的 order( )排序排序df order(-df$x1,df$x2), #plyr 程序包的程序包的 arrange( )函數(shù)排序函數(shù)排序library(

25、plyr)arrange( df, -x1, x2) 排序例子排序例子# 創(chuàng)建數(shù)據(jù)框創(chuàng)建數(shù)據(jù)框df - data.frame (id = 1:4,weight = c(20, 27, 24, 22),size = c(small, large, medium, large)# id weight size# 1 20 small# 2 27 large# 3 24 medium# 4 22 large# R 自帶的自帶的 order( )函數(shù)函數(shù)dforder(df$weight), dforder(df$size,df$weight), dforder(df$size,-df$weight)

26、, # plyr 包的包的 arrange( )函數(shù)函數(shù)library(plyr)arrange(df, weight)arrange(df, size, weight)arrange(df, size, -weight)排序例子排序例子(非同一數(shù)據(jù)框)非同一數(shù)據(jù)框)有兩列數(shù)據(jù)在一個(gè)數(shù)據(jù)框有兩列數(shù)據(jù)在一個(gè)數(shù)據(jù)框dataA B1 小明小明2 小王小王3 小李小李4 小張小張現(xiàn)輸入一列數(shù)現(xiàn)輸入一列數(shù)gg2143要求顯示出要求顯示出A B2 小王小王1 小明小明4 小張小張3 小李小李答案:答案:dataorder(gg),數(shù)據(jù)集的合并數(shù)據(jù)集的合并 列合并列合并# 共有變量共有變量: IDtotal

27、 - merge(dataA, dataB, by = ID) #解釋見(jiàn)代碼解釋見(jiàn)代碼# 共有變量共有變量: ID、Countrytotal - merge(dataA, dataB, by = c(ID, Country)#含有一樣的行數(shù),而且以相同順序排序。含有一樣的行數(shù),而且以相同順序排序。total - cbind(dataA, dataB)列合并例子列合并例子# 創(chuàng)建數(shù)據(jù)框創(chuàng)建數(shù)據(jù)框 dataAdataA - read.table( header = T, text = storyid title1 lions2 tigers3 bears)# 創(chuàng)建數(shù)據(jù)框創(chuàng)建數(shù)據(jù)框 dataBdat

28、aB - read.table( header = T, text = subject storyid rating1 1 6.71 2 4.52 2 3.32 1 5.2)# 合并數(shù)據(jù)框合并數(shù)據(jù)框 dataA, dataBmerge(dataA, dataB, storyid)# 將將 dataA 的的 stroyid 重命名為重命名為 idcolnames(dataA)1 - c(Id)merge(x = dataA, y = dataB, by.x = id, by.y = storyid) 現(xiàn)在有某一地區(qū)的植物名錄表格現(xiàn)在有某一地區(qū)的植物名錄表格gao.csv, 表格內(nèi)只有兩列,表格內(nèi)

29、只有兩列,分別為分別為中文名中文名和和name , 現(xiàn)在有中國(guó)現(xiàn)在有中國(guó)IUCN植物紅色名植物紅色名錄數(shù)據(jù)庫(kù)表格錄數(shù)據(jù)庫(kù)表格chinaIUCN.csv(表格內(nèi)只有兩列,分別為瀕(表格內(nèi)只有兩列,分別為瀕危等級(jí)危等級(jí)level和和species )。我們需要通過(guò)匹配兩個(gè)表格獲。我們需要通過(guò)匹配兩個(gè)表格獲得該地區(qū)植物的得該地區(qū)植物的IUCN評(píng)估等級(jí)表。評(píng)估等級(jí)表。aa - read.csv(chinaIUCN.csv)sp - read.csv(gao.csv)bb - merge(aa, sp, by.x = species, by.y =name, all.y = T) head(bb)wri

30、te.csv(bb,gaoIUCN.csv)列合并的案例分析列合并的案例分析行合并行合并 total - rbind(dataA, dataB) 注意:注意:dataA 與與 dataB 需含有一樣的變量,需含有一樣的變量,但排列的順序可以不同。但排列的順序可以不同。行合并例子行合并例子dfA - data.frame( Subject = c(1, 1, 2, 2), Response = c(X, X, X, X) )dfB - data.frame( Subject = c(1, 2, 3), Response = c(Z, Y, Z) )df - rbind(dfA, dfB)dfA$

31、Coder - AdfB$Coder - Bdf - rbind(dfA, dfB)數(shù)據(jù)子集的提取數(shù)據(jù)子集的提取 3.7.1 根據(jù)位置選取子集根據(jù)位置選取子集使用方法如下:使用方法如下:dfm1, 表示返回第表示返回第 m1 行的數(shù)據(jù)行的數(shù)據(jù)dfc(m1,m2,. ,mj), 表示返回由第表示返回由第 m1,m2,.mj 行組成的數(shù)據(jù)框行組成的數(shù)據(jù)框df ,n1 表示返回第表示返回第 n1 列的數(shù)據(jù)列的數(shù)據(jù)df ,c(n1,n2,. ,nk) 表示返回由第表示返回由第 n1,n2,.nk 列組成的數(shù)據(jù)框列組成的數(shù)據(jù)框例子例子# 創(chuàng)建數(shù)據(jù)框創(chuàng)建數(shù)據(jù)框df - read.table( header = T, te

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論