2021年第40周。
這一周R語言學習,記錄如下。
01
R4DS學習交流群
我創建了R4DS學習交流群,以R4DS書籍為基礎,聚焦於R語言做數據科學的任務。
想進群的夥伴,可以添加我的微信,備註:R4DS。我誠邀你入群,與大家交流和討論,相互學習。
02
R4DS第二章 工作流:基礎
1 內容結構
1)編碼基礎知識
R語言做為計算器工具
R語言賦值操作
2)命名的知識
3)調用函數的知識
2 目標管理
1)掌握賦值操作
2)掌握正確命名的規則
3)理解函數的調用
3 實操代碼
# R扮演計算器功能
1.01 ^ 365 # 每天進步一點點
0.99 ^ 365 # 每天退步一點點
(1.01 ^ 365) / (0.99 ^ 365) # 失之毫釐 謬以千裡
# R語言賦值操作
# 快捷鍵:Ctrl + -
my_name <- "R語言學習小王"
# 查看函數幫助文檔
?seq
# 函數調用
seq(from = 1, to = 10)
4 結果展示
03
數據匯總操作
dplyr包的summarize函數。
# 數據匯總操作
library(dplyr)
# 使用內置的數據集iris
iris %>% glimpse()
# 觀察萼片長度的均值和標準差
iris %>% summarise(
Sepal_Length_Mean = mean(Sepal.Length, na.rm = TRUE),
Sepal_Length_Sd = sd(Sepal.Length, na.rm = TRUE)
)
結果輸出
04
從數據框獲取數據子集的5種方法
1 方法指南
1)使用中括號獲取我們想要的行和列
2)使用中括號忽略我們不需要的行和列
3)使用中括號並結合which函數和 %in%操作
4)使用subset函數
5)使用dplyr包的filter函數和select函數
2 實操代碼
# 數據導入
education <- read.csv("https://vincentarelbundock.github.io/Rdatasets/csv/robustbase/education.csv", stringsAsFactors = FALSE)
colnames(education) <- c("X","State","Region","Urban.Population","Per.Capita.Income","Minor.Population","Education.Expenditures")
View(education)
# 從數據框獲取數據子集的5種操作
ed_exp1 <- education[c(10:21),c(2,6:7)]
ed_exp1 %>% View
ed_exp2 <- education[-c(1:9,22:50),-c(1,3:5)]
ed_exp2 %>% View
ed_exp3 <- education[which(education$Region == 2),names(education) %in% c("State","Minor.Population","Education.Expenditures")]
ed_exp3 %>% View
ed_exp4 <- subset(education, Region == 2, select = c("State","Minor.Population","Education.Expenditures"))
ed_exp4
library(dplyr)
ed_exp5 <- education %>%
filter(Region == 2) %>%
select(c(State,Minor.Population:Education.Expenditures))
ed_exp5 %>% View
05
用R語言學習數據科學
這本書是為數據科學初學者準備的。
它包括R語言、畫圖、機器學習和實操項目。
內容結構
1)基礎部分
學習基礎,R語言、統計學和數學
程式語言是數據科學的一個支柱
統計學和數學可以幫助理解數據和模型
2)轉換和探索性數據分析
學習轉換和分析數據
創建視覺上讓人舒服的柱狀圖,折線圖,熱圖和散點圖。包括了許多實際例子。
數據可視化有助於分析數據和分享想法。
3)機器學習
探索一些機器學習算法
包括決策樹、隨機森林、線性回歸。
學習如何準備和評估模型,以及討論各種機器學習算法的優缺點。
關於作者
Narayana Nemani是首席數據科學家。他參與了數據科學的教學和研究。他在Quora上寫文章,還參加Kaggle比賽。
獲取書籍
給R語言公眾號發送消息202140查看書籍獲取方式。
06
RMarkdown學習和應用
1 RMarkdown是什麼?
2 輸出格式
RMarkdown成功執行後,支持輸出多種格式,比方說HTML、PDF、Word。
推薦使用默認的HTML格式,原因有4點。
1)方便分享,只要有瀏覽器的地方,就可以查看HTML的內容。
2)靈活性強。
3)樣式齊全。
4)可定製性,使用CSS 做進一步定製。
3 創建Rmd文件
1)RStudio新建一個項目
2)在項目裡,File > New File > R Markdown
如下圖
輸入Title、Author,默認選擇輸出格式HTML。
點擊OK,創建了Rmd文件。
執行Rmd快捷鍵:Ctrl + Shift + K
4 Rmd學習方法
1)閱讀R4DS第27章的內容 R Markdown
https://r4ds.had.co.nz/r-markdown.html
2)模仿學習,從github上面找一下優質的Rmd文件進行模型學習和改造應用。這裡提供3個例子,歡迎大家補充。
2.1)BBC的Rcookbook的Rmd文件
https://github.com/bbc/rcookbook/blob/master/index.Rmd
2.2)Rgraphics的Rmd文件
https://github.com/IQSS/dss-workshops/blob/master/R/Rgraphics/Rgraphics.Rmd
2.3)探索和操作數據集的Rmd文件
https://github.com/mjfrigaard/storybench-posts/blob/master/03-how-to-explore-and-manipulate-a-dataset-from-the-fivethirtyeight-package-in-r.Rmd
07
可重複性代碼構建指南
創建項目工程,做項目管理
項目的層級架構,參考下圖:
各個文件夾和文件的用途
請注意
1 永遠不要修改原始數據,或者說,一定要備份好原始數據
2 對於任何項目,創建一個文件,記錄你的所思和所做,便於復盤和迭代
3 腳本的命名,請知名曉意,賦予含義,具有條理性和邏輯性,重視代碼的可讀性,代碼是讓電腦來運行的,更重要的是,讓人來看的。
4 對於一個複雜的項目,編寫代碼之前,先寫偽代碼或者畫流程圖
08
tidyverse技能增進
tidyverse是數據科學套件包,也是我常用的R包,可以完成數據導入、探索性數據分析、數據處理和整理、統計分析等數據工作。
如何提升tidyverse技能?
多學它和多用它。
我分享一本tidyverse技能的線上書籍,送給大家。
訪問網址:
https://jhudatascience.org/tidyversecourse/
本書在開篇,就談到了數據科學生命周期,一起學習下,關鍵的地方我做了標註。
大家可以掃碼添加我的微信,進入R4DS群,討論和交流tidyverse包的學習和應用。
如果你覺得文章內容有用,請關注下方公眾號~
如果你想找數據工作,請關注下方公眾號~
R語言學習專輯:
2021年第39周:R語言學習
2021年第38周:R語言學習
2021年第37周:R語言學習
2021年第36周:R語言學習
2021年第35周:R語言學習
2021年第34周:R語言學習
覺得本文不錯,就順手幫我轉發到朋友圈和微信群哦,謝謝。