標籤:
(一)R函數
R是一種解析型語言,輸入後可直接擷取結果
函數(輸入參數,參數)
R的函數分為“進階”和“低級函數”
•?進階函數可調用低級函數
•?進階函數稱為泛型函數
•?函數名 <-‐ funcion(資料,參數=1,預設值){
•? 異常處理
•? 運算式
•? return 傳回值
•?}
(二)R賦值與注釋
•?2+2
•?a < -‐2
•?c <-‐ a+b
•?#注釋
(三)對象起名
•?1.區分大小寫,China與china不同
•?2.不能用數字作為變數,對象也不能用數字開頭
•?3.保留字
–?NA,NaN,Pi,LETTERS,leBers,month 等
(四)元素的類型
•?數值型,Numeric
•?字串,Character
•?邏輯型,Logical
•?因子型,Factor
•?複數型,Complex 如2+3i
•?向量(vector),一系列元素
–? c(1,2,3);c(“a”,”a”,”b”,”b”,”c”)
•?因子(factor) 因子是一個分類變數
•?c(“a”,”a”,”b”,”b”,”c”)
•?矩陣(matrix),二維的資料表,是一個數組的特例
•?數組(array)
–?數組是k維的資料表(k in 1:n ,n 為正整數)
•?資料框(dataframe)
–?是由一個或幾個向量和因子構成,他們必須是等長的,但可以是不同但資料類型
•?列表
–?列表可以包含任何類型的對象
–?可以包含向量、矩陣、高維數組也可以包含lixt
運算子
•?數學運算
–?+,-‐ ===
•?比較運算 返回true or false
–?>,<,<=,>=,==
•?邏輯運算
–?!,&,&&,|,||
外部資料讀取
•?read.table()
•?read.csv() 讀取csv或者
•?可以直接通過某些程式包讀取excel等格式資料
•?read.csv(‘file’,header=T)
–?header=T 表示將資料的第一行作為標題
類的判斷
•?mode() 判斷儲存類型
•?class(),判斷資料的類
•?is.numeric()
•?is.logical()
•?is.charactor()
資料框內元素的引用
•?intake <-‐ data.frame(intake.pre,intake.post)
•?1. $ 引用列,後面為列的名稱
–?例如:intake$ intake.pre
•?2. [,] 方括弧,逗號前為行,逗號後為列
•?intake[,1]
•?I = 1:5;intake [i,]
類的轉換
•?as.numeric()
•?as.logical()
•?as.charactor()
•?as.matrix()
•?as.data.frame()
•?as.factor()
(五)R操作Json
1.安裝Json
2.載入進GUI中
3.從json轉到R上
4。class判斷類型,cat輸出不帶橫線的json字串,peint輸出的帶有/,可以通過$取到深層次的json串,最內層的可以用[]去得到
5.將toJson之後字串輸出到檔案使用sink或者writeLines
(六)R 語言不僅在統計分析和資料採礦領域計算能力強大,它在資料視覺效果領域也不遜於
昂貴的商業軟體。當然,R 在可視化上強大,其背後離不開各種開源軟體包的支援,Cairo
就是這樣一個用於向量圖形處理的類庫。Cairo 可以建立高品質的向量圖形 (GIF、SVG、
PDF、PostScript) 和位元影像 (PNG、JPEG、TIFF),同時支援在背景程式中高品質渲染!本節
將介紹 Cairo 在 R 語言中的使用。
1.安裝
2.載入進GUI並檢查Cairo包支援的圖片格式
3.畫散佈圖
(七)R中的時間序列基礎庫ZOO
時間序列分析是一種動態資料處理的統計方法,通過對時間序列資料的分析,我們可
以感覺到世界正改變著什麼! R 語言作為統計分析的利器,對時間序列處理有著強大的支
持。在 R 語言中,單獨為時間序列資料定義了一種資料類型 zoo,zoo 是時間序列的基礎,
也是股票分析的基礎。本節將介紹 zoo 庫在 R 語言中的結構和使用。
1.介紹
zoo 是一個 R 語言類庫,zoo 類庫中定義了一個名為 zoo 的 S3 類型對象,用於描述規
則的和不規則的有序的時間序列資料。zoo 對象是一個獨立的對象,包括索引、日期、時
間,只依賴於基礎的 R 環境。zooreg 對象繼承了 zoo 對象,只能用於規則的時間序列資料。
R 語言中很多其他的程式包,都是以 zoo 和 zooreg 作為時間序列資料的基礎的!
zoo 包的API 主要有 6 類
(1)基礎對象
? zoo: 有序的時間序列對象。
? zooreg: 規則的時間序列對象,繼承 zoo 對象。與 zoo 相比,不同之處在於 zooreg 要求資料是連續的。
(2)類型轉換
? as.zoo: 把一個對象轉型為 zoo 類型。
? plot.zoo: 為 plot 函數提供 zoo 的介面。
? xyplot.zoo: 為 lattice 的 xyplot 函數提供 zoo 的介面。
? ggplot2.zoo: 為 ggplot2 包提供 zoo 的介面。
(3)資料操作
? coredata: 查看或編輯 zoo 的資料部分。
? index: 查看或編輯 zoo 的索引部分。
? window.zoo: 按時間過濾資料。
? merge.zoo: 合并多個 zoo 對象。
? read.zoo: 從檔案讀寫 zoo 序列。
? aggregate.zoo: 計算 zoo 資料。
? rollapply: 對 zoo 資料的滾動處理。
? rollmean: 對 zoo 資料的滾動計算均值。
(4)NA 值處理
? na.fill: NA 值的填充。
? na.locf: 替換 NA 值。
? na.aggregate: 計算統計值替換 NA 值。
? na.approx: 計算插值替換 NA 值。
? na.StructTS: 計算季節 Kalman 濾波替換 NA 值。
? na.trim: 過濾有 NA 的記錄。
(5)協助工具輔助
? is.regular: 檢查是否是規則的序列。
? lag.zoo: 計算步長和差分。
? MATCH: 取交集。
? ORDER: 值排序,輸出索引。
(6)顯示控制
? yearqtr: 以年季度顯示時間。
? yearmon: 以年月顯示時間。
? xblocks: 作圖沿 x 軸分割圖形。
? make.par.list: 用於給 plot.zoo 和 xyplot.zoo 資料格式轉換。
R-大資料分析挖掘(5-R基礎回顧)