作 者:劉健 邬書豪 著
定 價:69
出 版 社:機械工業出版社
出版日期:2019年07月01日
頁 數:241
裝 幀:平裝
ISBN:9787111629948
●目 錄推薦語前言第一部分 工具包篇第1章 數據導入工具21.1 utils—數據讀取基本功31.1.1 read.csv/csv2—逗號分隔數據讀取31.1.2 read.delim/delim2—特定分隔符數據讀取61.1.3 read.table—任意分隔符數據讀取71.2 readr—進階數據讀取151.3 utils vs readr—你喜歡哪個?171.4 readxl—Excel文件讀取181.5 DBI—數據庫數據查詢、下載211.6 pdftools—PDF文件221.7 jsonlite—JSON文件251.8 foreign package統計軟件數據261.9 本章小結27第2章 數據清理工具282.1 基本概念292.2 tibble包—數據集準備312.2.1 為什麼使用tibble322.2.2 創建tbl格式342.2.3 as_tibble—轉換已有格式的數據集342.2.4 add_row/column—實用小工具372.3 tidyr—數據清道夫402.3.1 為什麼使用tidyr402.3.2 gather/spread—“長”“寬”數據轉換402.3.3 separate/unite—拆分合並列432.3.4 replace_na / drop_na/—默認值處理工具442.3.5 fill/complete—填坑利器442.3.6 separate_rows/nest/unest—行數據處理452.4 lubridate日期時間處理472.4.1 為什麼使用lubridate472.4.2 ymd/ymd_hms—年月日還是日月年?482.4.3 year/month/week/day/hour/minute/second—時間單位提取492.4.4 guess_formats/parse_date_time—時間日期格式分析492.5 stringr字符處理工具512.5.1 baseR vs stringr512.5.2 正則表達式基礎532.5.3 簡易正則表達式創建542.5.4 文本挖掘淺析55第3章 數據計算工具583.1 baseR計算工具概覽593.1.1 基本數學函數593.1.2 基本運算符號613.1.3 基本統計函數623.2 dplyr包實戰技巧633.2.1 常見實用函數中英對照 633.2.2 dplyr—行(Row)數據處理643.2.3 dplyr—列(Column)數據處理 733.3 文本挖掘實操88第4章 基本循環—loops和*apply924.1 for循環934.1.1 基本概念934.1.2 基本構建過程944.1.3 簡單應用974.2 while循環984.2.1 基本概念984.2.2 基本構建過程994.2.3 簡單應用1004.3 “*apply”函數家族1024.3.1 lapply—“線性”數據迭代1034.3.2 sapply—簡約而不簡單1064.3.3 apply—多維數據處理利器1074.3.4 vapply—迭代的安全模式1094.3.5 rapply—多層列表數據處理1124.3.6 mapply—對多個列表進行函數運算115第5章 優雅的循環—purrr包1195.1 map函數家族1205.1.1 map—素進行迭代運算1205.1.2 map2和pmap—對兩個素進行迭代運算1255.1.3 imap—變量名稱或位置迭代1285.1.4 lmap—對列表型數據中素進行迭代運算1305.1.5 invoke_map—素進行多個函數的迭代運算1315.2 探測函數群1345.2.1 detect/detect_index—尋找第一個匹配條件的值1345.2.2 every/some—列表中是否全部素滿足條件?1365.2.3 has_element—向量中是否存在素?1375.2.4 head/tail_while—滿足條件之前和素1385.2.5 keep/discard/com-pact—有條件篩選1395.2.6 prepend—隨意插入數據1415.3 向量操縱工具箱1425.3.1 accumulate和reduce素累積運算1425.3.2 其他工具函數1435.4 其他實用函數1445.4.1 set_names—命名向素1445.4.2 vec_depth—嵌套列表型數據探測器1485.5 循環讀取、清理和計算149第6章 data.table—超級“瑞士軍刀”1526.1 data.table簡介1526.2 基本函數1536.2.1 fread—速讀1536.2.2 DT[i, j, by]—數據處理句式基本結構1586.2.3 “:=”—急速修改數值1626.2.4 fwrite—速寫,數據輸出1656.3 進階應用1676.3.1 有條件的急速行篩選1686.3.2 列選擇的多種可能1716.3.3 批量處理列及列的分裂與合並1736.3.4 合並數據集1766.3.5 “長寬”數據置換1776.3.6 計算分析178第二部分 案例篇第7章 數據科學從業者調查分析1827.1 案例背景及變量介紹1827.2 簡單數據清洗1837.3 數據科學從業者探索性數據分析1867.4 封裝繪圖函數1897.5 通過柱狀圖進行探索性分析數據1907.6 未來將會學習的機器學習工具1937.7 明年將學習的機器學習方法194第8章 共享單車租用頻次分析1988.1 案例簡介1988.2 數據準備及描述性統計分析1998.3 數據重塑2018.4 柱狀圖在數據分析中的簡單應用2028.5 柱狀和扇形圖在數據分析中的運用2048.6 折線圖在數據分析中的運用2078.7 相關繫數圖綜合分析209第9章 星巴克商業案例分析2119.1 案例背景介紹及變量介紹2119.2 數據描述性統計量分析2129.3 數據統計分析213第10章 學生成績水平分析22010.1 數據集22010.2 探索性數據分析229第11章 YouTube視頻觀看分析23411.1 案例背景及相關內容介紹23411.2 探索性數據分析237
本書按照數據分析的一般流程,介紹和討論了在各個流程中所需的常見的R函數,並對其中相對重要的函數做了較為詳盡的參數解釋和代碼演示。相較於大部分R語言學習資料中粗略概況性地告知讀者不同場景可能用到的R函數,本書更側重於幫助讀者建立自己的數據分析邏輯結構以及由一繫列常見R函數組成的“工具箱”。特別是tidyverse繫列工具箱和data.table包,目前的中文博客社區裡很少有資料對這兩者進行較為完整和繫統的介紹。對於R語言初學者來說,tidyverse繫列是學習使用R的很好起點,而data.table包則對中高級用戶大有助益。另外,本書對重要的“工具”函數,例如循環和迭代,做了較為詳盡的解釋和代碼演示,來幫助讀者理解其運行機制。最後,書中提供了5個實戰案例,結合書中介紹的各種“工具”,強化使用R語言進行數據分析的路線圖。
劉健 邬書豪 著
劉健,資深R語言技術專家,數據科學工程師。在新西蘭皇家植物與食品研究院工作,參與一項國際和兩項國家的級別研究項目,使用R語言開發完成氣像數據自動提取和模型文件自動化工具。由此參與編寫《Landscape Modelling and Decision Support》(在審)一書;獨立開發完成R語言程序包一個。該程序包主要針對模型軟件APSIMX的輸出數據進行整合及可視化;氣像數據自動化報告繫統。使用R語言對新西蘭不同地區的氣像數據進行自動獲取、歸集和可視化報告。科研上,作為作者發表期刊一篇,作者撰寫科研報告兩篇;作為R語言技術專家合作撰寫期刊一篇,合作撰寫科研報告16篇。
前 言為什麼要寫這本書開始學習和使用R語言,初學者最開始往往會有各種困惑和糾結,可能會走過許多的彎路。和眾多初學者一樣,我們也深感R語言的學習道路荊棘密布。寫這本書的初衷就是希望將我們的經歷分享給大家,讓學習R語言的道路變得平坦一些,降低初學者使用R語言的難度。在我們學習交流R語言的過程中,發現優選的挑戰是學習資料過剩卻不精。另外,國內的技術社區關於R語言的問答內容相對較少。開源的R語言從來不缺免費的學習資料,這當然是好事一件。但凡事總有兩面性,因為每個人學習R語言的目的和應用場景都略有不同,很多學習資料初看像是在介紹R語言不同方向的問題或者介紹一些新奇的R包和函數,但是我們發現初學者經常容易花費大量的時間重復閱讀相同的概念性問題。比如說使用R語言進行數據清理,不同的數據來源和分析任務可能會讓數據清理有上百種可行的方案。在耗費了很多時間嘗試這些等