R語言學習:R4DS學習交流、數據匯總、數據子集獲取、Rmd學習

2021-12-13 R語言

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語言學習

覺得本文不錯,就順手幫我轉發到朋友圈和微信群哦,謝謝。

相關焦點

  • R 語言入門學習路線與資源匯總
    本篇推文就不介紹為什麼需要學R了,你能打開這篇文章,說明你有學習 R 的想法或者正在學習 R 的路上。今天簡單介紹下R語言的學習路線以及R學習資源匯總。1.剛開始學習R語言,可以看一些免費入門視頻,可以在B站上面搜,B站有很多免費的R語言入門視頻,比如《尚學堂尹鴻的R語言速成實戰》[1],這個視頻是免費的,視頻講義素材來源於《R語言實戰》的第一章到第六章,這幾章可以邊看書邊跟著視頻學習,用來簡單入門基本夠了。
  • 【萬字長文】R語言入門學習路線與資源匯總
    本篇推文就不介紹為什麼需要學R了,你能打開這篇文章,說明你有學習R的想法或者正在學習R的路上。今天簡單介紹下R語言的學習路線以及R學習資源匯總。下面涉及到的R語言書籍我打包了PDF文件,有需要的在本公眾號後臺回復20210112即可免費獲取,整理不易,伸手黨勿擾。
  • R語言做深度學習
    閱讀本文,你可以獲得:R語言做深度學習工作環境創建R語言快速實現神經網絡模型R語言做深度學習的資料深度學習的應用場景感謝RStudio公司開發的keras包,使得R語言可以利用keras深度學習框架來做深度學習,具有簡潔,易學,好用等特性。什麼是Keras?
  • 【數據管理】Tidyverse:R 語言學習之旅的新起點
    學習R語言的傳統路徑(base R first)多是從變量類型、數據結構、流程控制、循環與自定義函數,也就是以R程式設計作為起點,接著依照數據處理、視覺化、統計與機器學習等應用偏好延續下一個學習的旅程;由tidyverse
  • 我的R語言學習方法
    我為什麼要學習R語言?利用R語言做數據分析的工作;我怎麼學習R語言?在快速學習R語言基礎後,採用邊學邊做,不斷強化的策略學習和應用R語言;我學習R語言的什麼,我主要學習了R語言做數據整理,數據分析、數據建模和數據可視化這四方面的內容,並且對幫助我有效完成數據工作非常有幫助。第二點,我談一下自己在學習R語言的具體方法和做法。
  • R語言學習路線和常用數據挖掘包
    那麼,眾多書籍中,一個生手應該從哪一本著手呢?入門之後如何才能把自己練就成某個方面的高手呢?相信這是很多人心中的疑問。有這種疑問的人有福了,因為筆者將根據自己的經歷總結一下R語言書籍的學習路線圖以使Ruser少走些彎路。本文分為6個部分,分別介紹初級入門,高級入門,繪圖與可視化,計量經濟學,時間序列分析,金融等。
  • Tidy時代R語言學習的一些ABC
    主要就是寫一些和數據分析(或者用時髦的說法,數據科學)相關的內容。我是一個普通的數據工作者,統計學專業出身,在大學裡教過書,也做過一些實際數據工作。數據科學於我而言,可以算工作也可以算一種愛好。這個號用到的主要數據工具是R語言。原因很簡單,我用R用了11年,順手。
  • 獨家 | 手把手教你學習R語言(附資源連結)
    這套學習方法對於數據科學或R語言的初學者會很有用;如果讀者是R語言的老用戶,則會由本文了解這門語言的部分最新成果。R語言學習方法會幫助您快速、高效學習R語言。前言在開始學習之前,第一個要回答的問題是:為什麼要用R語言?或者R語言為何如此有用?
  • R語言學習筆記之相關性矩陣分析及其可視化
    導入數據data(mtcars)#加載數據集mydata <- mtcars[, c(1,3,4,5,6,7)]head(mydata, 6)#查看數據前6行library(Hmisc)#加載包res2 <- rcorr(as.matrix(mydata))res2#可以用res2$r、res2$P來提取相關係數以及顯著性p-valueres2$r
  • 超級乾貨 :手把手教你學習R語言(附資源連結)
    這套學習方法對於數據科學或R語言的初學者會很有用;如果讀者是R語言的老用戶,則會由本文了解這門語言的部分最新成果。R語言學習方法會幫助您快速、高效學習R語言。前言在開始學習之前,第一個要回答的問題是:為什麼要用R語言?或者R語言為何如此有用?
  • 【R語言學習】R語言概述與軟體下載安裝
    但是R軟體的使用需要編程基礎,因此R語言的學習就顯得尤為重要。科研創新服務平臺擬結合R軟體開展一系列R語言學習教程,旨在幫助科研人員儘快了解R語言在生物醫學領域中的應用,敬請期待!R語言是用於統計分析,圖形表示報告的程式語言和軟體環境。
  • Python入門學習之數據分析實戰獲取數據
    想用一個完整的案例講解Python數據分析的整個流程和基礎知識,實際上以一個數據集為例,數據集是天池上的一個短租數據集,後臺回覆:短租數據集,即可獲得。先來想一下數據分析的流程,第一步獲取數據,因此本節內容就是獲取數據以及對數據的基本操作。
  • 教程|R語言學習與實踐教程
    我創建了R語言微信群,定位:R語言學習與實踐,要進群的朋友,添加我微信:luqin360。本文的外部連結,請點擊閱讀原文進入到數據人網後,就可以訪問和查看了。在這個內核中,我收集了我所寫的所有R語言教程,按級別劃分。初學者:在這個級別,我假設你沒有編程背景或剛剛開始使用R.
  • R語言數據可視化--多組學(數據集)相關性分析
    每一個組學產生的數據均為一個數據集,數據量通常都是幾萬或者幾十萬;數據集之間的各個參數如基因表達量和化合物含量進行相關性分析,兩兩配對比較後往往數據量都在百萬以上,數據量龐大。這裡介紹可以用來做數據集之間相關性分析的R包psych。數據準備行名為化合物代號,列名為樣品代號,數值為化合物含量行名為基因代號,列名為樣品代號,數值為基因相對表達量
  • 快速入門 | 學習 R 語言
    與 C 語言和 Python 不同x[3][1] 4提取子集注意:R 語言中的範圍包含最後一個元素,即使用閉區間 [a, b]!語言中的注釋也以 # 開頭y <- mean(x)y # print out y[1] 2.333333內置數據集使用 data() 函數返回內置的數據集data()以尼羅河水流量數據集 Nile 為例,計算統計值mean(Nile)[1] 919.35
  • 【R函數學習】R語言時間序列函數整理
    is.regular(x)#排序zoo()和xts()會強制變換為正序(按照時間名稱)timeSeries不會強制排序;其結果可以根據sort函數排序,也可以採用rev()函數進行逆序;參數recordIDs,可以給每個元素(行)標記一個ID,從而可以找回原來的順序#預設的時間有重複的時間點時zoo會報錯xts按照升序排列timeSeries
  • R語言實戰(2)——創建數據集【學習分享】
    往期回顧:R語言實戰(1)——R語言介紹【學習分享】引言:上一章我們通過簡單的例子了解了R語言及R語言能實現的一些功能
  • 零基礎學習R語言數據分析
    前言我當初學習R的時候在網上搜到一則流傳很廣的R語言學習路線圖(R語言學習由淺入深路線圖),我在微信圈
  • 如何學習好R語言?【全套R語音書籍+視頻下載】
    包括了閱讀經典的教材、代碼、論文、學習公開課。 - 通過牛人來學習。 包括同行的聚會、討論、大牛的博客、微博、twitter、RSS。 - 通過練習來學習。 包括代碼練習題、參加kaggle比賽、解決實際工作中的難題。 - 通過分享來學習。 包括自己寫筆記、寫博客、寫書、翻譯書,和同伴分享交流、培訓新人。# 全套R語音書籍下載。關注公眾號後,回覆:R語言
  • R語言從入門到精通:Day6-R語言數據操作進階及控制結構
    最近經過前面幾次推文的學習,我們的R語言教程已經講解了快1/3的內容,相信大家對R語言已經有了初步的了解,特別是感受了R語言在數據處理領域的強大功能