【R數據科學】02.數據分析的基本流程

2022-01-16 芒果師兄聊生信

由於生信論文思路和期刊更新迭代較快,在生信論文百篇基礎上(芒果生信論文百篇 · 套路+寫作+期刊),結合一年內發表的論文,我們從生信技能、生信思路和期刊選擇角度,實戰分析生信策略。純生信操作適合入門,高級的生信分析和數據挖掘仍需要R語言實操,因此,我們以《R語言實戰》和《R數據科學》兩套經典教程為基礎,推出【R數據科學】系列。願與果友們一起學習,共同進步!

數據分析指用適當的統計方法對收集的數據進行分析,並提取有用信息、詳細研究和概括總結的過程。這一過程也是質量管理體系的支持過程。在實用中,數據分析可幫助人們作出判斷,以便採取適當行動。數據分析的數學基礎在20世紀早期就已確立,但直到計算機的出現才使得實際操作成為可能,並得以推廣。數據分析是數學與計算機科學相結合的產物。這裡,我們藉助大佬R語言數據分析的基本流程,分享R數據分析的基本流程。



大佬的博客,有興趣的可以參考:https://craig.rbind.io/

『01』導入數據

需要對文件進行讀入時,推薦readr包中的函數,而非R基礎包中的函數。readr包是tidyverse的核心包之一。可以直接安裝readr或者tidyverse,對於文本數據很友好。

readr 主要的函數如下:

install.package("readr")install.package("tidyverse")
library(readr)  
path <- "directory_path/filename.csv"  data <- read_csv(path)
data <- read_tsv(path)
data <- read_delim(path, delim = "|")


需要對Excel進行讀入時,推薦readxl包中的函數。readxl包也是tidyverse的核心包之一。可以直接安裝readxl或者tidyverse。
library(readxl)path <- "path/data.xlsx"data <- read_excel(path = path,        sheet = "sheet_name")


其他各種數據類型,大家做個了解,大部分情況都不會用到。
library(haven)data <- read_sav("file_name.sav")data <- read_dta("file_name.dta")library(rvest)url <- c("http://www.webpagename.com")web_page <- read_html(url)web_page_table <- html_nodes(web_page, "table")data <- html_table(web_page_table, fill = TRUE)library(jsonlite)r_bloggers_data <- fromJSON("~/Desktop/r-bloggers.json")

『02』基本數據結構
基礎計算。這一部分其實很簡單,跟常見的數據公式基本一樣。
5+6   89-28   7000*10   25/5   2^20   exp(8)   37 %% 2   

邏輯運算符

主要是判斷等於,不等於,大於,小於,大於等於,小於等於,且和或的關係。

#use double equality symbols to check for equality since "=" is reserved for

1 == 1 1 != 1 10 > 8 10 >= 8 10 < 8 5 <= 5 (1 > 3) & (10 > 3) (1 > 3) | (10 > 3) !x  isTRUE(x)  

基本匯總統計
sum(x)   mean(x)    median(x)    min(x)   max(x)   

數據結構

向量:一維數組

Factors :分類變量

矩陣:按列和行排列的二維向量數組,所有數據元素通常屬於同一類。

數據框:也是一個二維數組,但列可以是不同的類。

Tibbles =數據框的增強版本,具有改進的顯示特性。隨著tidyverse在過去幾年中變得更加突出,Tibbles 越來越受歡迎。

列表:任意對象的列表,比數據框更靈活,但使用起來不太直觀。列表元素可以由多種不同的數據類型組成,包括統計測試的輸出甚至整個數據框。

Arrays:多於 2 維的矩陣

d <- c(1, 3, 4, 5, 6)  ##向量
d <- factor(x, levels = c(1, 2, 3), labels = c("one", "two", "three"), ordered = TRUE)  ##因子
d <- matrix(data = c(1:40), nrow = 20, ncol = 2)  ## 矩陣
d  <- data.frame( name=c("李明", "張聰", "王建"), age=c(30, 35, 28), height=c(180, 162, 175), stringsAsFactors=FALSE)print(d)
## name age height## 1 李明 30 180## 2 張聰 35 162## 3 王建 28 175

隨機抽樣
sample(1:40, 6, replace=F) set.seed(seed = 934) 
random.sample <- rnorm(1000, mean = 100, sd = 1)
seq(from = 1, to = 7, by = 1)
rep(1:10, each = 2)
rep(seq(1, 7, 1), each = 3)

芒果總結:這部分總結主要是數據的載入或導入、數據類型和簡單分析(邏輯運算和隨機抽樣)。內容非常基礎,非常適合入門,但是需要結合統計思維和數據思維,更重要的是,我們需要實際操作,把R用起來。加油!

相關焦點

  • 數據可視化基本流程
    可視化基本流程可視化流程的基本步驟,就好像一個特殊的流水線,主要步驟之間彼此相互作用、相互影響。可視化流程的基本步驟,用文字表達就是:確定分析目標——收集數據——數據處理——數據分析——可視化呈現——結論建議。
  • 【數據分析】R語言獲取Excel數據
    ,我說,「我做數據分析的」;朋友又問我,「數據分析是做什麼的」,我想了又想,這樣回答,「數據分析是一個系統工程,以商業目的為驅動,包括數據獲取、數據整理、數據分析、數據展示、數據產品等一系列科學的環節,彼此之間相互關聯、支撐,又能夠不斷地迭代、優化和完善。
  • 數據科學中的Python與R
    數據科學家需要獨特的綜合技能,在數據方面是典型的「十」字型人才,即至少擁有兩項以上上述的數據技術、數據管理、數據安全、數據政策、數據挖掘與分析人才所必備的基本技能。    數據科學註定是一門交叉學科,其知識結構也比較複雜,需要同時具備理論基礎和工程經驗,以及掌握各種工具的用法。涉及到基礎的數學方法,如統計學習、計算機相關知識如機器學習、圖形設計和展示如可視化以及領域知識的運用等。
  • 使用R語言劍指商業數據分析
    如何系統學習和進階R語言數據分析?CDA數據分析集訓班R語言方向開課歡迎參加!數據是資訊時代的「新能源」。從金融到零售,從電商到體育,數據科學都成為成功決策的基礎,廣泛應用在營銷優化、風險控制、客戶關係等商業領域。
  • python數據科學-單變量數據分析
    我們把在正式開始機器學習之前對數據的了解過程成為探索性分析 , 簡稱 EDA。02|單變量數據分析:單邊量數據是指數據集中只有一個變量 ,也可以是多列中的某一列(可以理解成是某一個指標)。比如一個班的體測成績表是一個數據集(包含身高、體重、1000 米用時之類的各種指標),那麼該數據集裡面的某一個指標就可以看作是一個單變量數據。
  • 獨家 | 用於數據清理的頂級R包(附資源)
    確保數據乾淨整潔應該始終是數據科學工作流程中首要也是最重要的部分。數據清理是數據科學家最重要和最耗時的任務之一。以下是用於數據清理的頂級R包。每天有數百萬或數十億的數據元素進入您的企業,其中不可避免的存在一些缺乏建立高效業務模型的必要質量的數據元素。然而,確保數據乾淨整潔應該始終是數據科學工作流程中首要也是最重要的部分。
  • 帶你和Python與R一起玩轉數據科學: 探索性數據分析(附代碼)
    本系列將介紹如何在現在工作中用兩種最流行的開源平臺玩轉數據科學。先來看一看數據分析過程中的關鍵步驟 – 探索性數據分析。內容簡介本系列將介紹如何在現在工作中用兩種最流行的開源平臺玩轉數據科學。本文先來看一看數據分析過程中的關鍵步驟 – 探索性數據分析(Exploratory Data Analysis,EDA)。探索性數據分析發生在數據收集和數據清理之後,而在數據建模和分析結果可視化展現之前。然而,這是一個可反覆的過程。做完某種EDA後,我們可以嘗試建立一些數據模型或者生成一些可視化結果。同時,根據最新的分析結果我們又可以進行進一步的EDA,等等。
  • 知識分享 | R語言——大數據分析的一把利劍
    你需要掌握如何通過數據科學工具來分析數據,以及如何解決問題。事實證明,R語言是最佳的選擇。 二、最常用的程式語言之一我建議你將R語言作為你的第一個「數據科學程式語言」。雖然也有例外,比如特定的項目需要。
  • 【數據可視化】數據科學工作的相關內容數據可視化
    2017年8月26日,全球最大的數據科學社群Kaggle發布了數據科學/機器學習業界現狀全行業調查的數據集。調查問卷數據從2017年8月7日~8月25日收集。受訪者囊括了來自50多個國家的16,716+位從業者。
  • RStudio|用R Markdown生成你的R語言數據分析報告
    install.packages("rmarkdown")首先在Rstudio中創建一個txt文檔並將其另存為.Rmd格式:創建完 .Rmd格式文檔後,我們就可以著手寫一份基於 R Markdown 的報告啦。
  • 數據科學探索(python 與 R 的比較)
    這一期主要應用python和R 這2種工具對某真實信貸數據進行分析,通過數據的讀取、清洗、探索、模型構建等,比較2種方法在機器學習數據科學上的實現
  • Python入門學習之數據分析實戰獲取數據
    想用一個完整的案例講解Python數據分析的整個流程和基礎知識,實際上以一個數據集為例,數據集是天池上的一個短租數據集,後臺回覆:短租數據集,即可獲得。先來想一下數據分析的流程,第一步獲取數據,因此本節內容就是獲取數據以及對數據的基本操作。
  • 深度| R vs Python:R是現在最好的數據科學語言嗎?
    Sharp Sight Labs 近日在 r-bloggers 上發表了一篇文章,論述了為什麼當今的數據科學工作者應該學習 R 語言的原因。為了給大家提供一個明晰的對比,我們在後面補充了 2016 年初的一篇文章:R vs.Python。
  • 數據科學養成記 之 R語言基礎(2)——關於R包
    在上一節的學習中,我們已經學習了如何將數據導入R中進行數據分析。R作為一種主力的分析語言有著其獨特的優勢:大量的R包可供大家使用,提供方便快捷的數據分析,挖掘。目前有上千個R包(R package)可供大家使用,可從cran-r 下載。
  • 數據分析|Python基本數據結構
    近來,工作上需要用到Python進行數據類型準換與數據處理,自己感覺處理這類需求很生硬,於是便在網上找來文檔,加以學習。這次突擊學習,感覺對python的使用更加得心應手了,也感覺到那句至理名言,「解決問題是學習語言最好的方式」,實在經典。各位小可愛,顯然python又是一個系列,大家期待吧。
  • R vs. Python,數據分析中誰與爭鋒?
    作者丨Sunil Kappal譯者丨安翔R和Python兩者誰更適合數據分析領域?在某些特定情況下誰會更有優勢?還是一個天生在各方面都比另一個更好?當我們想要選擇一種程式語言進行數據分析時,相信大多數人都會想到R和Python——但是從這兩個非常強大、靈活的數據分析語言中二選一是非常困難的。
  • R數據科學--初見
    終於你跨越茫茫宇宙,來到生信星球,發現了初學者的新大陸前些天豆豆花花各入手一本學R必備的神書《R數據科學》,花花完結了零基礎入門R語言系列和ggplot系列。現在開始跟著這本書的思路走,仔細端詳R語言。如果你還不了解這本書,👇看這裡。
  • R語言數據處理全流程教學
    因此,本文旨在介紹R語言中數據整理和分析的主要步驟,以及每一步需要的代碼和功能包。本文以自變量為2 (social class: working vs. upper) × 2 (orientation: self vs. other ) × 10 (emotion: ...)的分類變量,因變量為scores連續變量的數據集為例,從原始數據導入,數據篩選和整理、描述性結果呈現、繪圖、到常用統計方法的應用,進行一套完整的數據處理和統計分析流程的介紹。
  • R語言入門系列-軟體下載,環境搭建,數據導入導出
    現在數據科學,深度學習領域最受歡迎的是Python, 那麼為什麼要學習R語言,Python 和 R 的優勢分別在哪兒?簡單來說,R語言更適用與研究,偏數理統計,小而精,適合將來做科研學術。Python更適用於工業領域,普適性,通用性,計算性能更好,更適合做程式設計師或者進入企業。所以首先需要確定自己的需求,R不一定適合每一個人。
  • 【TD精選】學習數據科學的102個資源
    為了達到目的,您必須從數據科學基礎的基本技術和基本概念入手。學習數據科學需要了解數據科學的流程,以及將所有內容整合在一起所需的各種組件。概覽首先需要了解構成數據科學領域的相關流程和概念,以便您可以學習數據科學。