R語言入門系列-軟體下載,環境搭建,數據導入導出

2022-01-13 R語言vs科研
1. 為什麼是R?

現在數據科學,深度學習領域最受歡迎的是Python, 那麼為什麼要學習R語言,Python 和 R 的優勢分別在哪兒?

簡單來說,R語言更適用與研究,偏數理統計,小而精,適合將來做科研學術。Python更適用於工業領域,普適性,通用性,計算性能更好,更適合做程式設計師或者進入企業。

所以首先需要確定自己的需求,R不一定適合每一個人。如果你是想認真學習編程思維,底層邏輯,那麼R並不是一個很好地選擇。但如果你只是需要一個工具,來幫你實現問題的分析,建模,解釋和展示,那麼R是一個很好地選擇。R語言更適合高校研究從事數據分析,數據可視化,數理統計建模。數據科學的基本流程如圖所示,在R上我們可以愉快的實現數據分析的全部流程。

2. 什麼是R?什麼是Rstudio?

R 是一種運行計算的程式語言, 而 RStudio 是一種集成開發環境 (IDE),它通過添加許多方便的功能和工具來提供接口,使用 RStudio 的界面也使得用 R 變得更加容易。當然還有很多IDE可以用來進行R語言編程,如Sense, RIDE,甚至Jupyter notebook 以及 VS code 也都可以用來編程R,但這些都需要相對更高的門檻,相對更推薦使用Rstudio 進行R編程的全流程工作。

3. 安裝R和Rstudio

首先你需要做的就是安裝R和Rstudio到你的電腦,順序一定是先安裝R,再安裝Rstudio。

3.1 安裝R

官網下載地址https://cloud.r-project.org/,但是這個網址是國外的,下載速度較慢。建議用國內的鏡像站:

如果你是Windows,Mac os, Linux 用戶分別點擊對應的 "Download R for windows",  "Download R for (MAC) OS",  "Download R for Linux" 下載最新版本的R-4.1.0即可。

如果是Windows用戶建議不要安裝在系統盤內,且安裝路徑一定要是英文,不能有空格,如果Windows系統用戶名是中文應先改成英文。

3.2 安裝Rstudio

找到 「Installers for Supported Platforms」 按鈕,並對應自己的電腦系統下載對應版本的Rstudio客戶端。

https://www.rstudio.com/products/rstudio/download/

安裝好Rstudio後打開界面展示如下:

4. 怎樣在Rstudio裡編程?

現在已經設置了 R 和 RStudio,「現在我如何使用 R?」。首先要注意的是,與 Excel、SPSS 等其他提供點擊式界面的統計軟體程序不同,R 是一種解釋性語言。這意味著您必須輸入用 R 代碼編寫的命令。換句話說,你必須在 R 中編碼/編程。

雖然使用 R 不需要是經驗豐富的編碼員/電腦程式員,但如果你是新接觸程式語言這裡需要了解一些基本編程概念。

介紹一些基本的編程概念和術語。

基本:

console pane:您輸入命令的地方。

Running code 運行代碼:通過在控制臺中給出命令來告訴 R 執行一個行為的行為。

數據類型:integers 整數、 doubles/numerics 雙精度/數字、 logicals 邏輯和 characters 字符。整數是像 -1、0、2、4092 這樣的值。雙精度或數字是一組更大的值,既包含整數,也包含分數和小數值,如 -24.932 和 0.8。邏輯是 TRUE 或 FALSE,而字符是文本,例如「你」、「我」、「R語言真好」,注意,字符通常用引號括起來表示。

vectors向量:一系列值。這些是使用 c() 函數創建的,其中 c() 代表「組合」或「連接」。例如, c(2, 11, 22, 33, 91, 99) 創建一個六元素系列的正整數值。

factors因子:分類數據通常在 R 中表示為因子。分類數據也可以表示為字符串。如成績可以分為 優,良,及格。

data frames 數據框:它們是 R 中數據集的表示,其中行對應於觀測,列對應於描述觀測的變量。

Conditionals條件:

R中=用於賦值,== 用於測試是否相等,例如 3+4 == 7 判斷3+4 是否等於7,將返回TRUE。而 3+4 = 7將發生錯誤

布爾代數:TRUE/FALSE 語句和數學運算符,例如 <(小於)、<=(小於或等於)和 !=(不等於)。例如,4 + 2 >= 3 將返回 TRUE,但 3 + 5 <= 1 將返回 FALSE。

邏輯運算符:& 表示「與」以及 |代表「或」。例如, (2 + 1 == 3) & (2 + 1 == 4) 返回 FALSE,因為兩個子句都不為 TRUE(只有第一個子句為 TRUE)。另一方面, (2 + 1 == 3) | (2 + 1 == 4) 返回 TRUE,因為這兩個子句中至少有一個是 TRUE。

Functions函數,也稱為命令:函數在 R 中執行任務。它們接受稱為參數的輸入並返回輸出。可以手動指定函數的參數或使用函數的默認值。
例如,R 中的函數 rnorm() 隨機生成正態分布的數。rnorm(n, mean=0, sd=1), n為生成數字的個數,mean均值和sd標準差默認為0和1。你可以自己修改,在命令窗口輸入`rnorm(3,mean=2,sd=3)``,按下enter.

5. R packages 安裝使用

R各種類型的包package可以說是R最大的特色了,比如最為出名的ggplot2可視化包。那什麼是R packages呢?如果把R作為一個手機的底層程序編碼,那麼package 就是手機上的各個APP。

R一些常用流行的包主要包括:

readr導入csv/fwf文件, readxl導入.xls/.xlsx文件, haven導入SPSS/Stata/SAS文件

tidyverse , data.table

ggplot2, cowplot.

5.1 包的安裝

點擊 [Tools] ---- [Global Options…], 點擊 Packages, 點擊Change 修改為清華大學鏡像源,China(Beijing1)

1install.packages("tidyverse")
2install.packages("haven")

1install.packages("devtools")
2devtools::install_github("tidyverse")
3remotes::install_github("tidyverse")

1library(tidyverse)

1## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.0 ──

1## ✓ ggplot2 3.3.3     ✓ purrr   0.3.4
2## ✓ tibble  3.1.1     ✓ dplyr   1.0.5
3## ✓ tidyr   1.1.3     ✓ stringr 1.4.0
4## ✓ readr   1.4.0     ✓ forcats 0.5.1

1## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
2## x dplyr::filter() masks stats::filter()
3## x dplyr::lag()    masks stats::lag()

1library(data.table)

1## 
2## Attaching package: 'data.table'

1## The following objects are masked from 'package:dplyr':
2## 
3##     between, first, last

1## The following object is masked from 'package:purrr':
2## 
3##     transpose

1library(ggplot2)
2library(bruceR)

1## 
2## ⚡ bruceR: BRoadly Useful Convenient and Efficient R functions
3## 
4## Loaded R packages:
5## [Data]: rio / dplyr / tidyr / stringr / forcats / data.table
6## [Stat]: psych / emmeans / effectsize / performance
7## [Plot]: ggplot2 / ggtext / cowplot / see
8## 
9## Frequently used functions in `bruceR`:
10## set.wd() / Describe() / Freq() / Corr() / Alpha() / MEAN()
11## MANOVA() / EMMEANS() / model_summary() / theme_bruce()

1update.packages("ggplot2")
2
3# 更新所有包
4update.packages()

1remove.packages("data.table")

6. Your first Projects 創建你的第一個項目

通過以上的配置對於R,Rstudio和Packages有了基本的認識。現在假設你有一個數據,你想對其進行數據處理分析建模解釋等等一系列的工作。那麼可以簡單分為以下幾個步驟:

在Rstudio內創建一個Project項目

[File] --- [New Project] --- [New Directory] --- [New Project]

輸入你的項目名稱【"first project"】,選擇項目存儲位置,注意存儲路徑不要有中文。確定,這時候在你屏幕的右上角你就可以看到你的項目名稱了。

新建R腳本編寫R代碼

創建 [R Script], 命名"first.R", 保存到你項目的保存文件夾內。

1getwd()

1## [1] "/Users/cpf/Documents/paper/writting_blog/"

1install.packages("tidyverse")
2install.packages("bruceR") 
3
4library(tidyverse)
5library(bruceR)

使用import函數可以導入csv,exel等多種格式的文件,優先建議使用這個函數導入。

1# mydata = import("~/yourpath/data.csv")
2
3# 也可以使用R自帶的數據集
4data("weather", package = "nycflights13")

1glimpse(weather)

1## Rows: 26,115
2## Columns: 15
3## $ origin     <chr> "EWR", "EWR", "EWR", "EWR", "EWR", "EWR", "EWR", "EWR", "EW…
4## $ year       <int> 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013,…
5## $ month      <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
6## $ day        <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
7## $ hour       <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, …
8## $ temp       <dbl> 39.02, 39.02, 39.02, 39.92, 39.02, 37.94, 39.02, 39.92, 39.…
9## $ dewp       <dbl> 26.06, 26.96, 28.04, 28.04, 28.04, 28.04, 28.04, 28.04, 28.…
10## $ humid      <dbl> 59.37, 61.63, 64.43, 62.21, 64.43, 67.21, 64.43, 62.21, 62.…
11## $ wind_dir   <dbl> 270, 250, 240, 250, 260, 240, 240, 250, 260, 260, 260, 330,…
12## $ wind_speed <dbl> 10.35702, 8.05546, 11.50780, 12.65858, 12.65858, 11.50780, …
13## $ wind_gust  <dbl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 20.…
14## $ precip     <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
15## $ pressure   <dbl> 1012.0, 1012.3, 1012.5, 1012.2, 1011.9, 1012.4, 1012.2, 101…
16## $ visib      <dbl> 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,…
17## $ time_hour  <dttm> 2013-01-01 01:00:00, 2013-01-01 02:00:00, 2013-01-01 03:00…

1# 
2mydata2 = weather %>% 
3  select(c(year, month, hour, temp, dewp, humid)) %>%  # 選擇這些列
4  filter(year == 2013) %>% # 選擇2013年的觀測
5  mutate(yearnew = year + 1) # 創建新列yearnew 
6
7glimpse(mydata2)

1## Rows: 26,115
2## Columns: 7
3## $ year    <int> 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 2013, 20…
4## $ month   <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
5## $ hour    <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18, 19,…
6## $ temp    <dbl> 39.02, 39.02, 39.02, 39.92, 39.02, 37.94, 39.02, 39.92, 39.92,…
7## $ dewp    <dbl> 26.06, 26.96, 28.04, 28.04, 28.04, 28.04, 28.04, 28.04, 28.04,…
8## $ humid   <dbl> 59.37, 61.63, 64.43, 62.21, 64.43, 67.21, 64.43, 62.21, 62.21,…
9## $ yearnew <dbl> 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 2014, 20…

1export(mydata2, file= "~/yourpath/.mydata2.csv")

相關焦點

  • R語言數據導入與導出
    R語言數據導入與導出整這麼一個系列,還是因為學R語言時遇到過一個非常「小白友好」的網站「DataScience Made Simple」。相信很多人搜到過這個網站,或許你在意到或許並沒在意。年前試著和作者發了一封郵件,想要把他這個網站做成漢語版的帖子發在公眾號上,讓我感動的是作者團隊欣然同意。於是就想著搞這麼一個系列,能不能堅持下來還不好說……且行且珍惜吧。
  • R 語言入門學習路線與資源匯總
    剛開始學習R語言,可以看一些免費入門視頻,可以在B站上面搜,B站有很多免費的R語言入門視頻,比如《尚學堂尹鴻的R語言速成實戰》[1],這個視頻是免費的,視頻講義素材來源於《R語言實戰》的第一章到第六章,這幾章可以邊看書邊跟著視頻學習,用來簡單入門基本夠了。
  • 【萬字長文】R語言入門學習路線與資源匯總
    剛開始學習R語言,可以看一些免費入門視頻,可以在B站上面搜,B站有很多免費的R語言入門視頻,比如《尚學堂尹鴻的R語言速成實戰》[1],這個視頻是免費的,視頻講義素材來源於《R語言實戰》的第一章到第六章,這幾章可以邊看書邊跟著視頻學習,用來簡單入門基本夠了。
  • 【R語言學習】R語言概述與軟體下載安裝
    但是R軟體的使用需要編程基礎,因此R語言的學習就顯得尤為重要。科研創新服務平臺擬結合R軟體開展一系列R語言學習教程,旨在幫助科研人員儘快了解R語言在生物醫學領域中的應用,敬請期待!R語言是用於統計分析,圖形表示報告的程式語言和軟體環境。
  • 數據導入/導出為什麼總失敗?
    使用表單大師時,我們不僅可以將表單大師收集到的數據批量導出,還可以把Excel中的數據一鍵導入到表單中。但是,在Excel與表單大師之間導入、導出的時候,我們可能會遇到這些問題:1、Excel導入問題表單數據頁面,選擇「通過Excel導入數據」時,需要先下載導入模板,按照模板的規範格式進行數據導入。
  • 關注 | R語言從入門到精通:Day4-R語言數據導入測試代碼及數據
    上節教程結束後,有同學問:我每次用R語言解決實際問題的時候都要像第3節中那樣用鍵盤將每個數據輸入電腦裡面嗎?答案當然是否定的。R語言給我們配套了多種輸入數據的方法和接口,能夠快速靈活的處理多種格式的數據(如圖1)。這節課的主要內容就是R語言中數據的輸入。   圖1:R語言數據輸入的示意圖下面來逐一學習不同的數據導入方法。
  • R語言從入門到精通:Day4-R語言數據導入測試代碼及數據
    這些數據類型在我們運用R語言解決實際問題的時候都非常有用,在上節的例子中我們是在R裡面直接生成的數據,但是實際數據分析中,如何快速靈活的讀取和處理多種格式的外部數據呢?這節課的主要內容,我們就來講講R語言中數據的讀取。1、本節內容重點內容較多,      務必緊跟紅色標記。2、測試數據及代碼      見文末客服小姐姐二維碼。
  • Access數據的導入與導出
    接著昨天的內容繼續,今天介紹Access數據表的基礎操作——數據的導入與導出。如果不願意看文章的也可以看視頻,不過時間有點略長。▍創建一個Access資料庫打開Access程序以後,首先需要新建一個「空白資料庫」,因為所有的對象是基於資料庫來管理的。「表」就是資料庫最基本的對象。
  • 數據科學 | pandas數據導入與導出
    當我們開始著手做一個數據分析項目時,選擇和導入數據集是第一個步驟,而導出數據雖然非必需,但有時候我們也需要保存處理或者分析後的結果,方便下次使用。在pandas中,它已經為我們提供了很多不同格式數據的導入和導出方法,下面這篇文章將具體介紹一些較為常用的方法,包括excel、csv文件以及資料庫的導入導出等。數據導入和導出是pandas中很基礎且重要的一個部分。
  • R語言從入門到精通:Day1
    只有忘卻自己的背景,才能全心投入,學習編程,學習R語言。R是用於統計分析、繪圖的語言和操作環境。R是屬於GNU系統的一個自由、免費、原始碼開放的軟體,它是一個用於統計計算和統計製圖的優秀工具。簡單來說,R是一門統計計算語言,是一套開源的數據分析解決方案。R語言是從S語言演變而來的。
  • R語言基礎(4)——數據導出
    在學習好數據的導入以後,我們就可以用R進行數據分析了,今天我們來學習的是跟導入相輔相成的功能,數據的導出。數據導出:在完成數據的分析工作之後,現在我們要將數據導出了,我們還是介紹兩種類型csv和txt。
  • 大數據學習環境搭建系列(二)虛擬機軟體Vmware的安裝
    作者 | CDA數據分析師概述在進行分布式架構的學習前,首先需進行基礎環境準備。眾所周知,在單機運算能力無法滿足處理海量數據的運算能力時,人們普遍開始考慮使用分布式運算來代替單機運算,這也成為了大數據分析和小數據分析最顯著的區別之一,即使用的工具不同。
  • python:數據導入導出之csv文件
    CSV 文件格式簡單、通用,在現實中有著廣泛的應用,其中使用最多的是在程序之間轉移表格數據。註:純文本意味著該文件是一個字符序列,不含必須像二進位數字那樣被解讀的數據。2、優勢(1)適合存放結構化信息,較為通用(CSV通用標準並不存在)(2)數據體積更小,創建方便(本身是文本格式對比Excel這一類數據本身帶有格式)(3)Windows環境下CSV默認打開方式是Excel3、常用的場景    應用CSV在各個系統之間進行數據轉移,csv可以比較方便的在不同應用之間遷移數據。
  • Rmarkdown中文入門教程分享
    全文1.5w字,預計閱讀時間40min,建議結合b站視頻一起學習本文框架第一章:Rmarkdown 簡介Rmarkdown 是 R 語言環境中提供的 markdown 編輯工具,運用 rmarkdown 撰寫文章,既可以像一般的 markdown 編輯器一樣編輯文本,也可以在 rmarkdown 中插入代碼塊,並將代碼運行結果輸出在
  • R語言從入門到精通:Day1-R語言的安裝
    今天是我們的系統教程《R語言從入門到精通》的第一講,前面的背景講解中《從今天開始,每天學點R語言~》,已經深入探討過R語言的重要性以及學習R語言的必要性
  • 數據科學養成記 之 R語言基礎(2)——關於R包
    在上一節的學習中,我們已經學習了如何將數據導入R中進行數據分析。R作為一種主力的分析語言有著其獨特的優勢:大量的R包可供大家使用,提供方便快捷的數據分析,挖掘。目前有上千個R包(R package)可供大家使用,可從cran-r 下載。
  • R語言數據導入第二部分
    來源:DataCamp 編譯:亮亮上期我們了解了R語言數據讀入的核心函數read.table,現在我們了解一下其他可以用的函數有哪些
  • 【R包薈萃】Excel文件的批量導入與導出:openxlsx包實用技巧
    R是一個自由、免費、原始碼開放的軟體,主要用於統計分析計算和統計製圖,其多樣化的功能主要依賴於R包,本專欄將為大家介紹實用的R包工具,為大家詳解包的操作
  • R語言 | 第一講:下載和安裝
    2.R語言有大量現成的命令和軟體包(可以下載),無需進行複雜的編程也可以進行大量生物學統計和繪圖.3.R語言的由來:R語言是從S語言演變而來的.S語言是二十世紀70年代誕生于貝爾實驗室,由Rick Becker,John Chembers,Allan開發.基於S語言開發的軟體Splus,可以方便的編寫函數,建立模型,具有良好的擴展性,取得了巨大成功.
  • Python入門: 安裝和環境搭建(Mac版)
    但專業技能的學習確是必不可少的,期間很多同學諮詢我Python的問題,為此,接下來幾周專門來分享下如何入門Python的基礎數據分析,結合案例來做參考。主要包含以下內容:Python的安裝和環境搭建Pandas入門數據可視化信號處理與時間序列預測性分析與機器學習文本數據分析下面是第一部分Python安裝和環境搭建,以Mac為基礎,Windows可以按照類似方法走,如有疑問可以添加微信samuel-zhan交流Python 是一種易於學習又功能強大的程式語言