2016.12.31~2017.01.01
開始學習R語言 計劃利用元旦3天假期學完《R語言實戰》1~7章
粗略學習繪圖有關的章節、重點掌握數據統計方法
第1章 R語言介紹
1.1 介紹
本章內容
- R的安裝
- 熟悉R語言
- 運行R程序
1.2 為何要用R
(1) 處理同領域問題的其它軟件
市面上也有許多其他流行的統計和制圖軟件,如Microsoft Excel、SAS、IBM SPSS、Stata以及Minitab。
(2) 選擇R的好處:
- 開源、免費
- 支持的領域多
- 豐富的統計計算例程
- 頂尖的制圖水平
- 強大的交互功能:實現1.1的所有步驟,將任意一個步驟的結果進行保存、操作,并進一步輸入分析。
- 易于擴展,快速實現新方法
(3) 劣勢
- 學習曲線陡峭(這是相對于掌握R的所有功能)
- 功能模塊零散、難以找到(因為是個人貢獻的)
1.3.2 獲取幫助
1.3.3 工作空間
- 工作空間:(workspace)就是當前R的工作環境,它存儲著所有用戶定義的對象(向量、矩陣、函數、數據框、列表)。
- 鏡像:在一個R會話結束時,你可以將當前工作空間保存到一個鏡像中,并在下次啟動R時自動載入它。
1.3.4 輸入輸出
輸入
$source("xxx.R")
輸出
$sink("myoutput", append=TRUE, split=TRUE)
$pdf("mygraphs.pdf") #保存到pdf
$source("script2.R")
$sink()
$dev.off()
1.4 包
包的發布地址 https://cran.r-project.org/web/packages/
包是R函數、數據、預編譯代碼以一種定義完善的格式組成的集合。
包
- R函數
- 數據
- 預編譯代碼
- 完善的格式
- 庫:存儲包的目錄
命令集合:
$函數.libPaths() #能夠顯示庫所在的位置
$library() #可以顯示庫中有哪些包,未必已經載入
$search() #可以告訴你哪些包已經載入并可使用
$install.packages("gclus") #下載和安裝gclus
$update.packages() #可以更新已經安裝的包
$installed.packages() #查看已安裝包的描述
$help(package="package_name") #查看package幫助文檔
1.4.3 包的安裝和載入
- 安裝:包的安裝是指從某個CRAN鏡像站點下載它并將其放入庫中的過程。
- 載入:要在R會話中使用它,還需要使用library()命令載入這個包。例如,要使用gclus包,執行命令library(gclus)即可。
1.5 批處理
第2章 創建數據集
本章內容
? 探索R中的數據結構
? 輸入數據
? 導入數據
? 標注數據
第一部分(2.1~2.2節)---敘述了R中用于存儲數據的多種結構
2.1 數據集的概念
數據集通常是由數據構成的一個矩陣數組,行表示觀測,列表示變量。
- 觀測(observation) - 變量(variable)
- 記錄(record) - 字段(field)
- 示例(example) - 屬性(attribute)
2.2 數據結構
R擁有許多用于存儲數據的對象類型,包括標量、向量、矩陣、數組、數據框和列表。
以上數據結構區別在:
- 存儲數據的類型
- 創建方式
- 結構復雜度
- 定位和訪問元素的方法
2.2.1 向量
2.2.4 數據框
$ attach(xxxx) #可將xxxx數據框添加到R的搜索路徑中
$detach(xxxx) #將xxxx數據框從搜索路徑中移除
$with(xxx, {}) #{}中的所有操作都針對數據框xxx進行
2.2.5 因子
- 名義型變量:是沒有順序之分的類別變量
- 有序型變量:表示一種順序關系,而非數量關系。病情Status(poor、improved、excellent)是順序型變量的一個上佳示例
- 連續型變量:可以呈現為某個范圍內的任意值,并同時表示了順序和數量。年齡Age就是一個連續型變量
- 因子:類別(名義型)變量和有序類別(有序型)變量在R中稱為因子(factor),使用factor()將名義型和有序型變量轉換為因子
factor類型的向量中有Levels的概念。Levels就是factor中的所有元素的集合(沒有重復)。我們可以發現Levels就是factor中元素排重后且字符化的結果!因為Levels的元素都是character。
2.2.6 列表
- 列表:就是一些對象(或成分,component)的有序集合。列表允許你整合若干(可能無關的)對象到單個對象名下。
第二部分(2.3節) ---涵蓋了多種向R中導入數據的可行方法
2.3 數據輸入方式
2.3.1 使用鍵盤輸入數據
2.3.2 從帶分隔符的文本文件導入數據
mydataframe <- read.table(file, options)
2.3.3 導入Excel數據
2.3.4 導入XML數據
2.3.5 從網頁抓取數據
網絡上的數據,可以通過所謂Web數據抓取(Webscraping)的過程,或對應用程序接口(application programming interface,API)的使用來獲得。
可以用twitteR來獲取Twitter數據,用 Rfacebook來獲取Facebook數據,用Rflickr來獲取Flicker數據。其他軟件包允許你連接上如Google、Amazon、Dropbox、Salesforce等所提供的廣受歡迎的網上服務。
2.3.6 導入SPSS數據
2.3.11 訪問數據庫管理系統
- 在mac上從mysql導入數據,使用RJDBC還是RODBC?
- 怎么判斷數據庫驅動是ODJBChi還是JDBC?
第三部分(2.4節) ---將討論數據集的標注問題
2.4 數據集標注
為了使結果更易解讀,數據分析人員通常會對數據集進行標注。這種標注包括為變量名添加描述性的標簽,以及為類別型變量中的編碼添加值標簽。例如,對于變量age,你可能想附加一個描述更詳細的標簽“Age at hospitalization (in years)”(入院年齡)。對于編碼為1或2的性別變量gender,你可能想將其關聯到標簽“male”和“female”上。
第四部分(2.5節) ---介紹一些處理數據集的實用函數
第3章 圖形初階
試試demo數據繪圖 Done
第4章 基本數據管理
本章內容
? 操縱日期和缺失值
? 熟悉數據類型的轉換
? 變量的創建和重編碼
? 數據集的排序、合并與取子集
? 選入和丟棄變量
4.3 變量的重編嗎
重編碼涉及根據同一個變量和/或其他變量的現有值創建新值的過程。舉例來說,你可能想:
? 將一個連續型變量修改為一組類別值;
? 將誤編碼的值替換為正確值;
? 基于一組分數線創建一個表示及格/不及格的變量。
4.4 變量的重命名
第5章 高級數據管理
5.2?? ??????????????????數值和字符處理函數
- 數值函數、數學函數、統計函數、概率函數
- 字符處理函數
基本的數值概念:
平均數:是幾個數據的算術平均數。
眾數:是一組數據中出現次數最多的數叫做這組數據的眾數。
中位數:是將一組數據按大小(或小大)順序排列后,處在最中間的一個數(奇數個)(偶數個求最中間的兩個數的平均數)。
極差:是一組數據的最大值減去最小值所得的差叫極差。它是反映數據變化范圍的。
(平)方差:是一組數據中各數據與它們的平均數的差的平方的平均數,我們把這個平均數叫做這組數據的方差。即來衡量這組數據的波動大小,一組數據的方差越大,說明這組數據的波動越大;方差越小,數據的波動越小。要比較數據的穩定性,一般會用到方差。方差比較全面地反映數據的離散程度。
標準差:是將求出的方差開平方,即算術平方根。這個算術平方根,即稱為這組數據的標準差。標準差也是用來表示一組數據的波動大小的量。和方差一樣是衡量這組數據的波動大小。
????絕對中位差
四分位數(Quartile):即統計學中,把所有數值由小到大排列并分成四等份,處于三個分割點位置的數值就是四分位數。
第6章 基本圖形
分析數據,第一件要做的事就是觀察它:對于每個變量,哪些值是最常見的?值域大小?是否有不同尋常的觀測?
本章主題:
- 將變量的分布進行可視化展示
- 通過結果變量進行跨組比較
以上說法中,變量可以是連續型、類別型。
第7章 基本統計分析
本章內容:
- 描述性統計分析
- 頻數表和列聯表
- 相關系數和協方差
- t檢測
- 非參數統計
很多名詞看不懂:偏度、峰度、因子向量、邏輯型向量、基五數、上下四分位數等等
可能是欠缺其它學科專業知識;暫停學習《R in action》,先補充其它知識。
2017-01-05 開始學習《深入淺出數據統計》 1~8章
2017-01-14 學習《R語言實戰》遇到瓶頸。從第7章開始,內容比較難懂,而且非常枯燥,數據都是關于汽車的,關鍵是學了也不知道怎么用。還是想想怎么從貼近我生活工作的案例開始。