數據分析(一): 《R語言實戰》

2016.12.31~2017.01.01
開始學習R語言 計劃利用元旦3天假期學完《R語言實戰》1~7章
粗略學習繪圖有關的章節、重點掌握數據統計方法


第1章 R語言介紹

1.1 介紹

本章內容
- R的安裝
- 熟悉R語言
- 運行R程序
1.1典型的數據分析步驟

1.2 為何要用R

(1) 處理同領域問題的其它軟件
市面上也有許多其他流行的統計和制圖軟件,如Microsoft Excel、SAS、IBM SPSS、Stata以及Minitab。

(2) 選擇R的好處:

  • 開源、免費
  • 支持的領域多
  • 豐富的統計計算例程
  • 頂尖的制圖水平
  • 強大的交互功能:實現1.1的所有步驟,將任意一個步驟的結果進行保存、操作,并進一步輸入分析。
  • 易于擴展,快速實現新方法

(3) 劣勢

  • 學習曲線陡峭(這是相對于掌握R的所有功能)
  • 功能模塊零散、難以找到(因為是個人貢獻的)

1.3.2 獲取幫助

表1-2 R中的幫助函數

1.3.3 工作空間

  • 工作空間:(workspace)就是當前R的工作環境,它存儲著所有用戶定義的對象(向量、矩陣、函數、數據框、列表)。
  • 鏡像:在一個R會話結束時,你可以將當前工作空間保存到一個鏡像中,并在下次啟動R時自動載入它。
表1-3 用于管理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 用于保存圖形輸出的函數

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節) ---介紹一些處理數據集的實用函數

表2-4-1 處理數據對象的實用函數
表2-4-2 處理數據對象的實用函數

第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章開始,內容比較難懂,而且非常枯燥,數據都是關于汽車的,關鍵是學了也不知道怎么用。還是想想怎么從貼近我生活工作的案例開始。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容