《R語(yǔ)言基礎(chǔ)》PPT課件

上傳人:san****019 文檔編號(hào):16510045 上傳時(shí)間:2020-10-04 格式:PPT 頁(yè)數(shù):127 大小:1.19MB
收藏 版權(quán)申訴 舉報(bào) 下載
《R語(yǔ)言基礎(chǔ)》PPT課件_第1頁(yè)
第1頁(yè) / 共127頁(yè)
《R語(yǔ)言基礎(chǔ)》PPT課件_第2頁(yè)
第2頁(yè) / 共127頁(yè)
《R語(yǔ)言基礎(chǔ)》PPT課件_第3頁(yè)
第3頁(yè) / 共127頁(yè)

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《《R語(yǔ)言基礎(chǔ)》PPT課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《《R語(yǔ)言基礎(chǔ)》PPT課件(127頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、語(yǔ)言基礎(chǔ),一 R簡(jiǎn)介 二 R語(yǔ)言數(shù)據(jù)操作基礎(chǔ) 三 R語(yǔ)言的可視化,一 R 簡(jiǎn) 介,什么是R?,(1)最受歡迎的數(shù)據(jù)分析和可視化平臺(tái)之一 (2)首次出現(xiàn)1993, 2011年隨大數(shù)據(jù)的爆發(fā)而流行起 (3)R是一種統(tǒng)計(jì)繪圖語(yǔ)言,也指實(shí)現(xiàn)該語(yǔ)言的軟件。它是一種解釋型語(yǔ)言,而不是編程語(yǔ)言,也就是說(shuō),輸入的命令能夠直接執(zhí)行。,為什么選擇R?,(1)免費(fèi)、支持Windows/Mac OS/Linux (2)開(kāi)源。有強(qiáng)大的工具包,可以貢獻(xiàn)自己的工具包 (3)可以完成數(shù)據(jù)分析涉及的幾乎所有步驟:,數(shù)據(jù)獲取,,數(shù)據(jù)清理,,數(shù)據(jù)分析,,結(jié)果報(bào)告,發(fā)布結(jié)果,,下載和安裝R,The Comprehensive R A

2、rchive Network,簡(jiǎn)稱(chēng)CRAN,提供下載安裝程序和應(yīng)軟件包。在R主頁(yè) http://www.r-project.org/ 選擇下載相應(yīng)的版本。,R程序包,base:包含基本的R函數(shù) datasets:包含基本的R數(shù)據(jù)集 stats:包含各類(lèi)統(tǒng)計(jì)函數(shù) nlme:包含用于線性和非線性混合效應(yīng)的建模函數(shù) graphics:包含基本圖形函數(shù) lattice:包含各種格柵函數(shù),用于高級(jí)圖像的繪制 cluster:包含用于各種聚類(lèi)分析的函數(shù) foreign:包含讀取各種格式,如SPSS、SAS等格式數(shù)據(jù)文件函數(shù) utils:包含R管理的工具函數(shù) rpart:包含建立分類(lèi)回歸樹(shù)的函數(shù) grDev

3、ices:包含基本圖形設(shè)備函數(shù) methods:包含關(guān)于R對(duì)象的方法和類(lèi)的定義函數(shù),函數(shù)調(diào)用,成功啟動(dòng)R意味著用戶(hù)可在R工作空間中創(chuàng)建和管理R對(duì)象,調(diào)用已加載包中的函數(shù) 實(shí)現(xiàn)對(duì)對(duì)象的管理和對(duì)相關(guān)數(shù)據(jù)的分析。用戶(hù)可以通過(guò)兩種方式調(diào)用函數(shù): (1)函數(shù)名():這是一種無(wú)形式參數(shù)的函數(shù)調(diào)用,即括號(hào)中不給出任何內(nèi)容。R將以 默認(rèn)的參數(shù)值調(diào)用并運(yùn)行函數(shù),運(yùn)行結(jié)果即函數(shù)值將自動(dòng)顯示在R控制臺(tái)中。例如: search():瀏覽已加載包的名稱(chēng),即以無(wú)形式參數(shù)的方式調(diào)用名為search的函數(shù)。若要 調(diào)用尚未加載的包中的函數(shù),需按照“先加載,后瀏覽,在調(diào)用”的步驟實(shí)現(xiàn)。 (2)函數(shù)名(形式參數(shù)列表):這是一種帶形

4、式參數(shù)的函數(shù)調(diào)用,即括號(hào)中依順序給 出了一個(gè)或多個(gè)形式參數(shù),各形式參數(shù)之間以英文逗號(hào)隔開(kāi)。例如:為了解各包中包含 哪些函數(shù)、各函數(shù)的功能以及如何調(diào)用函數(shù),可書(shū)寫(xiě):library(help=“包名稱(chēng)”),即以 帶形式參數(shù)(help=“包名稱(chēng)”)的方式調(diào)用名為library的函數(shù)。library(help=base) 若要調(diào)用尚未下載的包中的函數(shù),需首先將相關(guān)包下載并安裝好。當(dāng)R啟動(dòng)后并處于 聯(lián)網(wǎng)環(huán)境下,步驟為:第一,指定鏡像站點(diǎn)。第二,下載安裝Install package(“包名 稱(chēng)”)。第三,加載包library(“包名稱(chēng)”)。,查看R的幫助文檔,最常用的方法: 1 菜單 幫助Html幫助或

5、者h(yuǎn)elp.start():以瀏覽器的形式打開(kāi)R的幫助文檔 2 菜單 幫助R函數(shù)幫助或者h(yuǎn)elp(函數(shù)名):用于查看指定函數(shù)的幫助文檔 R函數(shù)幫助文檔通常包括函數(shù)的功能說(shuō)明(參見(jiàn)Description部分)、函數(shù)的調(diào)用形式(參見(jiàn)Usage部分)、形式參數(shù)的含義(Arguments部分)、形式參數(shù)的具體取值(Value部分)、調(diào)用示例(Examples部分)等主要內(nèi)容。,R的運(yùn)行方式,兩種運(yùn)行方式:第一,命令行運(yùn)行;第二,程序(腳本)運(yùn)行。 腳本運(yùn)行還可采用非交互方式運(yùn)行程序,步驟:一、指定R程序所在目錄為R的當(dāng) 前工作目錄。調(diào)用getwd(),即可獲得當(dāng)前目錄名。改變目錄可在菜單欄中改變,

6、也可以 用setwd(“指定目錄”)。二、運(yùn)行當(dāng)前工作目錄中的指定R程序source(“R程序名”)。 此外,程序運(yùn)行方式中輸出結(jié)果默認(rèn)顯示在控制臺(tái)上,當(dāng)處理的數(shù)據(jù)量較大,計(jì)算 結(jié)果較多時(shí),往往希望將計(jì)算結(jié)果輸出到控制臺(tái)的同時(shí),保存到一個(gè)指定的文本文件中。 為此,需在程序的第一行調(diào)用函數(shù)sink,基本書(shū)寫(xiě)格式為:sink(“結(jié)果文件名”, append=TRUE/FALSE,split=TRUE/FALSE)式中,結(jié)果文件一般為文本文件,默認(rèn) 位于當(dāng)前目錄下。append為T(mén)RUE表示當(dāng)前文件有同名時(shí)追加到原文件后面,F(xiàn)LASE 表示覆蓋原文件內(nèi)容。split為T(mén)RUE表示輸出到指定文件夾的同

7、時(shí),仍輸出到控制臺(tái), FLASE表示結(jié)果僅輸出到指定文件夾。,二 R語(yǔ)言數(shù)據(jù)操作基礎(chǔ),R語(yǔ)言的數(shù)據(jù)類(lèi)型,R語(yǔ)言支持的數(shù)據(jù)類(lèi)型: (1)數(shù)值型(numeric):類(lèi)型的取值是實(shí)數(shù)。例如a<-9.11;mode(a):顯示指定對(duì)象的存儲(chǔ)類(lèi)型。 (2)復(fù)數(shù)(complex):取值可擴(kuò)展到虛數(shù)。例如a<-100+10i;mode(a) (3)邏輯(logical):取值為T(mén)RUE(T)和FALSE(F),R語(yǔ)言區(qū)分大小寫(xiě),T和F必須大寫(xiě)。例如a<-T;mode(a) (4)字符型(character):類(lèi)型的取值是字符串。例如a<-”assf”(英文雙引號(hào)不可以省略);mode(a),對(duì)象及其屬性,R

8、語(yǔ)言常用對(duì)象類(lèi)型: (1)向量(vector):數(shù)據(jù)類(lèi)型都可取,不允許出現(xiàn)不同數(shù)據(jù)類(lèi)型 (2)數(shù)組(array):數(shù)據(jù)類(lèi)型都可取,不允許出現(xiàn)不同數(shù)據(jù)類(lèi)型 (3)矩陣(matrix):數(shù)據(jù)類(lèi)型都可取,不允許出現(xiàn)不同數(shù)據(jù)類(lèi)型 (4)數(shù)據(jù)框(data frame):數(shù)據(jù)類(lèi)型都可取,不同列之間的數(shù)據(jù)類(lèi)型可不同 (5)列表(list):數(shù)據(jù)類(lèi)型都可取,任何元素的數(shù)據(jù)類(lèi)型均可不同 (6)因子(factor):數(shù)據(jù)類(lèi)型都可取,不允許出現(xiàn)不同數(shù)據(jù)類(lèi)型,對(duì)象及其屬性,固有屬性:模式和長(zhǎng)度 使用mode函數(shù)可以讀取對(duì)象模式,使用as.可以改變對(duì)象的模式。例如:a<-100;mode(a),輸出“numeric”,

9、a<-”100”;a<-as.numeric(a)(轉(zhuǎn)化數(shù)據(jù)類(lèi)型),輸出100。使用length()函數(shù)讀取對(duì)象的長(zhǎng)度屬性 對(duì)象的搜索和刪除 由于所有的對(duì)象均存儲(chǔ)在工作空間中,一旦對(duì)象過(guò)于龐大,就會(huì)影響運(yùn)行速度。需查看工作空間內(nèi)現(xiàn)存的對(duì)象列表(ls()),并刪除其中某個(gè)對(duì)象(rm(對(duì)象名列表),remove(對(duì)象名))。,向量,創(chuàng)建向量 R語(yǔ)言使用c(,,)來(lái)創(chuàng)建向量。 例如:c(2,5,6,9),c(T, F, T, F),c(China, Ko, Ja”)等。 重復(fù)函數(shù)rep()創(chuàng)建向量,例如:rep(2:5,times=4) 序列函數(shù)seq()創(chuàng)建向量,例如:seq(from=3,to=

10、21,by=3) “:” 產(chǎn)生向量,例如:1:10表示1到10的數(shù)字,例如:2:30*2+1表示產(chǎn)生2到30的數(shù)字的基礎(chǔ)上再乘以2再加上1。 通過(guò)與向量的組合,產(chǎn)生更為復(fù)雜的向量。例如: rep(1:2,c(10,15))表示1重復(fù)10次,2重復(fù)15次 產(chǎn)生字母序列l(wèi)etters,例如:letters1:26,向量,向量索引 1、下標(biāo)方式索引。下標(biāo)始于1而非0。例如:a4)結(jié)果為2,3。which.max和which.min用于返回?cái)?shù)值型向量中最大和最小元素的下標(biāo),例如which.max(a)結(jié)果為3,which.min(a)結(jié)果為1. 3、subset方式索引。可以方便地索引向量、矩陣以及數(shù)

11、據(jù)框。返回的是元素,不是下標(biāo)。例如:subset(a,a4c(11,15)%in%a結(jié)果為:TRUE FALSE,向量,向量的編輯 向量修改只需要通過(guò)索引找到特定元素,然后直接使用<-進(jìn)行賦值即可。 1、向量擴(kuò)展 R語(yǔ)言可對(duì)對(duì)象長(zhǎng)度進(jìn)行任意擴(kuò)展。例如a<-c(1,2,3);a<-c(a,c(5:7)) a 結(jié)果為1 2 3 5 6 7 2、元素的刪除 對(duì)向量重新賦值的方式刪除向量?jī)?nèi)某一元素。例如:a<-c(1:4);a<-a-3 a結(jié)果為1 2 4,向量,向量排序 1、向量正排序 sort()函數(shù):根據(jù)數(shù)值大小進(jìn)行正排序。例如a<-c(11:20,c(1:9));sort(a) 2、向

12、量倒排序 rev()函數(shù):根據(jù)下標(biāo)進(jìn)行到排序。例如a<-c(1,4,2,6,8);rev(a),向量,向量去重 unique()函數(shù):實(shí)現(xiàn)向量的去重。例如:a<-c(1,2,1,4,2,4,5,1);unique(a)結(jié)果1 2 4 5,向量,缺失值處理 na.fail()函數(shù):向量a內(nèi)包含至少一個(gè)NA,返回錯(cuò)誤,不包含任何NA,返回原有向量。例如:a)函數(shù):返回刪除NA后的向量。例如:b),na.action):返回向量a中元素為NA的下標(biāo)。 is.na()函數(shù):用于判斷向量?jī)?nèi)的元素是否為NA。例如:b<-!is.na(a),向量,向量間操作 pmin(,...):依次比較向量1至向量n

13、內(nèi)的各元素。并把較小的元素組成新向量。例如:a,...):依次比較向量1至向量n內(nèi)的各元素。并把較大的元素組成新向量。pmax(a,b,c)。結(jié)果為2 3 9 5 9 intersect(,):返回向量的交集。 union(,):返回向量的并集。 setdiff(,):返回向量的補(bǔ)集。,矩陣和數(shù)組,創(chuàng)建矩陣 matrix()函數(shù):以向量的形式輸入矩陣中的全部元素,使用ncol和nrow可設(shè)置矩陣的行和列數(shù)。例如a):將矩陣反過(guò)來(lái)轉(zhuǎn)化為向量。,矩陣和數(shù)組,矩陣索引 1、使用行列下標(biāo)來(lái)索引。例如: data<-c(1:10);a<-matrix(data,ncol=2,nrow=5,dimname

14、s=list(c(r1,r2,r3,r4,r5),c(c1,c2)));a3,2,表示矩陣a第三行第二列的元素。 2、使用行和列名稱(chēng)來(lái)索引。例如:ar3,c2 3、使用一維下標(biāo)來(lái)索引。例如:a1,#以向量形式返回矩陣a第一行的所有元素。a,1#以向量形式返回矩陣a第一列的所有元素。,矩陣和數(shù)組,矩陣編輯 1、矩陣合并。 cbind()函數(shù):通過(guò)列合并函數(shù)將多個(gè)已有向量合并成矩陣。例如:x1<-c(1:5);x2<-c(6:10);cbind(x1,x2) rbind()函數(shù):通過(guò)行合并函數(shù)將多個(gè)已有向量合并成矩陣。例如:x1<-c(1:5);x2<-c(6:10);rbind(x1,x2) 2

15、、刪除矩陣。 刪除矩陣內(nèi)某行和某列的方式類(lèi)似于向量,實(shí)質(zhì)是對(duì)向量重新賦值。例如: data<-c(1:10);a<-matrix(data,ncol=2,nrow=5);a<-a-1, ,刪除第一行的元素。a,-1刪除第一列的元素。,矩陣和數(shù)組,矩陣的運(yùn)算 1、一般運(yùn)算。 A C D<-matrix(rnorm(16),4,4) 矩陣的加法(A+B) 矩陣的減法(A-B) 矩陣的各元素的乘法(A*B) 矩陣相乘(A%*%C),矩陣和數(shù)組,矩陣的運(yùn)算 2、轉(zhuǎn)置矩陣t()函數(shù)。 例如:t(A) 3、矩陣求解solve() 例如:求解DX=A中的X,可以使用solve(D,A) 4、矩陣的特征值和特

16、征向量eigen() 例如:E<-eigen(D) $values為方陣的特征值,$vectors為方陣的特征向量,且一一對(duì)應(yīng)。,矩陣和數(shù)組,數(shù)組創(chuàng)建 array()函數(shù):設(shè)置位數(shù)向量來(lái)創(chuàng)建一個(gè)多維數(shù)組,矩陣可以看成一個(gè)2維數(shù)組。例如data<-array(c(1:30),dim=c(2,5,3));,矩陣和數(shù)組,數(shù)組索引 使用多個(gè)下標(biāo)來(lái)索引。例如:data1,2,3,表示對(duì)第3個(gè)2*5矩陣中第一行第2列元素(23)進(jìn)行了索引。data,3,則表示由第二維度下標(biāo)是3的全部元素組成的二維數(shù)組。,矩陣和數(shù)組,apply函數(shù)應(yīng)用 apply函數(shù)可以讀取多維數(shù)組中某個(gè)維度的所有數(shù)據(jù)并應(yīng)用其它函數(shù)進(jìn)行數(shù)

17、據(jù)處理。apply(x,MARGIN,FUN),x多維數(shù)組array.MARGIN預(yù)處理的維數(shù).FUN多維數(shù)組中某一維度元素的處理函數(shù)。例如: apply(data,3,sum)1(結(jié)果為55):用于計(jì)算多維數(shù)組data中第三維下標(biāo)為1的所有元素的總和?;蛘呤褂胹um(data,,1)來(lái)實(shí)現(xiàn)。,列表和數(shù)據(jù)框,列表的創(chuàng)建 list()函數(shù):創(chuàng)建列表對(duì)象。例如:data<-list(a=c(1,2,3),b=c(one,tow),c=T,d=c(3i+4,9i-9));data。每列內(nèi)元素的數(shù)據(jù)類(lèi)型和長(zhǎng)度可以各不相同,但是相同列中元素的數(shù)據(jù)類(lèi)型相同。,列表和數(shù)據(jù)框,列表索引 1、使用列下標(biāo)來(lái)索引。

18、例如:data1 2、使用列名稱(chēng)來(lái)索引。例如:data$a和dataa,列表和數(shù)據(jù)框,列表編輯 1、列表合并。使用c(,)合并和擴(kuò)展list.注意list(,)不能進(jìn)行l(wèi)ist合并,它是實(shí)現(xiàn)list的嵌套。例如:data<-c(data,list(e=c(T,T,F,F))) 2、列表轉(zhuǎn)化為向量unlist()函數(shù)。例如: unlist(list(c(1:3),c(one,two))),列表和數(shù)據(jù)框,數(shù)據(jù)框的創(chuàng)建和名稱(chēng) data.frame()函數(shù):把多個(gè)向量建立為一個(gè)數(shù)據(jù)框,并為列設(shè)置名稱(chēng)。例如:x1):讀取并編輯列名稱(chēng),如:names(x) names(x)1<-體積,列表和數(shù)據(jù)框,數(shù)據(jù)框

19、索引 1、索引列:使用列下標(biāo)來(lái)索引,例如:x2.使用列名稱(chēng)來(lái)索引,例如:x$運(yùn)費(fèi)和x運(yùn)費(fèi),讀取多列數(shù)據(jù)可用x,1:2,不可以采用x形式。 2、索引行:行下標(biāo),,例如:x1:2, 3、索引元素:例如:x$運(yùn)費(fèi)1,x運(yùn)費(fèi)1, x21,x1,2 4、subset函數(shù)索引:例如:subset(x,運(yùn)費(fèi)32speed 2、with函數(shù):with(數(shù)據(jù)框名,域訪問(wèn)函數(shù)1域訪問(wèn)函數(shù)2...),例如:with(cars,speed),列表和數(shù)據(jù)框,數(shù)據(jù)框編輯 1、數(shù)據(jù)框的合并擴(kuò)展: cbind()函數(shù):添加數(shù)據(jù)集的新屬性變量。例如:x<-cbind(x,距離=c(12,13,11,14,15,11)) rbi

20、nd()函數(shù):增加新的樣本數(shù)據(jù)。例如:x<-rbind(x,list(23,34,13)) 2、刪除數(shù)據(jù)框。 x<-x,-1#刪除第一行數(shù)據(jù) x<-x-1,#刪除第一列數(shù)據(jù),列表和數(shù)據(jù)框,缺失值處理 na.omit函數(shù)可以刪除數(shù)據(jù)框內(nèi)包含NA的相關(guān)數(shù)據(jù)。例如: data<-data.frame(a=c(1,2,NA,3),b=c(9:12)) na.omit(data),因子,一般數(shù)據(jù)可分為分類(lèi)和數(shù)值兩種屬性,上面介紹的都是數(shù)值類(lèi)型數(shù)據(jù),分類(lèi)屬性類(lèi)型可分為無(wú)序因子(factor)如用戶(hù)ID用“1”,“2”,“3”表示,沒(méi)有高低之分。有序因子(ordered)如用戶(hù)對(duì)商品的評(píng)分值“A”,”B”,

21、”C”,”D”,”E”。各個(gè)類(lèi)別間存在大小高低順序。因子的存儲(chǔ)類(lèi)型為整數(shù)型(integer),但顯示的是類(lèi)別值,為字符串。,無(wú)序和有序因子,factor因子函數(shù):factor(x,levels=sort(unique(x),na.last=TRUE),labels,exclude=NA,ordered=FALSE) X:向量 levels:是因子的水平。如果不指定值,則有向量x內(nèi)不同的值確定 labels:是水平的標(biāo)簽。如果不指定值,則由向量x內(nèi)不同點(diǎn)的值所對(duì)應(yīng)的字符串確定 exclude:在轉(zhuǎn)化時(shí),如果想把向量?jī)?nèi)某些取值的元素轉(zhuǎn)化為缺失值NA,則設(shè)置該參數(shù)。 ordered:FALSE轉(zhuǎn)化后

22、是無(wú)序因子,TRUE有序因子,無(wú)序和有序因子,使用as.factor把一個(gè)向量轉(zhuǎn)化為無(wú)序因子向量。例如: a<-as.factor(c(1,2,3));a,用is.factor判斷a是否為因子。例如:is.factor(a),將a1

23、于的比較。 可利用levels函數(shù)讀取和設(shè)置因子水平,格式為levels(因子名),levels函數(shù)將按因子水平值的升序顯示它們對(duì)應(yīng)的類(lèi)別值。例如:a<-c(Poor,Improved,Excellent,Poor);b<-as.factor(a);levels(b);levels(b)1<-one;b,連續(xù)數(shù)據(jù)的離散化,cut函數(shù)可以把數(shù)值類(lèi)型數(shù)據(jù)依據(jù)間隔區(qū)間分段,并返回一個(gè)因子序列。cut函數(shù)的常用參數(shù)為:X:被分割的向量。labels:分割時(shí)依據(jù)的間隔區(qū)間。include.lowest:分割時(shí)的最小間隔區(qū)間。ordered_result:如果設(shè)置為T(mén),則返回有大小意義的因子作為結(jié)果,為F

24、,則返回?zé)o大小意義的因子作為結(jié)果。例如:某網(wǎng)站21名訪問(wèn)者一天內(nèi)停留的時(shí)間數(shù)據(jù)如表:,連續(xù)數(shù)據(jù)的離散化,代碼如下: time time.cut time.cut 1 (0,10 (10,30 (10,30 (0,10 (0,10 (0,10 (10,30 (30,60 (0,10 10 (30,60 (10,30 (30,60 Levels: (0,10 (10,30 (30,60 time.cut1

25、dered_result=T);time.cut1

26、列表,其中分割的字符串不在出現(xiàn)。 例如:data<-網(wǎng)站停留時(shí)間:3小時(shí)4分50秒;data<-strsplit(data,split=:)。結(jié)果:網(wǎng)站停留時(shí)間 3小時(shí)4分50秒 。data<-unlist(data);data<-strsplit(data,split=小時(shí))。結(jié)果為: 11 網(wǎng)站停留時(shí)間 21 3 4分50秒 若要分割結(jié)果為11 3 4分50秒,可采用分割的嵌套。例如:data<-網(wǎng)站停留時(shí)間:3小時(shí)4分50秒; data<-strsplit(strsplit(data,split=:)12,split=小時(shí));data。提取小時(shí)可用:data<-unlist(data

27、);h<-as.numeric(data1);h,字符串操作,字符串內(nèi)部字符的讀取和替換 1、使用substr()函數(shù)進(jìn)行讀取和替換字符串substr(x,start,stop) x:字符串或者字符串對(duì)象。start:預(yù)讀取/替換字符串的第一個(gè)下標(biāo)。stop:預(yù)讀取/替換字符串的最后一個(gè)下標(biāo)。例如: a substr(a,2,4) 1 agh substr(a,2,4) a 1 hkkkfff,字符串操作,使用grep()函數(shù)讀取列表內(nèi)特定字符串 grep(pattern,x)函數(shù)可以在字符型列表中(參數(shù)x)中找出和特定字符串(參數(shù)pattern)匹配的序列編號(hào)。如果不匹配,則返回intege

28、r(0).其中 pattern可以使字符串,也可以是一個(gè)正則表達(dá)式。例如: a<-list(GET /News.htm HTTP/1.0,GET/feed.html HTTP/2.0);c<-grep(.html,a);c 結(jié)果為2 a<-GET /News.htm HTTP/1.0; c<-grep(.html,a);c integer(0) a<-GET /News.html HTTP/1.0; c<-grep(.html,a);c 1 1,字符串操作,使用regexpr()gregexpr()函數(shù)讀取字符串內(nèi)特定字符串 regexpr(pattern,text)函數(shù)可以在字符串x中提取特

29、定字符串pattern的相關(guān)信息。其中 pattern可以是字符串,也可以是一個(gè)正則表達(dá)式。例如: a<-GET /News.html HTTP/1.0 feed.html HTTP/2.0;c<-regexpr(.html,a);c 1 10#第一個(gè)和字符串”.html”匹配的起始位置是10 attr(,match.length) 1 5#第一個(gè)和字符串”.html”匹配的字符長(zhǎng)度是5 attr(,useBytes) 1 TRUE#在字符串a(chǎn)中是否有字符串”.html”匹配,答案為T(mén)RUE,字符串操作,使用regexpr()gregexpr()函數(shù)讀取字符串內(nèi)特定字符串 regexpr()函

30、數(shù)只查詢(xún)第一個(gè)特定字符,要想多次匹配需要使用gregexpr()函數(shù),例如: a<-GET /News.html HTTP/1.0 feed.html HTTP/2.0;c<-gregexpr(.html,a);c 1 1 10 29 attr(,match.length) 1 5 5 attr(,useBytes) 1 TRUE,字符串操作,使用chartr()函數(shù)作字符替換 chartr(old,new,x)函數(shù)直接進(jìn)行字符替換,old:預(yù)被替換的x中的舊字符集合。如果x中不包含old,則返回x,不做處理。new:新補(bǔ)充的字符集合。其長(zhǎng)度必須大于舊字符集合。例如: a a a a<-cha

31、rtr(hf,01,a);a 1 0ag0111,字符串操作,使用sub()和gsub()函數(shù)進(jìn)行字符串替換 chartr()是進(jìn)行字符替換,sub()和gsub()函數(shù)的替換單位是字符串。sub(pattern,replacement,x),pattern:預(yù)被替代的字符串,可以使用正則表達(dá)式,replacement替換后的字符串。例如: a b<-sub(.html,替換,a);b 1 GET /News替換 HTTP/1.0 feed.html HTTP/2.0,字符串操作,使用sub()和gsub()函數(shù)進(jìn)行字符串替換 sub()函數(shù)只對(duì)一個(gè)”.html”進(jìn)行替換,要想進(jìn)行全部替換可以

32、使用gsub()函數(shù),例如: a b<-gsub(.html,替換,a);b 1 GET /News替換 HTTP/1.0 feed替換 HTTP/2.0,正則表達(dá)式,字符類(lèi) :表示字符集合。aeiou匹配任一英文元音字符,0-9匹配任一個(gè)09的數(shù)字,a-z匹配任一個(gè)小寫(xiě)英文字母,A-Z匹配任一個(gè)大寫(xiě)英文字母,a-z0-9A-Z匹配任一個(gè)字母、數(shù)字、下劃線。 小數(shù)點(diǎn)(.)代表除換行符以外的任意一個(gè)字符。 查找小數(shù)點(diǎn)(.)或者(,)需使用.或者,來(lái)表示,正則表達(dá)式,限定符 *:重復(fù)零次或更多次 +:重復(fù)一次或更多次 ?:重復(fù)零次或一次 n:重復(fù)n次 n,:重復(fù)n次或更多次 nm:重復(fù)nm次 例如

33、:,正則表達(dá)式,實(shí)例: 輸入數(shù)據(jù):GET /News.html HTTP/1.0 輸出數(shù)據(jù):News.html a b c<-substr(a,b1+1,b1+attr(b,match.length)-1) c,常用數(shù)據(jù)的創(chuàng)建,因子序列創(chuàng)建gl: gl(n,k,length=n*k,labels=1:n,ordered=FALSE),n:因子水平數(shù)目,k:重復(fù)次數(shù),length向量長(zhǎng)度。labels:因子水平的標(biāo)簽。ordered:F無(wú)序因子,T有序 gl(3,4,labels=c(one,two,three)) 1 one one one one two two two two three

34、three three three Levels: one two three,常用數(shù)據(jù)的創(chuàng)建,等差序列創(chuàng)建seq: seq(from=1,to=1,by=((to-from)/(length.out-1))),from:等差數(shù)列的首項(xiàng)數(shù)據(jù),to:等差數(shù)列的尾項(xiàng)數(shù)據(jù) by:等差的數(shù)值。length.out:產(chǎn)生向量的長(zhǎng)度。 seq(1,-9) 1 1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 seq(1,-9,length.out=5) 1 1.0 -1.5 -4.0 -6.5 -9.0 seq(1,-9,by=-2) 1 1 -1 -3 -5 -7 -9 seq(1,by=2

35、,length.out=10) 1 1 3 5 7 9 11 13 15 17 19,常用數(shù)據(jù)的創(chuàng)建,隨機(jī)抽樣sample: simple(x,size,replace),x:整體數(shù)據(jù),以向量形式給出size:抽取樣本的數(shù)目replace:F:不重復(fù)size不能大于x長(zhǎng)度,T重復(fù)size允許大于x長(zhǎng)度。 sample(c(1:20),size=10) 1 16 3 7 4 5 10 9 6 11 20 sample(c(1:20),size=30,replace=T) 1 16 4 8 17 18 14 15 6 18 5 13 3 18 2 15 12 16 11 8 2 12 16 9 1

36、0 13 17 11 17 29 9 9,常用數(shù)據(jù)的創(chuàng)建,重復(fù)序列rep: rep(x,n),x:預(yù)重復(fù)序列,可以使任意數(shù)據(jù)類(lèi)型的向量或數(shù)值,n是重復(fù)的次數(shù)。例如: rep(1,9) 1 1 1 1 1 1 1 1 1 1 rep(1:3,3) 1 1 2 3 1 2 3 1 2 3 rep(c(a,b,c),3) 1 a b c a b c a b c rep(as.factor(c(因子1,因子2,因子3)),3) 1 因子1 因子2 因子3 因子1 因子2 因子3 因子1 因子2 因子3 Levels: 因子1 因子2 因子3,常用數(shù)據(jù)的創(chuàng)建,概率分布:正態(tài)分布norm rnom(n,m

37、ean,sd):正態(tài)分布隨機(jī)數(shù)的產(chǎn)生函數(shù)。n:產(chǎn)生隨機(jī)數(shù)的數(shù)目,mean:平均值,sd:標(biāo)準(zhǔn)差。例如: rnorm(10,4,4) 1 -2.032146 -3.095158 7.125617 3.983333 8.099876 9.659488 5.636714 2.944146 1.375316 2.737632 pnom(x,mean,sd):正態(tài)分布函數(shù)F(x)。 pnorm(10,4,4) 1 0.9331928 dnom(x,mean,sd):概率密度函數(shù)f(x)。 dnorm(10,4,4) 1 0.0323794,常用數(shù)據(jù)的創(chuàng)建,常用的數(shù)學(xué)函數(shù) abs(x):計(jì)算x的絕對(duì)值sq

38、rt(x):計(jì)算x的平方根 ceiling(x):計(jì)算不小于x的最小整數(shù) floor(x):計(jì)算不大于x的最大整數(shù) trunc(x):截掉x的小數(shù)部分 round(x,digits=n):計(jì)算x四舍五入為n位小數(shù)的值 signif(x,digits=n):計(jì)算x四舍五入為n位數(shù)的值 sin(x),cos(x),tan(x):計(jì)算x的正弦、余弦、正切值 log(x,base=n):計(jì)算以n為底的x的對(duì)數(shù) log(x):計(jì)算x的自然對(duì)數(shù) exp(x):計(jì)算x的指數(shù)函數(shù),常用數(shù)據(jù)的創(chuàng)建,常用的統(tǒng)計(jì)函數(shù) mean(x):計(jì)算x的均值median(x):計(jì)算x的中位數(shù) sd(x):計(jì)算x的樣本標(biāo)準(zhǔn)差va

39、r(x):計(jì)算x的樣本方差 range(x):計(jì)算x的取值范圍max(x):計(jì)算x的最大值 length(x):計(jì)算x包含的元素個(gè)數(shù)min(x):計(jì)算x的最小值 sum(x):計(jì)算x的總和 cumsum(x):計(jì)算x的累積和 例如:cumsum(c(1,2,3,4))函數(shù)值為:1 3 6 10 prod(x):計(jì)算x的連乘積 quantile(x,probs):計(jì)算x在probs分位點(diǎn)上的分位值 scale(x):對(duì)x做標(biāo)準(zhǔn)化處理(減均值除以標(biāo)準(zhǔn)差),常用數(shù)據(jù)的創(chuàng)建,其他分布函數(shù) 泊松分布pois() 指數(shù)分布exp() Gamma分布gramma() 均勻分布unif() 二項(xiàng)分布binom

40、() 幾何分布geom() 柯西分布cauchy() logistic分布logis() 也可以使用前綴r、p、d,控制流,分支語(yǔ)句 if-else分支語(yǔ)句 if(a15)print(ha)else if(a5)print(s)elseprint(k) 1 k switch分支語(yǔ)句 result switch(result,低,正常,高,偏高) 1 高,控制流,循環(huán)語(yǔ)句 for循環(huán) s for(i in 1:100)s print(s) 1 5050 while循環(huán) s i while(i print(s) 1 5050,控制流,循環(huán)語(yǔ)句 repeat-break循環(huán)語(yǔ)句,repeat是無(wú)限循

41、環(huán)語(yǔ)句,并且會(huì)在達(dá)到循環(huán)條件后使用break語(yǔ)句直接跳出循環(huán)。 s i repeatif(i print(s) 1 5050,運(yùn)算符、函數(shù)、過(guò)程,運(yùn)算符 數(shù)學(xué)運(yùn)算 運(yùn)算后給出數(shù)值結(jié)果 +, -, *, /, x%%y除法運(yùn)算后的余數(shù) x%/%y整數(shù)除法 比較運(yùn)算 運(yùn)算后給出判別結(jié)果(TRUE FALSE) , =, ==, != 邏輯運(yùn)算 與、或、非 library(lattice) histogram(x$x1|x$sex,main=不同性別的數(shù)學(xué)分析成績(jī)的直方圖,xlab=性別,ylab=數(shù)學(xué)分析成績(jī)),lattice繪圖,lattice繪圖示例 二、箱線圖 bwplot(x$sexx$x

42、1|as.factor(x$levers),main=不同性別的數(shù)學(xué)分析成績(jī)的箱線圖,xlab=數(shù)學(xué)分析成績(jī),ylab=性別,subset=(x$levers!=A)),面板條形區(qū)域顯示的是成績(jī)等級(jí)。subset參數(shù)指定成績(jī)等級(jí)不是”A”的區(qū)域繪圖,lattice繪圖,lattice繪圖示例 三、核密度圖 densityplot(x$x1|x$sex,main=不同性別的數(shù)學(xué)分析成績(jī)的核密度圖,xlab=成績(jī),ylab=密度) densityplot(x$x1,group=as.factor(x$levers),main=不同等級(jí)的數(shù)學(xué)成績(jī)的核密度圖,xlab=成績(jī),ylab=密度),latt

43、ice繪圖,lattice繪圖示例 四、散點(diǎn)圖 xyplot(x$x1x$x2|as.factor(x$levers),main=不同等級(jí)的數(shù)學(xué)分析線性代數(shù)成績(jī)的散點(diǎn)圖,xlab=數(shù)學(xué)分析成績(jī),ylab=線性代數(shù)成績(jī),type=c(p,g,smooth), col.line=2,scales=list(x=list(relation=free),y=list(relation=same)))。scales=list(x=list(relation=free),y=list(relation=same))表示各格柵中縱坐標(biāo)刻度單位相同,橫坐標(biāo)各自不同type=c(p,g,smooth)p表示在每

44、個(gè)格柵中繪制散點(diǎn)圖,g表示在每個(gè)格柵中添加網(wǎng)格線,smooth表示在每個(gè)格柵中添加利用局部加權(quán)散點(diǎn)平滑法得到的回歸線。 col.line 回歸線的顏色,lattice繪圖,lattice繪圖示例 四、散點(diǎn)圖,lattice繪圖,lattice繪圖示例 四、三維散點(diǎn)圖 cloud(x$x1x$x2*x$x3|x$levers,,main=不同等級(jí)的數(shù)學(xué)分析線性代數(shù)概率統(tǒng)計(jì)成績(jī)的三維散點(diǎn)圖,xlab=數(shù)學(xué)分析,ylab=線性代數(shù),zlab=概率統(tǒng)計(jì),scales=list(col=2)) scales=list(col=2)表示用2號(hào)紅色繪制三維的坐標(biāo)方向指示線。,lattice繪圖,lattice繪圖示例 四、三維散點(diǎn)圖,Thank you!,

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!