R軟件入門幻燈片_第1頁
R軟件入門幻燈片_第2頁
R軟件入門幻燈片_第3頁
R軟件入門幻燈片_第4頁
R軟件入門幻燈片_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、R 軟件入門,西南財經(jīng)大學金融學院,1,2,R的無私奉獻者,Bill Venables,Robert Gentleman,Ross Ihaka,2,CRAN提供了許多便于統(tǒng)計分析的宏包: /src/contrib/PACKAGES.html stable - 穩(wěn)妥(分布)廣義回歸分析 tseries 時間序列分析 VaR 風險值分析 matrix 矩陣運算 還有很多,統(tǒng)計分析軟件包,3,2020/6/23,初步認識R, x1 x2 y plot(x2,y, type=“l(fā)”),plot(x2,y,main=“畫圖練習”, type=“s”, su

2、b=“好好練”, xlab=“x軸”,ylab=“y軸”),4,2020/6/23,數(shù)學函數(shù) abs,sqrt:絕對值,平方根 log, log10, log2 , exp:對數(shù)與指數(shù)函數(shù) sin,cos,tan,asin,acos,atan,atan2:三角函數(shù) sinh,cosh,tanh,asinh,acosh,atanh:雙曲函數(shù),5,一、簡單統(tǒng)計量,sum, mean, var, sd, min, max, range, median, IQR(四分位間距)等統(tǒng)計量, sort,order,rank與排序有關, 其它還有ave,fivenum,mad,quantile, stem等。

3、,6,2020/6/23,計算函數(shù),+, -, *, /, , %, %/%:四則運算 ceiling,floor,round,signif,trunc,zapsmall:舍入 max,min,pmax,pmin:最大最小值 range:最大值和最小值 sum,prod:向量元素和,積 cumsum,cumprod,cummax,cummin:累加、累乘 sort:排序 approx和approx fun:插值 diff:差分 sign:符號函數(shù),7,2020/6/23,二、賦值與運算,產(chǎn)生數(shù)據(jù) 簡單的規(guī)則序列 1:10 # 號是R的注釋符號 1 1 2 3 4 5 6 7 8 9 10 10

4、:1 1 10 9 8 7 6 5 4 3 2 1 seq(1, 10, 0.5) # 等差數(shù)列 1 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 11 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0,8,2020/6/23, rep(2, 5) # 重復相同的對象 1 2 2 2 2 2 rep(1:3, times = 3) # 觀察與下例的不同 1 1 2 3 1 2 3 1 2 3 rep(1:3, each = 3) 1 1 1 1 2 2 2 3 3 3 rep(1:3, 1:3),9,2020/6/23,產(chǎn)生結構化數(shù)據(jù)

5、向量用函數(shù)c()產(chǎn)生: x = c(9, 1, 1) x 1 9 1 1 (x = c(Xie, Yi, Hui) # 為什么用括號,10,2020/6/23,矩陣用matrix()產(chǎn)生: matrix(1:10, 2) # 注意:默認按列排列 ,1 ,2 ,3 ,4 ,5 1, 1 3 5 7 9 2, 2 4 6 8 10 matrix(1:10, nrow = 2, ncol = 5, byrow = T),11,2020/6/23,數(shù)據(jù)框用data.frame()產(chǎn)生 x = data.frame(1:5, 4:8) # 把若干個向量合成數(shù)據(jù)框 x X1.5 X4.8 1 1 4 2

6、2 5 3 3 6 4 4 7 5 5 8,12,2020/6/23,x = cbind(x, c(A, B, C, D, E) dimnames(x) colnames(x) 運算 算術運算:+, -, *, /, %(余數(shù)), %/%(整數(shù)商), (乘方) 5%2,13,2020/6/23,邏輯運算: y = 0.2*x + 0.1*rnorm(100) fit = lm(y x) Summary(fit) plot(x, y); abline(fit),17,2020/6/23,18,2020/6/23,邏輯向量,向量可以取邏輯值,如: l = c(T, T, F) l輸出1 TRUE

7、TRUE FALSE 當然,邏輯向量往往是一個比較的結果,如: x 輸出 1 1.00 4.00 6.25 l = x 3 l 輸出 1 FALSE TRUE TRUE,一個向量與常量比較大小,結果還是一個向量,元素為每一對比較的結果邏輯值。 兩個向量也可以比較,如: log(10*x) 1 2.302585 3.688879 4.135167 log(10*x) x 輸出1 TRUE FALSE FALSE 比較運算符包括,=,=,!=。,19,2020/6/23,字符型向量,向量元素可以取字符串值。例如: c1 =c(x, sin(x) c1 輸出 1 x sin(x) ns = c(We

8、ight, Height, 年齡) ns 輸出1 Weight Height 年齡 paste函數(shù)用來把它的自變量連成一個字符串,中間用空格分開,例如: paste(My, Job) 1 My Job paste(Hi,早) 輸出1 Hi 早,20,2020/6/23,連接的自變量可以是向量,這時各對應元素連接起來,長度不相同時較短的向量被重復使用。自變量可以是數(shù)值向量,連接時自動轉換成適當?shù)淖址硎荆纾?paste(c(X, Y), =, 1:4) 1 X = 1 Y = 2 X = 3 Y = 4 分隔用的字符可以用sep參數(shù)指定,例如: paste(result., 1:5, se

9、p= ) 1 result.1 result.2 result.3 result.4 result.5 如果給paste()函數(shù)指定了collapse參數(shù), 則把字符串向量的各個元素連接成一個字符串, 中間用collapse指定的值分隔。比如 paste(c(a, b), collapse=.) 得到a.b。,21,2020/6/23,復數(shù)向量,R支持復數(shù)運算。 復數(shù)常量只要用3.5+2.1i這樣的格式即可。 復向量的每一個元素都是復數(shù)。 可以用complex()函數(shù)生成復向量(見幫助)。Re()計算實部,Im()計算虛部, Mod() 計算復數(shù)模,Arg()計算復數(shù)幅角。,22,2020/6

10、/23, complex(2) 1 0+0i 0+0i complex(2,4,6) 1 4+6i 4+6i complex(1,4,6) 1 4+6i y = 1:2 + 1i*(8:9) y 1 1+8i 2+9i Re(y) 1 1 2 Im(y) 1 8 9 Mod(y) 1 8.062258 9.219544 Arg(y) 1 1.446441 1.352127,23,2020/6/23,向量下標運算,某一個元素只要用xi的格式訪問,其中x是一個向量名,或一個取向量值的表達式,如: x 1 1.00 4.00 6.25 x2 1 4 (c(1, 3, 5) + 5)2 1 8 可以單

11、獨改變一個元素的值,例如: x2 x 1 1.00 125.00 6.25,24,2020/6/23,一、取正整數(shù)值的下標向量 v為一個向量,取值在1到length(x)之間,取值允許重復,例如, xc(1,3) 1 1.00 6.25 x1:2 1 1 125 xc(1,3,2,1) 1 1.00 6.25 125.00 1.00 c(a, b, c)rep(c(2,1,3), 3) 1 b a c b a c b a c,25,2020/6/23,定義分段函數(shù):y=f(x): 當x3.0時取x, 3.0= ?qr 函數(shù)diag()的作用依賴于其自變量。 diag(vector)返回以自變量

12、(向量)為主對角元素的對角矩陣。 diag(matrix)返回由矩陣的主對角元素組成的向量。 diag(k)(k為標量)返回k階單位陣。,30,2020/6/23, x=1:3 x 1 1 2 3 crossprod(x) ,1 1, 14 cbind(x) %*% x ,1 ,2 ,3 1, 1 2 3 2, 2 4 6 3, 3 6 9 x %*% rbind(x) ,1 ,2 ,3 1, 1 2 3 2, 2 4 6 3, 3 6 9, y=diag(x) y ,1 ,2 ,3 1, 1 0 0 2, 0 2 0 3, 0 0 3 diag(y) 1 1 2 3 diag(3) ,1 ,

13、2 ,3 1, 1 0 0 2, 0 1 0 3, 0 0 1,31,2020/6/23,矩陣合并與拉直,函數(shù)cbind()把其自變量橫向拼成一個大矩陣,rbind()把其自變量縱向拼成一個大矩陣。 cbind()的自變量是矩陣或者看作列向量的向量,自變量的高度應該相等(對于向量,高度即長度,對于矩陣,高度即行數(shù))。 rbind的自變量是矩陣或看作行向量的向量,自變量的寬度應該相等(對于向量,寬度即長度,對于矩陣,寬度即列數(shù))。 如果參與合并的自變量比其它自變量短則循環(huán)補足后合并。例如:,32,2020/6/23, x1= rbind(c(1,2), c(3,4) x1 ,1 ,2 1, 1

14、2 2, 3 4 x2 x3 x3 ,1 ,2 ,3 ,4 1, 1 2 11 12 2, 3 4 13 14, x4 = rbind(x1, x2) x4 ,1 ,2 1, 1 2 2, 3 4 3, 11 12 4, 13 14 cbind(1, x1) ,1 ,2 ,3 1, 1 1 2 2, 1 3 4,33,2020/6/23, a= rbind(c(1,2), c(3,4) a ,1 ,2 1, 1 2 2, 3 4 as.vector(a) 1 1 3 2 4 b=t(a) b ,1 ,2 1, 1 3 2, 2 4 c(a,b) 1 1 3 2 4 1 2 3 4,34,202

15、0/6/23,數(shù)組的外積,兩個數(shù)組a和b的外積是由a的每一個元素與b的每一個元素搭配在一起相乘得到一個新元素,這樣得到一個維數(shù)向量等于a的維數(shù)向量與b的維數(shù)向量連起來的數(shù)組, 即若d為a和b的外積,則dim(d)=c(dim(a), dim(b)。 a和b的外積記作 a %o% b。如 d d x y f z a=cbind(c(4,9,1),c(3,7,2) a ,1 ,2 1, 4 3 2, 9 7 3, 1 2 apply(a,2,sum) 1 14 12 apply(a,1,sum) 1 7 16 3 apply(a,2,sort) ,1 ,2 1, 1 2 2, 4 3 3, 9 7

16、, apply(a,1,sort ) ,1 ,2 ,3 1, 3 7 1 2, 4 9 2 t(apply(a,1,sort) ,1 ,2 1, 3 4 2, 7 9 3, 1 2,38,2020/6/23, apply(a, 2, sort) 但是,如果要對行排序,則apply(a, 1, sort)把a的每一行3個元素排序后的結果用第一維來引用,結果的維向量為c(N, dim(a)1)=c(3, 4),把原來的列變成了行,所以t(apply(a,1,sort) 才是對a的每一行排序的結果。如: apply(a, 1, sort) t(apply(a,1,sort),39,2020/6/23

17、,四、R統(tǒng)計檢驗,1.t檢驗 t.test 2.正態(tài)性檢驗 shapiro.test() , ks.test()(Kolmogorov-Smirnov 檢驗) ,jarque.bera.test() 3.相關性檢驗 cor.test,40,2020/6/23,五、R繪圖,plot(1:50)/50, log(1:50)/50), type=l),41,2020/6/23,高級圖形函數(shù)的常用選項,高級圖形函數(shù)有一些共同的選項,作為函數(shù)的可選參數(shù)(自變量)。例如: plot(x) plot(x, main=Graph of x) 其中的main就是一個可選參數(shù),用來指定圖形的標題。沒有此選項時圖形

18、就沒有標題。這樣的選項還有,42,2020/6/23,43,低級圖形函數(shù),高級圖形函數(shù)可以迅速簡便地繪制常見類型的圖形,但是,某些情況下你可能希望繪制一些有特殊要求的圖形。比如,你希望坐標軸按照自己的設計繪制,在已有的圖上增加另一組數(shù)據(jù),在圖中加入一行文本注釋,繪出多個曲線代表的數(shù)據(jù)的標簽,等等。 低級圖形函數(shù)讓你在已有的圖的基礎上進行添加。 低級圖形函數(shù)一般需要指定位置信息,其中的坐標指的是所謂用戶坐標,即前面的高級圖形函數(shù)所建立的坐標系中的坐標。坐標可以用兩個向量x和y給出,也可以由一個兩列的矩陣給出。如果交互作圖可以用下面介紹的locator()函數(shù)來交互地從圖形中直接輸入坐標位置。 常

19、用的低層圖形函數(shù)羅列如下:,44,2020/6/23,45,46,1、圖形元素,圖形由點、線、文本、多邊形等元素構成。下列的圖形參數(shù)用來控制圖形元素的繪制細節(jié):,47, plot(c(0, 100), c(0, 100), type=n, axes=F, xlab=, ylab=) legend(10,90, as.character(0:9), pch=0:9) legend(50,90, as.character(10:18), pch=10:18),48,49,50,51,2、坐標軸與坐標刻度,許多高級圖形帶有坐標軸,還可以先不畫坐標軸然后用axis()單獨加。 函數(shù)box() 用來畫坐

20、標區(qū)域四周的框線。 坐標軸包括三個部件:軸線(用lty可以控制線型),刻度線,刻度標簽。它們可以用如下的圖形參數(shù)來控制:,52,53,54,3、圖形邊空,55,2020/6/23,R中一個單獨的圖由繪圖區(qū)域(繪圖的點、線等畫在這個區(qū)域中)和包圍繪圖區(qū)域的邊空組成,邊空中可以包含坐標軸標簽、坐標軸刻度標簽、標題、小標題等,繪圖區(qū)域一般被坐標軸包圍。 邊空的大小由mai參數(shù)或mar參數(shù)控制,它們都是四個元素的向量,分別規(guī)定下方、左方、上方、右方的邊空大小,其中mai取值的單位是英寸,而mar的取值單位是文本行高度。例如: par(mai=c(1, 0.5, 0.5, 0) par(mar=c(4,

21、 2, 2, 1),56,2020/6/23,這兩個圖形參數(shù)不是獨立的,設定一個會影響另一個。R缺省的圖形邊空常常太大,以至于有時圖形窗口較小時邊空占了整個圖形的很大一部分。 通常我們可以取消右邊空,并且在不用標題時可以大大縮小上邊空。例如下例可以生成十分緊湊的圖形: oldpar plot(x,y) 在一個頁面上畫多個圖時邊空自動減半,但我們往往還需要進一步減小邊空才能使多個圖有意義。,57,2020/6/23,4、一頁多圖,R可以在同一頁面開若干個按行、列排列的窗格,在每個窗格中可以作一幅圖。 每個圖有自己的邊空,而所有圖的外面可以包一個“外邊空”。 一頁多圖用mfrow參數(shù)或mfcol參

22、數(shù)規(guī)定,如:,58,2020/6/23, par(mfrow=c(3,2) 表示同一頁有三行兩列共六個圖,而且次序為按行填放。類似地, par(mfcol=c(3,2) 規(guī)定相同的窗格結構,但是次序為按列填放,即先填滿第一列的三個再填第二列。 要取消一頁多圖只要再運行 par(mfrow=c(1,1)即可。 缺省時無外邊空。為了規(guī)定外邊空大小,可以用omi參數(shù)或oma參數(shù)。omi參數(shù)使用英寸為單位,oma參數(shù)以文本行高為單位,兩個參數(shù)均為四個元素的向量,分別給出下、左、上、右方的邊空大小。如: par(oma=c(2,0,3,0) 函數(shù)mtext用來在外邊空加文字標注。其用法為 mtext(text, side = 3, line = 0, outer = FALSE),59,2020/6/23,60,其中text為要加的文本內容,side表示在哪一邊寫(1為下,2為左,3為上,4為右),line 表示邊空從里向外數(shù)的第幾行,最里面的一行是第0號,outer=TRUE時使用外邊空,否則會使用當前圖的邊空。例如: par(mfrow=c(2,2), oma=c(0,0,3,0), mar=c(2,1,1,0.1) plot(Height) plot(Sex) boxplot(WeightSex);plot(Height,Weight) mtext(Sim

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論