Install R on Linux Ubuntu & Simple Usage

Install R-Base

重要website:

www.r-project.org
www.rstudio.com

You can find R-Base in the Software Center; this would be the easy way to do it. However, the Software Center versions are often out of date, which can be a pain moving foward when your packages are based on the most current version of R Base. The easy fix is to download and install R Base directly from the Cran servers.

1. Add R repository

First, we’ve got to add a line to our /etc/apt/sources.list file. This can be accomplished with the following. Note the “xenial” in the line, indicating Ubuntu 16.04. If you have a different version, just change that.

sudo echo “deb http://cran.rstudio.com/bin/linux/ubuntu xenial/” | sudo tee -a /etc/apt/sources.list

2. Add R to Ubuntu Keyring

First:

gpg –keyserver keyserver.ubuntu.com –recv-key E084DAB9

Then:

gpg -a –export E084DAB9 | sudo apt-key add -

3. Install R-Base

Most Linux users should be familiar with the old…

sudo apt-get update
sudo apt-get install r-base r-base-dev

Installing R-Studio

From here you can download your files and install the IDE through Ubuntu Software Center or Synaptic Package Manager, or since you’ve already got the terminal open, you could just:

sudo apt-get install gdebi-core
wget https://download1.rstudio.org/rstudio-0.99.896-amd64.deb
sudo gdebi -n rstudio-0.99.896-amd64.deb
rm rstudio-0.99.896-amd64.deb

Simple Usage

#####獲得幫助#####
#關於函數的幫助
help(glm)
?glm
#關於操作符的幫助
?`+`
#查看幫助文檔中例子
example(glm)
#搜索主題
help.search("regression")
??regression
#library函數的幫助選項
library(help="grDevices")
#通過vignette查看指南文檔,通過實際操作沒反應
vignette("utils")
#已加載包的指南文件
vignette(all=FALSE)
#已安裝包的指南文件
vignette(all=TRUE)

######R包#####
#類似於java中類
#列舉本地庫中R包
getOption("defaultPackags")
#已加載R包清單
(.packages())
#已安裝的R包清單
(.packages(all.available=TRUE))
library()

#加載R包
library(rpart)

#搜索R包資源庫:CRAN和Bioconductor
#可以通過界面也可以通過命令,建議通過界面的菜單來操作
#R控制檯來安裝R包
install.packages("plotly")
install.packages(c("tree","maptree"))

#移除R包
remove.packages(c("tree","maptree"))

學習R語言,一篇文章讓你從懵圈到入門

http://www.xueqing.tv/cms/article/198 更好的閱讀效果請到原文。

在實際工作中,每個數據科學項目各不相同,但基本都遵循一定的通用流程。具體如下:
這裏寫圖片描述
數據科學工作流程

數據導入
數據整理
反覆理解數據
    數據可視化
    數據轉換
    統計建模
作出推斷(比如預測)
溝通交流
自動化分析
程序開發

下面列出每個步驟最有用的一些R包:

數據導入

以下R包主要用於數據導入和保存數據

feather:一種快速,輕量級的文件格式。在R和python上都可使用
readr:實現表格數據的快速導入。中文介紹可參考這裏
readxl:讀取Microsoft Excel電子表格數據
openxlsx:讀取Microsoft Excel電子表格數據
googlesheets:讀取google電子表格數據
haven:讀取SAS,SPSS和Stata統計軟件格式的數據
httr:從網站開放的API中讀取數據
rvest:網頁數據抓取包
xml2:讀取HTML和XML格式數據
webreadr:讀取常見的Web日誌格式數據
DBI:數據庫管理系統通用接口包
    RMySQL:用於連接MySQL數據庫的R包
    RPostgres:用於連接PostgreSQL數據庫的R包
    bigrquery用於連接Google BigQuery的R包
PivotalR:用於讀取Pivitol(Greenplum)和HAWQ數據庫中的數據
dplyr:提供了一個訪問常見數據庫的接口
data.table:data.table包的fread()函數可以快速讀取大數據集
git2r:用於訪問git倉庫

數據整理

以下R包主要用於數據整理,以便於你後續建模分析:

tidyr:用於整理表格數據的佈局
dplyr:用於將多個數據表連接成一個整齊的數據集
purrr:函數式編程工具,在做數據整理時非常有用。
broom:用於將統計模型的結果整理成數據框形式
zoo:定義了一個名zoo的S3類型對象,用於描述規則的和不規則的有序的時間序列數據。

數據可視化

以下R包用於數據可視化:

ggplot2及其擴展:ggplot2包提供了一個強大的繪圖系統,並實現了以下擴展
    ggthemes:提供擴展的圖形風格主題
    ggmap:提供Google Maps,Open Street Maps等流行的在線地圖服務模塊
    ggiraph:繪製交互式的ggplot圖形
    ggstance:實現常見圖形的橫向版本
    GGally:繪製散點圖矩陣
    ggalt:添加額外的座標軸,geoms等
    ggforce:添加額外geoms等
    ggrepel:用於避免圖形標籤重疊
    ggraph:用於繪製網絡狀、樹狀等特定形狀的圖形
    ggpmisc:光生物學相關擴展
    geomnet:繪製網絡狀圖形
    ggExtra:繪製圖形的邊界直方圖
    gganimate:繪製動畫圖
    plotROC:繪製交互式ROC曲線圖
    ggspectra:繪製光譜圖
    ggnetwork:網絡狀圖形的geoms
    ggradar:繪製雷達圖
    ggTimeSeries:時間序列數據可視化
    ggtree:樹圖可視化
    ggseas:季節調整工具
lattice:生成柵欄圖
rgl:交互式3D繪圖
ggvis:交互式圖表多功能系統
htmlwidgets:一個專爲R語言打造的可視化JS庫
    leaflet:繪製交互式地圖
    dygraphs:繪製交互式時間序列圖
    plotly:交互式繪圖包,中文介紹詳見這裏
    rbokeh:用於創建交互式圖表和地圖,中文介紹
    Highcharter:繪製交互式Highcharts圖
    visNetwork:繪製交互式網狀圖
    networkD3:繪製交互式網狀圖
    d3heatmap:繪製交互式熱力圖,中文介紹
    DT:用於創建交互式表格
    threejs:繪製交互式3d圖形和地球儀 
    rglwidget:繪製交互式3d圖形
    DiagrammeR:繪製交互式圖表
    MetricsGraphics:繪製交互式MetricsGraphics圖
rCharts:提供了對多個javascript數據可視化庫(highcharts/nvd3/polychart)的R封裝。
coefplot:可視化統計模型結果
quantmod:可視化金融圖表
colorspace:基於HSL的調色板
viridis:Matplotlib viridis調色板
munsell:Munsell調色板
RColorBrewer:圖形調色板
igraph:用於網絡分析和可視化
latticeExtra:lattice繪圖系統擴展包
sp:空間數據工具

數據轉換

以下R包用於將數據轉換爲新的數據類型

dplyr:一個用於高效數據清理的R包。視頻學習課程
magrittr:一個高效的管道操作工具包。
tibble:高效的顯示錶格數據的結構
stringr:一個字符串處理工具集
lubridate:用於處理日期時間數據
xts:xts是對時間序列數據(zoo)的一種擴展實現,提供了時間序列的操作接口。
data.table:用於快速處理大數據集
vtreat:一個對預測模型進行變量預處理的工具
stringi:一個快速字符串處理工具
Matrix:著名的稀疏矩陣包

統計建模與推斷

下述R包是統計建模最常用的幾個R包,其中的一些R包適用於多個主題。

car:提供了大量的增強版的擬合和評價迴歸模型的函數。
Hmisc:提供各種用於數據分析的函數
multcomp:參數模型中的常見線性假設的同時檢驗和置信區間計算,包括線性、廣義線性、線性混合效應和生存模型。
pbkrtest用於線性混合效應模型的參數Bootstrap檢驗
MatrixModels:用於稠密矩陣和稀疏矩陣建模
mvtnorm:用於計算多元正態分佈和t分佈的概率,分位數,隨機偏差等
SparseM:用於稀疏矩陣的基本線性代數運算
lme4:利用C++矩陣庫 Eigen進行線性混合效應模型的計算。
broom:將統計模型結果整理成數據框形式
caret:一個用於解決分類和迴歸問題的數據訓練綜合工具包
glmnet:通過極大懲罰似然來擬合廣義線性模型
gbm:用於實現隨機梯度提升算法
xgboost:全稱是eXtreme Gradient Boosting。是Gradient Boosting Machine的一個c++實現。目前已製作了xgboost工具的R語言接口。詳見統計之都的一篇介紹
randomForest:提供了用隨機森林做迴歸和分類的函數
ranger:用於隨機森林算法的快速實現
h2o:H2O是0xdata的旗艦產品,是一款核心數據分析平臺。它的一部分是由R語言編寫的,另一部分是由Java和Python語言編寫的。用戶可以部署H2O的R程序安裝包,之後就可以在R語言環境下運行了。
ROCR:通過繪圖來可視化分類器的綜合性能。
pROC:用於可視化,平滑和對比ROC曲線

溝通交流

以下R包用於實現數據科學結果的自動化報告,以便於你跟人們進行溝通交流。

rmarkdown :用於創建可重複性報告和動態文檔
knitr:用於在PDF和HTML文檔中嵌入R代碼塊
flexdashboard:基於rmarkdown,可以輕鬆的創建儀表盤
bookdown:以R Markdown爲基礎,用於創作書籍和長篇文檔
rticles:提供了一套R Markdown模板
tufte:用於實現Tufte講義風格的R Markdown模板
DT:用於創建交互式的數據表
pixiedust:用於自定義數據表的輸出
xtable:用於自定義數據表的輸出
highr:用於實現R代碼的LaTeX或HTML格式輸出
formatR:通過tidy_source函數格式化R代碼的輸出
yaml:用於實現R數據與YAML格式數據之間的通信。

自動化分析

以下R包用於創建自動化分析結果的數據科學產品:

shiny:一個使用R語言開發交互式web應用程序的工具。中文教程
    shinydashboard:用於創建交互式儀表盤
    shinythemes:給出了Shiny應用程序的常用風格主題
    shinyAce:爲Shiny應用程序開發者提供Ace代碼編輯器。
    shinyjs:用於在Shiny應用程序中執行常見的JavaScript操作
    miniUI:提供了一個UI小部件,用於在R命令行中集成交互式應用程序
    shinyapps.io:爲創建的Shiny應用程序提供託管服務
    Shiny Server Open Source:爲Shiny應用程序提供開源免費的服務器
    Shiny Server Pro:爲企業級用戶提供一個Shiny應用程序服務器
rsconnect:用於將Shiny應用程序部署到shinyapps.io
plumber:用於將R代碼轉化爲一個web API
rmarkdown:用於創建可重複性報告和動態文檔
rstudioapi:用於安全地訪問RStudio IDE的API

程序開發

以下這些包主要用於開發自定義的R包:

RStudio Desktop IDE:R的IDE。大家都懂,不用解釋。
RStudio Server Open Source:開源免費的RStudio服務器
RStudio Server Professional:商業版RStudio服務器
devtools:一個讓開發R包變得簡單的工具集
packrat:創建項目的特定庫,用於處理包的版本問題,增強代碼重現能力。
drat:一個用於創建和使用備選R包庫的工具
testthat:單元測試,讓R包穩定、健壯,減少升級的痛苦。
roxygen2:通過註釋的方式,生成文檔,遠離Latex的煩惱。
purrr:一個用於 提供函數式編程方法的工具
profvis:用於可視化R代碼的性能分析數據
Rcpp:用於實現R與C++的無縫整合。詳見統計之都文章
R6:R6是R語言的一個面向對象的R包,可以更加高效的構建面向對象系統。
htmltools:用於生成HTML格式輸出
nloptr:提供了一個NLopt非線性優化庫的接口
minqa:一個二次近似的優化算法包
rngtools:一個用於處理隨機數生成器的實用工具
NMF:提供了一個執行非負矩陣分解的算法和框架
crayon:用於在輸出終端添加顏色
RJSONIO:rjson是一個R語言與json進行轉的包,是一個非常簡單的包,支持用 C類庫轉型和R語言本身轉型兩種方式。
jsonlite:用於實現R語言與json數據格式之間的轉化
RcppArmadillo:提供了一個Armadillo C++ Library(一種C++的線性代數庫)的接口

實驗數據

以下R包給出了案例實戰過程中可用的訓練數據集:
babynames:包含由美國社會保障局提供的三個數據集
neiss:2009-2014年期間提供給美國急診室的所有事故報告樣本數據
yrbss:美國疾病控制中心2009-2013年期間青年危險行爲監測系統數據
hflights:
USAboundaries:2011年全年休斯頓機場的所有航班數據
rworldmap:國家邊界數據
usdanutrients:美國農業部營養數據庫
fueleconomy:美國環保署1984-2015年期間的燃油經濟數據
nasaweather:包含了一個覆蓋中美洲的非常粗糙的24*24格地理位置和大氣測量數據。
mexico-mortality:墨西哥死亡人數數據
data-movies和ggplotmovies:來自互聯網電影數據庫imdb.com的數據
pop-flows:2008年全美人口流動數據
data-housing-crisis:經過清洗後的2008美國房地產危機數據
gun-sales:紐約時報提供的有關槍支購買的每月背景調查統計分析數據
stationaRy:從成千上萬個全球站點收集到的每小時氣象數據
gapminder:摘自Gapminder的數據
janeaustenr:簡·奧斯丁小說全集數據

更多R包介紹查看CRAN任務視圖

參考文章
RStartHere
http://blog.fens.me/
轉載請註明本文鏈接http://www.xueqing.tv/cms/article/198

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章