《R語言基礎(chǔ)》PPT課件
《《R語言基礎(chǔ)》PPT課件》由會員分享,可在線閱讀,更多相關(guān)《《R語言基礎(chǔ)》PPT課件(127頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、語言基礎(chǔ),一 R簡介 二 R語言數(shù)據(jù)操作基礎(chǔ) 三 R語言的可視化,一 R 簡 介,什么是R?,(1)最受歡迎的數(shù)據(jù)分析和可視化平臺之一 (2)首次出現(xiàn)1993, 2011年隨大數(shù)據(jù)的爆發(fā)而流行起 (3)R是一種統(tǒng)計繪圖語言,也指實現(xiàn)該語言的軟件。它是一種解釋型語言,而不是編程語言,也就是說,輸入的命令能夠直接執(zhí)行。,為什么選擇R?,(1)免費、支持Windows/Mac OS/Linux (2)開源。有強大的工具包,可以貢獻自己的工具包 (3)可以完成數(shù)據(jù)分析涉及的幾乎所有步驟:,數(shù)據(jù)獲取,,數(shù)據(jù)清理,,數(shù)據(jù)分析,,結(jié)果報告,發(fā)布結(jié)果,,下載和安裝R,The Comprehensive R A
2、rchive Network,簡稱CRAN,提供下載安裝程序和應(yīng)軟件包。在R主頁 http://www.r-project.org/ 選擇下載相應(yīng)的版本。,R程序包,base:包含基本的R函數(shù) datasets:包含基本的R數(shù)據(jù)集 stats:包含各類統(tǒng)計函數(shù) nlme:包含用于線性和非線性混合效應(yīng)的建模函數(shù) graphics:包含基本圖形函數(shù) lattice:包含各種格柵函數(shù),用于高級圖像的繪制 cluster:包含用于各種聚類分析的函數(shù) foreign:包含讀取各種格式,如SPSS、SAS等格式數(shù)據(jù)文件函數(shù) utils:包含R管理的工具函數(shù) rpart:包含建立分類回歸樹的函數(shù) grDev
3、ices:包含基本圖形設(shè)備函數(shù) methods:包含關(guān)于R對象的方法和類的定義函數(shù),函數(shù)調(diào)用,成功啟動R意味著用戶可在R工作空間中創(chuàng)建和管理R對象,調(diào)用已加載包中的函數(shù) 實現(xiàn)對對象的管理和對相關(guān)數(shù)據(jù)的分析。用戶可以通過兩種方式調(diào)用函數(shù): (1)函數(shù)名():這是一種無形式參數(shù)的函數(shù)調(diào)用,即括號中不給出任何內(nèi)容。R將以 默認的參數(shù)值調(diào)用并運行函數(shù),運行結(jié)果即函數(shù)值將自動顯示在R控制臺中。例如: search():瀏覽已加載包的名稱,即以無形式參數(shù)的方式調(diào)用名為search的函數(shù)。若要 調(diào)用尚未加載的包中的函數(shù),需按照“先加載,后瀏覽,在調(diào)用”的步驟實現(xiàn)。 (2)函數(shù)名(形式參數(shù)列表):這是一種帶形
4、式參數(shù)的函數(shù)調(diào)用,即括號中依順序給 出了一個或多個形式參數(shù),各形式參數(shù)之間以英文逗號隔開。例如:為了解各包中包含 哪些函數(shù)、各函數(shù)的功能以及如何調(diào)用函數(shù),可書寫:library(help=“包名稱”),即以 帶形式參數(shù)(help=“包名稱”)的方式調(diào)用名為library的函數(shù)。library(help=base) 若要調(diào)用尚未下載的包中的函數(shù),需首先將相關(guān)包下載并安裝好。當R啟動后并處于 聯(lián)網(wǎng)環(huán)境下,步驟為:第一,指定鏡像站點。第二,下載安裝Install package(“包名 稱”)。第三,加載包library(“包名稱”)。,查看R的幫助文檔,最常用的方法: 1 菜單 幫助Html幫助或
5、者help.start():以瀏覽器的形式打開R的幫助文檔 2 菜單 幫助R函數(shù)幫助或者help(函數(shù)名):用于查看指定函數(shù)的幫助文檔 R函數(shù)幫助文檔通常包括函數(shù)的功能說明(參見Description部分)、函數(shù)的調(diào)用形式(參見Usage部分)、形式參數(shù)的含義(Arguments部分)、形式參數(shù)的具體取值(Value部分)、調(diào)用示例(Examples部分)等主要內(nèi)容。,R的運行方式,兩種運行方式:第一,命令行運行;第二,程序(腳本)運行。 腳本運行還可采用非交互方式運行程序,步驟:一、指定R程序所在目錄為R的當 前工作目錄。調(diào)用getwd(),即可獲得當前目錄名。改變目錄可在菜單欄中改變,
6、也可以 用setwd(“指定目錄”)。二、運行當前工作目錄中的指定R程序source(“R程序名”)。 此外,程序運行方式中輸出結(jié)果默認顯示在控制臺上,當處理的數(shù)據(jù)量較大,計算 結(jié)果較多時,往往希望將計算結(jié)果輸出到控制臺的同時,保存到一個指定的文本文件中。 為此,需在程序的第一行調(diào)用函數(shù)sink,基本書寫格式為:sink(“結(jié)果文件名”, append=TRUE/FALSE,split=TRUE/FALSE)式中,結(jié)果文件一般為文本文件,默認 位于當前目錄下。append為TRUE表示當前文件有同名時追加到原文件后面,F(xiàn)LASE 表示覆蓋原文件內(nèi)容。split為TRUE表示輸出到指定文件夾的同
7、時,仍輸出到控制臺, FLASE表示結(jié)果僅輸出到指定文件夾。,二 R語言數(shù)據(jù)操作基礎(chǔ),R語言的數(shù)據(jù)類型,R語言支持的數(shù)據(jù)類型: (1)數(shù)值型(numeric):類型的取值是實數(shù)。例如a<-9.11;mode(a):顯示指定對象的存儲類型。 (2)復(fù)數(shù)(complex):取值可擴展到虛數(shù)。例如a<-100+10i;mode(a) (3)邏輯(logical):取值為TRUE(T)和FALSE(F),R語言區(qū)分大小寫,T和F必須大寫。例如a<-T;mode(a) (4)字符型(character):類型的取值是字符串。例如a<-”assf”(英文雙引號不可以省略);mode(a),對象及其屬性,R
8、語言常用對象類型: (1)向量(vector):數(shù)據(jù)類型都可取,不允許出現(xiàn)不同數(shù)據(jù)類型 (2)數(shù)組(array):數(shù)據(jù)類型都可取,不允許出現(xiàn)不同數(shù)據(jù)類型 (3)矩陣(matrix):數(shù)據(jù)類型都可取,不允許出現(xiàn)不同數(shù)據(jù)類型 (4)數(shù)據(jù)框(data frame):數(shù)據(jù)類型都可取,不同列之間的數(shù)據(jù)類型可不同 (5)列表(list):數(shù)據(jù)類型都可取,任何元素的數(shù)據(jù)類型均可不同 (6)因子(factor):數(shù)據(jù)類型都可取,不允許出現(xiàn)不同數(shù)據(jù)類型,對象及其屬性,固有屬性:模式和長度 使用mode函數(shù)可以讀取對象模式,使用as.可以改變對象的模式。例如:a<-100;mode(a),輸出“numeric”,
9、a<-”100”;a<-as.numeric(a)(轉(zhuǎn)化數(shù)據(jù)類型),輸出100。使用length()函數(shù)讀取對象的長度屬性 對象的搜索和刪除 由于所有的對象均存儲在工作空間中,一旦對象過于龐大,就會影響運行速度。需查看工作空間內(nèi)現(xiàn)存的對象列表(ls()),并刪除其中某個對象(rm(對象名列表),remove(對象名))。,向量,創(chuàng)建向量 R語言使用c(,,)來創(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。 通過與向量的組合,產(chǎn)生更為復(fù)雜的向量。例如: rep(1:2,c(10,15))表示1重復(fù)10次,2重復(fù)15次 產(chǎn)生字母序列l(wèi)etters,例如:letters1:26,向量,向量索引 1、下標方式索引。下標始于1而非0。例如:a4)結(jié)果為2,3。which.max和which.min用于返回數(shù)值型向量中最大和最小元素的下標,例如which.max(a)結(jié)果為3,which.min(a)結(jié)果為1. 3、subset方式索引??梢苑奖愕厮饕蛄?、矩陣以及數(shù)
11、據(jù)框。返回的是元素,不是下標。例如:subset(a,a4c(11,15)%in%a結(jié)果為:TRUE FALSE,向量,向量的編輯 向量修改只需要通過索引找到特定元素,然后直接使用<-進行賦值即可。 1、向量擴展 R語言可對對象長度進行任意擴展。例如a<-c(1,2,3);a<-c(a,c(5:7)) a 結(jié)果為1 2 3 5 6 7 2、元素的刪除 對向量重新賦值的方式刪除向量內(nèi)某一元素。例如:a<-c(1:4);a<-a-3 a結(jié)果為1 2 4,向量,向量排序 1、向量正排序 sort()函數(shù):根據(jù)數(shù)值大小進行正排序。例如a<-c(11:20,c(1:9));sort(a) 2、向
12、量倒排序 rev()函數(shù):根據(jù)下標進行到排序。例如a<-c(1,4,2,6,8);rev(a),向量,向量去重 unique()函數(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)包含至少一個NA,返回錯誤,不包含任何NA,返回原有向量。例如:a)函數(shù):返回刪除NA后的向量。例如:b),na.action):返回向量a中元素為NA的下標。 is.na()函數(shù):用于判斷向量內(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(,):返回向量的補集。,矩陣和數(shù)組,創(chuàng)建矩陣 matrix()函數(shù):以向量的形式輸入矩陣中的全部元素,使用ncol和nrow可設(shè)置矩陣的行和列數(shù)。例如a):將矩陣反過來轉(zhuǎn)化為向量。,矩陣和數(shù)組,矩陣索引 1、使用行列下標來索引。例如: 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、使用行和列名稱來索引。例如:ar3,c2 3、使用一維下標來索引。例如:a1,#以向量形式返回矩陣a第一行的所有元素。a,1#以向量形式返回矩陣a第一列的所有元素。,矩陣和數(shù)組,矩陣編輯 1、矩陣合并。 cbind()函數(shù):通過列合并函數(shù)將多個已有向量合并成矩陣。例如:x1<-c(1:5);x2<-c(6:10);cbind(x1,x2) rbind()函數(shù):通過行合并函數(shù)將多個已有向量合并成矩陣。例如:x1<-c(1:5);x2<-c(6:10);rbind(x1,x2) 2
15、、刪除矩陣。 刪除矩陣內(nèi)某行和某列的方式類似于向量,實質(zhì)是對向量重新賦值。例如: data<-c(1:10);a<-matrix(data,ncol=2,nrow=5);a<-a-1, ,刪除第一行的元素。a,-1刪除第一列的元素。,矩陣和數(shù)組,矩陣的運算 1、一般運算。 A C D<-matrix(rnorm(16),4,4) 矩陣的加法(A+B) 矩陣的減法(A-B) 矩陣的各元素的乘法(A*B) 矩陣相乘(A%*%C),矩陣和數(shù)組,矩陣的運算 2、轉(zhuǎn)置矩陣t()函數(shù)。 例如:t(A) 3、矩陣求解solve() 例如:求解DX=A中的X,可以使用solve(D,A) 4、矩陣的特征值和特
16、征向量eigen() 例如:E<-eigen(D) $values為方陣的特征值,$vectors為方陣的特征向量,且一一對應(yīng)。,矩陣和數(shù)組,數(shù)組創(chuàng)建 array()函數(shù):設(shè)置位數(shù)向量來創(chuàng)建一個多維數(shù)組,矩陣可以看成一個2維數(shù)組。例如data<-array(c(1:30),dim=c(2,5,3));,矩陣和數(shù)組,數(shù)組索引 使用多個下標來索引。例如:data1,2,3,表示對第3個2*5矩陣中第一行第2列元素(23)進行了索引。data,3,則表示由第二維度下標是3的全部元素組成的二維數(shù)組。,矩陣和數(shù)組,apply函數(shù)應(yīng)用 apply函數(shù)可以讀取多維數(shù)組中某個維度的所有數(shù)據(jù)并應(yīng)用其它函數(shù)進行數(shù)
17、據(jù)處理。apply(x,MARGIN,FUN),x多維數(shù)組array.MARGIN預(yù)處理的維數(shù).FUN多維數(shù)組中某一維度元素的處理函數(shù)。例如: apply(data,3,sum)1(結(jié)果為55):用于計算多維數(shù)組data中第三維下標為1的所有元素的總和?;蛘呤褂胹um(data,,1)來實現(xiàn)。,列表和數(shù)據(jù)框,列表的創(chuàng)建 list()函數(shù):創(chuàng)建列表對象。例如:data<-list(a=c(1,2,3),b=c(one,tow),c=T,d=c(3i+4,9i-9));data。每列內(nèi)元素的數(shù)據(jù)類型和長度可以各不相同,但是相同列中元素的數(shù)據(jù)類型相同。,列表和數(shù)據(jù)框,列表索引 1、使用列下標來索引。
18、例如:data1 2、使用列名稱來索引。例如:data$a和dataa,列表和數(shù)據(jù)框,列表編輯 1、列表合并。使用c(,)合并和擴展list.注意list(,)不能進行l(wèi)ist合并,它是實現(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)建和名稱 data.frame()函數(shù):把多個向量建立為一個數(shù)據(jù)框,并為列設(shè)置名稱。例如:x1):讀取并編輯列名稱,如:names(x) names(x)1<-體積,列表和數(shù)據(jù)框,數(shù)據(jù)框
19、索引 1、索引列:使用列下標來索引,例如:x2.使用列名稱來索引,例如:x$運費和x運費,讀取多列數(shù)據(jù)可用x,1:2,不可以采用x形式。 2、索引行:行下標,,例如:x1:2, 3、索引元素:例如:x$運費1,x運費1, x21,x1,2 4、subset函數(shù)索引:例如:subset(x,運費32speed 2、with函數(shù):with(數(shù)據(jù)框名,域訪問函數(shù)1域訪問函數(shù)2...),例如:with(cars,speed),列表和數(shù)據(jù)框,數(shù)據(jù)框編輯 1、數(shù)據(jù)框的合并擴展: 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ù)可分為分類和數(shù)值兩種屬性,上面介紹的都是數(shù)值類型數(shù)據(jù),分類屬性類型可分為無序因子(factor)如用戶ID用“1”,“2”,“3”表示,沒有高低之分。有序因子(ordered)如用戶對商品的評分值“A”,”B”,
21、”C”,”D”,”E”。各個類別間存在大小高低順序。因子的存儲類型為整數(shù)型(integer),但顯示的是類別值,為字符串。,無序和有序因子,factor因子函數(shù):factor(x,levels=sort(unique(x),na.last=TRUE),labels,exclude=NA,ordered=FALSE) X:向量 levels:是因子的水平。如果不指定值,則有向量x內(nèi)不同的值確定 labels:是水平的標簽。如果不指定值,則由向量x內(nèi)不同點的值所對應(yīng)的字符串確定 exclude:在轉(zhuǎn)化時,如果想把向量內(nèi)某些取值的元素轉(zhuǎn)化為缺失值NA,則設(shè)置該參數(shù)。 ordered:FALSE轉(zhuǎn)化后
22、是無序因子,TRUE有序因子,無序和有序因子,使用as.factor把一個向量轉(zhuǎn)化為無序因子向量。例如: a<-as.factor(c(1,2,3));a,用is.factor判斷a是否為因子。例如:is.factor(a),將a1 23、于的比較。 可利用levels函數(shù)讀取和設(shè)置因子水平,格式為levels(因子名),levels函數(shù)將按因子水平值的升序顯示它們對應(yīng)的類別值。例如:a<-c(Poor,Improved,Excellent,Poor);b<-as.factor(a);levels(b);levels(b)1<-one;b,連續(xù)數(shù)據(jù)的離散化,cut函數(shù)可以把數(shù)值類型數(shù)據(jù)依據(jù)間隔區(qū)間分段,并返回一個因子序列。cut函數(shù)的常用參數(shù)為:X:被分割的向量。labels:分割時依據(jù)的間隔區(qū)間。include.lowest:分割時的最小間隔區(qū)間。ordered_result:如果設(shè)置為T,則返回有大小意義的因子作為結(jié)果,為F 24、,則返回無大小意義的因子作為結(jié)果。例如:某網(wǎng)站21名訪問者一天內(nèi)停留的時間數(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)站停留時間:3小時4分50秒;data<-strsplit(data,split=:)。結(jié)果:網(wǎng)站停留時間 3小時4分50秒 。data<-unlist(data);data<-strsplit(data,split=小時)。結(jié)果為: 11 網(wǎng)站停留時間 21 3 4分50秒 若要分割結(jié)果為11 3 4分50秒,可采用分割的嵌套。例如:data<-網(wǎng)站停留時間:3小時4分50秒; data<-strsplit(strsplit(data,split=:)12,split=小時);data。提取小時可用:data<-unlist(data 27、);h<-as.numeric(data1);h,字符串操作,字符串內(nèi)部字符的讀取和替換 1、使用substr()函數(shù)進行讀取和替換字符串substr(x,start,stop) x:字符串或者字符串對象。start:預(yù)讀取/替換字符串的第一個下標。stop:預(yù)讀取/替換字符串的最后一個下標。例如: 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)匹配的序列編號。如果不匹配,則返回intege 28、r(0).其中 pattern可以使字符串,也可以是一個正則表達式。例如: 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可以是字符串,也可以是一個正則表達式。例如: a<-GET /News.html HTTP/1.0 feed.html HTTP/2.0;c<-regexpr(.html,a);c 1 10#第一個和字符串”.html”匹配的起始位置是10 attr(,match.length) 1 5#第一個和字符串”.html”匹配的字符長度是5 attr(,useBytes) 1 TRUE#在字符串a(chǎn)中是否有字符串”.html”匹配,答案為TRUE,字符串操作,使用regexpr()gregexpr()函數(shù)讀取字符串內(nèi)特定字符串 regexpr()函 30、數(shù)只查詢第一個特定字符,要想多次匹配需要使用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ù)直接進行字符替換,old:預(yù)被替換的x中的舊字符集合。如果x中不包含old,則返回x,不做處理。new:新補充的字符集合。其長度必須大于舊字符集合。例如: a a a a<-cha 31、rtr(hf,01,a);a 1 0ag0111,字符串操作,使用sub()和gsub()函數(shù)進行字符串替換 chartr()是進行字符替換,sub()和gsub()函數(shù)的替換單位是字符串。sub(pattern,replacement,x),pattern:預(yù)被替代的字符串,可以使用正則表達式,replacement替換后的字符串。例如: a b<-sub(.html,替換,a);b 1 GET /News替換 HTTP/1.0 feed.html HTTP/2.0,字符串操作,使用sub()和gsub()函數(shù)進行字符串替換 sub()函數(shù)只對一個”.html”進行替換,要想進行全部替換可以 32、使用gsub()函數(shù),例如: a b<-gsub(.html,替換,a);b 1 GET /News替換 HTTP/1.0 feed替換 HTTP/2.0,正則表達式,字符類 :表示字符集合。aeiou匹配任一英文元音字符,0-9匹配任一個09的數(shù)字,a-z匹配任一個小寫英文字母,A-Z匹配任一個大寫英文字母,a-z0-9A-Z匹配任一個字母、數(shù)字、下劃線。 小數(shù)點(.)代表除換行符以外的任意一個字符。 查找小數(shù)點(.)或者(,)需使用.或者,來表示,正則表達式,限定符 *:重復(fù)零次或更多次 +:重復(fù)一次或更多次 ?:重復(fù)零次或一次 n:重復(fù)n次 n,:重復(fù)n次或更多次 nm:重復(fù)nm次 例如 33、:,正則表達式,實例: 輸入數(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向量長度。labels:因子水平的標簽。ordered:F無序因子,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ù)列的首項數(shù)據(jù),to:等差數(shù)列的尾項數(shù)據(jù) by:等差的數(shù)值。length.out:產(chǎn)生向量的長度。 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)建,隨機抽樣sample: simple(x,size,replace),x:整體數(shù)據(jù),以向量形式給出size:抽取樣本的數(shù)目replace:F:不重復(fù)size不能大于x長度,T重復(fù)size允許大于x長度。 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ù)類型的向量或數(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)分布隨機數(shù)的產(chǎn)生函數(shù)。n:產(chǎn)生隨機數(shù)的數(shù)目,mean:平均值,sd:標準差。例如: 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ù)學函數(shù) abs(x):計算x的絕對值sq 38、rt(x):計算x的平方根 ceiling(x):計算不小于x的最小整數(shù) floor(x):計算不大于x的最大整數(shù) trunc(x):截掉x的小數(shù)部分 round(x,digits=n):計算x四舍五入為n位小數(shù)的值 signif(x,digits=n):計算x四舍五入為n位數(shù)的值 sin(x),cos(x),tan(x):計算x的正弦、余弦、正切值 log(x,base=n):計算以n為底的x的對數(shù) log(x):計算x的自然對數(shù) exp(x):計算x的指數(shù)函數(shù),常用數(shù)據(jù)的創(chuàng)建,常用的統(tǒng)計函數(shù) mean(x):計算x的均值median(x):計算x的中位數(shù) sd(x):計算x的樣本標準差va 39、r(x):計算x的樣本方差 range(x):計算x的取值范圍max(x):計算x的最大值 length(x):計算x包含的元素個數(shù)min(x):計算x的最小值 sum(x):計算x的總和 cumsum(x):計算x的累積和 例如:cumsum(c(1,2,3,4))函數(shù)值為:1 3 6 10 prod(x):計算x的連乘積 quantile(x,probs):計算x在probs分位點上的分位值 scale(x):對x做標準化處理(減均值除以標準差),常用數(shù)據(jù)的創(chuàng)建,其他分布函數(shù) 泊松分布pois() 指數(shù)分布exp() Gamma分布gramma() 均勻分布unif() 二項分布binom 40、() 幾何分布geom() 柯西分布cauchy() logistic分布logis() 也可以使用前綴r、p、d,控制流,分支語句 if-else分支語句 if(a15)print(ha)else if(a5)print(s)elseprint(k) 1 k switch分支語句 result switch(result,低,正常,高,偏高) 1 高,控制流,循環(huán)語句 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)語句 repeat-break循環(huán)語句,repeat是無限循 41、環(huán)語句,并且會在達到循環(huán)條件后使用break語句直接跳出循環(huán)。 s i repeatif(i print(s) 1 5050,運算符、函數(shù)、過程,運算符 數(shù)學運算 運算后給出數(shù)值結(jié)果 +, -, *, /, x%%y除法運算后的余數(shù) x%/%y整數(shù)除法 比較運算 運算后給出判別結(jié)果(TRUE FALSE) , =, ==, != 邏輯運算 與、或、非 library(lattice) histogram(x$x1|x$sex,main=不同性別的數(shù)學分析成績的直方圖,xlab=性別,ylab=數(shù)學分析成績),lattice繪圖,lattice繪圖示例 二、箱線圖 bwplot(x$sexx$x 42、1|as.factor(x$levers),main=不同性別的數(shù)學分析成績的箱線圖,xlab=數(shù)學分析成績,ylab=性別,subset=(x$levers!=A)),面板條形區(qū)域顯示的是成績等級。subset參數(shù)指定成績等級不是”A”的區(qū)域繪圖,lattice繪圖,lattice繪圖示例 三、核密度圖 densityplot(x$x1|x$sex,main=不同性別的數(shù)學分析成績的核密度圖,xlab=成績,ylab=密度) densityplot(x$x1,group=as.factor(x$levers),main=不同等級的數(shù)學成績的核密度圖,xlab=成績,ylab=密度),latt 43、ice繪圖,lattice繪圖示例 四、散點圖 xyplot(x$x1x$x2|as.factor(x$levers),main=不同等級的數(shù)學分析線性代數(shù)成績的散點圖,xlab=數(shù)學分析成績,ylab=線性代數(shù)成績,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))表示各格柵中縱坐標刻度單位相同,橫坐標各自不同type=c(p,g,smooth)p表示在每 44、個格柵中繪制散點圖,g表示在每個格柵中添加網(wǎng)格線,smooth表示在每個格柵中添加利用局部加權(quán)散點平滑法得到的回歸線。 col.line 回歸線的顏色,lattice繪圖,lattice繪圖示例 四、散點圖,lattice繪圖,lattice繪圖示例 四、三維散點圖 cloud(x$x1x$x2*x$x3|x$levers,,main=不同等級的數(shù)學分析線性代數(shù)概率統(tǒng)計成績的三維散點圖,xlab=數(shù)學分析,ylab=線性代數(shù),zlab=概率統(tǒng)計,scales=list(col=2)) scales=list(col=2)表示用2號紅色繪制三維的坐標方向指示線。,lattice繪圖,lattice繪圖示例 四、三維散點圖,Thank you!,
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。