R語言基礎(chǔ)--包的操作與內(nèi)置數(shù)據(jù)集

R語言包的安裝

參考文章

在R中大概有幾種包的安裝方式借杰。

install.packages()常規(guī)包的安裝

括號(hào)里面包的名稱要加英文引號(hào),在列出的CRAN鏡像站點(diǎn)列表中選擇一個(gè)進(jìn)行下載裁着,例如

install.packages(“ggplot2”)

安裝包的時(shí)候可以切換安裝源,如下所示:

install.packages(pkgs, lib, repos = getOption("repos"),
    contriburl = contrib.url(repos, type),
    method, available = NULL, destdir = NULL,
    dependencies = NA, type = getOption("pkgType"),
    configure.args = getOption("configure.args"),
    configure.vars = getOption("configure.vars"),
    clean = FALSE, Ncpus = getOption("Ncpus", 1L),
    verbose = getOption("verbose"),
    libs_only = FALSE, INSTALL_opts, quiet = FALSE,
    keep_outputs = FALSE, ...)

使用格式為:

install.packages("ABC",repos="http://mirror.bjtu.edu.cn/ ")

使用devtools從Github上安裝包

如果是要從GitHub上安裝包虱疏,需要先安裝devtools力试,如下所示:

install.packages("devtools")
install_github("genomicsclass/dagdata")

其它的包安裝命令,如下所示:

install.packages("installr")   # 下載并安裝 installr 包
library(installr)              # 裝載 installr 包
install.RStudio()              # 下載并安裝 RStudio IDE
install.Rtools()               # 你需要 Rtools 來構(gòu)建自己的包
install.git()                  #git 提供了代碼的版本控制功能

如果要想把R包安裝到其他位置贝室,可以使用以下代碼:

install.packages( 
  c("xts", "zoo"),
  lib = "some/other/folder/to/install/to", 
  repos = "http://www.stats.bris.ac.uk/R/")

其中l(wèi)ib參數(shù)就是安裝的包的位置契讲,repos就是安裝源。

通過BiocLite來安裝生信工具

生信很多工具是在bioconductor上滑频,因此需要biocLite捡偏,由于R版本升級(jí),現(xiàn)在安裝都是BiocManager::install()
此處仍然列出峡迷,如下所示:

#source("https://bioconductor.org/biocLite.R")
#options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")
# 使用相應(yīng)的鏡像

#biocLite(c("ALL","CLL", "pasilla", "airway")) #數(shù)據(jù)包
#biocLite(c("limma","DESeq2", "clusterProfiler")) #軟件包

通過BiocManager來安裝生信工具

在使用bioconductor時(shí)由于需要在線連接才能安裝包银伟,現(xiàn)在很多已經(jīng)使用BiocManager的方式來安裝,安裝代碼如下所示:

if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("ballgown", version = "3.8")

批量下載并且加載R包

list.of.packages <- c("xx", "yy") # replace xx and yy with package names
new.packages <- list.of.packages[!(list.of.packages %in% installed.packages()[,"Package"])]
if(length(new.packages)) install.packages(new.packages)
lapply(new.packages, require, character.only=T)

使用if語句安裝并加載包

通過if語句绘搞,可以判斷某個(gè)包是否存在彤避,如果不存在,就先下載夯辖,后加載琉预,如下所示:

#另外可以檢測某個(gè)包是否存在,只有不存在時(shí)才會(huì)安裝
if (! require ('reshape2')){
    install.package("reshape2")
    library(reshape2)
}

如果是bioconductor上的包蒿褂,也可以按以下方式進(jìn)行安裝:

if (! require ('CLL')){
    options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")
    BiocInstaller::biocLite('CLL',ask = F, suppressUpdates = T)
}

包的加載

包的載入函數(shù)為library()require()圆米,安裝完包后,需要加載才能使用其中的函數(shù)啄栓,此時(shí)括號(hào)中不使用引號(hào)榨咐。兩者的不同之處在于library()載入之后不返回任何信息,而require()載入后則會(huì)返回TRUE谴供,因此require()適合用于程序的書寫。

library(ggplot2)

require(foreign)

Loading required package: foreign

如果想不加載包就使用其中的函數(shù)齿坷,則需要使用雙冒號(hào)桂肌,即::数焊,看一個(gè)案例:

x <- rnorm(1000)
skewness(x)

運(yùn)行結(jié)果如下所示:

skewness(x)
Error in skewness(x) : could not find function "skewness"

結(jié)果顯示,沒有skewness這個(gè)函數(shù)崎场,因?yàn)檫@個(gè)函數(shù)是moments包中的函數(shù)佩耳,沒有加載這個(gè)包,就無法使用這個(gè)函數(shù)√房纾現(xiàn)在我們在沒有加載這個(gè)包的情況下干厚,使用雙冒號(hào)來看一下:

moments::skewness(x) 

[1] -0.01674

再用library()來使用一下:

library(moments)
skewness(x)

[1] -0.01674

使用雙冒號(hào)這種方式在一種情況下比較適合。

這種情況就是:假設(shè)我們同時(shí)加載了A包與B包螃宙,A包中有一個(gè)名為a()的函數(shù)蛮瞄,B包中也有一個(gè)名為a()的函數(shù)。此時(shí)谆扎,如果先導(dǎo)入A包挂捅,再導(dǎo)入B包,B包中的a()函數(shù)就會(huì)屏蔽A包中的a()函數(shù)堂湖,也就是說闲先,這兩個(gè)同名函數(shù)就會(huì)出現(xiàn)沖突。

因此為了避免出現(xiàn)這種情況无蜂,可以不加載A包伺糠,也不加載B包,而是將它們的同名函數(shù)提取出來斥季,如下所示:

fun1 <- A::a

fun2 <- B::a

如果你此時(shí)已經(jīng)恰好載入一個(gè)包训桶,想要解決綁定,就可以使用unloadNamespace()函數(shù)即可泻肯,例如:

unloadNamespace("moments")

查看一個(gè)包的幫助

help(package="base")

卸載包

detach()渊迁,這是library()的反向操作,此操作主要是為了避免某些包中的函數(shù)名稱相同灶挟,造成沖突琉朽,注意與library()的參數(shù)不同,detach()參數(shù)為detach(package:包的名稱),library(包的名稱)稚铣,例如:

library(ggplot2) #加載包
(.packages()) #列出當(dāng)前已經(jīng)加載的包

 [1] "foreign"   "ggplot2"   "stats"     "graphics"  "grDevices" "utils"    

 [7] "datasets"  "methods"   "base"

detach(package:ggplot2)  #卸載ggplot2包

(.packages()) #列出當(dāng)前已經(jīng)加載的包

 [1] "foreign"   "stats"     "graphics"  "grDevices" "utils"     "datasets" 

 [7] "methods"   "base"

刪除包remove.packages()

使用條件:R語言自帶的install.packages()函數(shù)來安裝一個(gè)包時(shí)箱叁,都是默認(rèn)安裝最新版的。 但是有些R包的開發(fā)者他會(huì)引用其它的一些R包惕医,但是它用的是舊版本的功能耕漱,自己來不及更新或者疏忽了。 而我們又不得不用他的包抬伺,這時(shí)候就不得不卸載最新版包螟够,轉(zhuǎn)而安裝舊版本包。

查詢加載的包

search()

search()

 [1] ".GlobalEnv"        "package:stats"     "package:graphics" 

 [4] "package:grDevices" "package:utils"     "package:datasets" 

 [7] "package:methods"   "Autoloads"         "package:base"

.libPaths()能夠顯示庫所在的位置

.libPaths()

 [1] "C:/Users/Cloud/Documents/R/win-library/3.1"

 [2] "C:/Program Files/R/R-3.1.3/library"

library()顯示庫中有哪些包

library()
backports               Reimplementations of Functions Introduced Since
                        R-3.0.0
base64enc               Tools for base64 encoding
bitops                  Bitwise Operations
bookdown                Authoring Books and Technical Documents with R
                        Markdown
caTools                 Tools: moving window statistics, GIF, Base64,
                        ROC AUC, etc.
cellranger              Translate Spreadsheet Cell Ranges to Rows and
                        Columns
digest                  Create Compact Hash Digests of R Objects
evaluate                Parsing and Evaluation Tools that Provide More
                        Details than the Default

查看已經(jīng)安裝的包

函數(shù)installed.packages()

如下所示:

還可以這么輸入代碼:

pkgs <- installed.packages()

colnames(pkgs)

結(jié)果如下所示:

pkgs <- installed.packages()

colnames(pkgs)

 [1] "Package"               "LibPath"               "Version"              

 [4] "Priority"              "Depends"               "Imports"              

 [7] "LinkingTo"             "Suggests"              "Enhances"             

[10] "License"               "License_is_FOSS"       "License_restricts_use"

[13] "OS_type"               "MD5sum"                "NeedsCompilation"     

[16] "Built"

當(dāng)需要檢查包是否已經(jīng)安裝時(shí),可以使用以下代碼:

c("moments", "Built") %in% installed.packages()[, "Package"]

結(jié)果如下所示:

c("moments", "Built") %in% installed.packages()[, "Package"]

[1]  TRUE FALSE

查看包的版本

查看包的版本可以通過下面代碼實(shí)現(xiàn):


[1] "3.2.0"

包的更新update.packages()

update.packages()

查看本地的包

查看默認(rèn)加載的包妓笙,忽略基本的包

getOption("defaultPackages")

[1] "datasets"  "utils"     "grDevices" "graphics"  "stats"     "methods"

查看當(dāng)前已經(jīng)加載過的包

(.packages())

[1] "stats"     "graphics"  "grDevices" "utils"     "datasets"  "methods"
[7] "base"

顯示所有可用的包

(.packages(all.available=TRUE))

(.packages(all.available=TRUE))

  [1] "bitops"       "car"          "caTools"      "coin"        
  [5] "colorspace"   "crayon"       "curl"         "dichromat"   
  [9] "digest"       "evaluate"     "formatR"      "fun"         
 [13] "ggplot2"      "gtable"       "highr"        "htmltools"   
 [17] "httr"         "ISwR"         "jsonlite"     "KMsurv"      
 [21] "knitr"        "labeling"     "lme4"         "magrittr"    
 [25] "maps"         "maptools"     "markdown"     "MatrixModels"
 [29] "memoise"      "mime"         "minqa"        "mnormt"      
 [33] "modeltools"   "multcomp"     "munsell"      "mvtnorm"     
 [37] "nloptr"       "openssl"      "pbkrtest"     "plyr"        
 [41] "praise"       "psych"        "quantreg"     "R6"          
 [45] "RColorBrewer" "Rcpp"         "RcppEigen"    "RCurl"       
 [49] "reshape2"     "rmarkdown"    "sandwich"     "scales"      
 [53] "sp"           "SparseM"      "stringi"      "stringr"     
 [57] "swirl"        "testthat"     "TH.data"      "yaml"        
 [61] "zoo"          "base"         "boot"         "class"       
 [65] "cluster"      "codetools"    "compiler"     "datasets"    
 [69] "foreign"      "graphics"     "grDevices"    "grid"        
 [73] "KernSmooth"   "lattice"      "MASS"         "Matrix"      
 [77] "methods"      "mgcv"         "nlme"         "nnet"        
 [81] "parallel"     "rpart"        "spatial"      "splines"     
 [85] "stats"        "stats4"       "survival"     "tcltk"       
 [89] "tools"        "utils"

自定義啟動(dòng)時(shí)候的加載包

如果需要長期使用某個(gè)包的話若河,每次開啟都需要輸入library(),比較麻煩寞宫,因此可以讓R啟動(dòng)時(shí)自動(dòng)加載某些包萧福。在R的安裝目錄/etc/Rprofile.site加入下載語句:

例如讓R啟動(dòng)時(shí)自動(dòng)加載ggplot2包

local({old <- getOption(“defaultPackages”)
options(defaultPackages = c(old, “ggplot2”))})

安裝包,并加載包

if(!require("multcomp")){

  install.packages("multcomp")

  library(multcomp)

}

常用R包的搜集

數(shù)據(jù)導(dǎo)入

以下R包主要用于數(shù)據(jù)導(dǎo)入和保存數(shù)據(jù)

  • feather:一種快速辈赋,輕量級(jí)的文件格式鲫忍。在R和python上都可使用
  • readr:實(shí)現(xiàn)表格數(shù)據(jù)的快速導(dǎo)入。中文介紹可參考這里
  • readxl:讀取Microsoft Excel電子表格數(shù)據(jù)
  • openxlsx:讀取Microsoft Excel電子表格數(shù)據(jù)
  • googlesheets:讀取google電子表格數(shù)據(jù)
  • haven:讀取SAS钥屈,SPSS和Stata統(tǒng)計(jì)軟件格式的數(shù)據(jù)
  • httr:從網(wǎng)站開放的API中讀取數(shù)據(jù)
  • rvest:網(wǎng)頁數(shù)據(jù)抓取包
  • xml2:讀取HTML和XML格式數(shù)據(jù)
  • webreadr:讀取常見的Web日志格式數(shù)據(jù)
  • DBI:數(shù)據(jù)庫管理系統(tǒng)通用接口包
  • RMySQL:用于連接MySQL數(shù)據(jù)庫的R包
  • RPostgres:用于連接PostgreSQL數(shù)據(jù)庫的R包
  • bigrquery用于連接Google BigQuery的R包
  • PivotalR:用于讀取Pivitol(Greenplum)和HAWQ數(shù)據(jù)庫中的數(shù)據(jù)
  • dplyr:提供了一個(gè)訪問常見數(shù)據(jù)庫的接口
  • data.table:data.table包的fread()函數(shù)可以快速讀取大數(shù)據(jù)集
  • git2r:用于訪問git倉庫

數(shù)據(jù)整理

以下R包主要用于數(shù)據(jù)整理悟民,以便于你后續(xù)建模分析:

  • tidyr:用于整理表格數(shù)據(jù)的布局
  • dplyr:用于將多個(gè)數(shù)據(jù)表連接成一個(gè)整齊的數(shù)據(jù)集
  • purrr:函數(shù)式編程工具,在做數(shù)據(jù)整理時(shí)非常有用焕蹄。
  • broom:用于將統(tǒng)計(jì)模型的結(jié)果整理成數(shù)據(jù)框形式
  • zoo:定義了一個(gè)名zoo的S3類型對象逾雄,用于描述規(guī)則的和不規(guī)則的有序的時(shí)間序列數(shù)據(jù)。

數(shù)據(jù)可視化

以下R包用于數(shù)據(jù)可視化:

  • ggplot2及其擴(kuò)展:ggplot2包提供了一個(gè)強(qiáng)大的繪圖系統(tǒng)腻脏,并實(shí)現(xiàn)了以下擴(kuò)展

    • ggthemes:提供擴(kuò)展的圖形風(fēng)格主題
  • ggmap:提供Google Maps鸦泳,Open Street Maps等流行的在線地圖服務(wù)模塊

  • ggiraph:繪制交互式的ggplot圖形

  • ggstance:實(shí)現(xiàn)常見圖形的橫向版本

  • GGally:繪制散點(diǎn)圖矩陣

  • ggalt:添加額外的坐標(biāo)軸,geoms等

  • ggforce:添加額外geoms等

  • ggrepel:用于避免圖形標(biāo)簽重疊

  • ggraph:用于繪制網(wǎng)絡(luò)狀永品、樹狀等特定形狀的圖形

  • ggpmisc:光生物學(xué)相關(guān)擴(kuò)展

  • geomnet:繪制網(wǎng)絡(luò)狀圖形

  • ggExtra:繪制圖形的邊界直方圖

  • gganimate:繪制動(dòng)畫圖

  • plotROC:繪制交互式ROC曲線圖

  • ggspectra:繪制光譜圖

  • ggnetwork:網(wǎng)絡(luò)狀圖形的geoms

  • ggradar:繪制雷達(dá)圖

  • ggTimeSeries:時(shí)間序列數(shù)據(jù)可視化

  • ggtree:樹圖可視化

  • ggseas:季節(jié)調(diào)整工具

  • lattice:生成柵欄圖

  • rgl:交互式3D繪圖

  • ggvis:交互式圖表多功能系統(tǒng)

  • htmlwidgets:一個(gè)專為R語言打造的可視化JS庫

    • leaflet:繪制交互式地圖
  • dygraphs:繪制交互式時(shí)間序列圖

  • plotly:交互式繪圖包做鹰,中文介紹詳見這里

  • rbokeh:用于創(chuàng)建交互式圖表和地圖,中文介紹

  • Highcharter:繪制交互式Highcharts圖

  • visNetwork:繪制交互式網(wǎng)狀圖

  • networkD3:繪制交互式網(wǎng)狀圖

  • d3heatmap:繪制交互式熱力圖鼎姐,中文介紹

  • DT:用于創(chuàng)建交互式表格

  • threejs:繪制交互式3d圖形和地球儀 -rglwidget:繪制交互式3d圖形

  • DiagrammeR:繪制交互式圖表

  • MetricsGraphics:繪制交互式MetricsGraphics圖

  • rCharts:提供了對多個(gè)javascript數(shù)據(jù)可視化庫(highcharts/nvd3/polychart)的R封裝钾麸。

  • coefplot:可視化統(tǒng)計(jì)模型結(jié)果

  • quantmod:可視化金融圖表

  • colorspace:基于HSL的調(diào)色板

  • viridis:Matplotlib viridis調(diào)色板

  • munsell:Munsell調(diào)色板

  • RColorBrewer:圖形調(diào)色板

  • igraph:用于網(wǎng)絡(luò)分析和可視化

  • latticeExtra:lattice繪圖系統(tǒng)擴(kuò)展包

  • sp:空間數(shù)據(jù)工具

數(shù)據(jù)轉(zhuǎn)換

以下R包用于將數(shù)據(jù)轉(zhuǎn)換為新的數(shù)據(jù)類型

  • dplyr:一個(gè)用于高效數(shù)據(jù)清理的R包。視頻學(xué)習(xí)課程
  • magrittr:一個(gè)高效的管道操作工具包炕桨。
  • tibble:高效的顯示表格數(shù)據(jù)的結(jié)構(gòu)
  • stringr:一個(gè)字符串處理工具集
  • lubridate:用于處理日期時(shí)間數(shù)據(jù)
  • xts:xts是對時(shí)間序列數(shù)據(jù)(zoo)的一種擴(kuò)展實(shí)現(xiàn)饭尝,提供了時(shí)間序列的操作接口。
  • data.table:用于快速處理大數(shù)據(jù)集
  • vtreat:一個(gè)對預(yù)測模型進(jìn)行變量預(yù)處理的工具
  • stringi:一個(gè)快速字符串處理工具
  • Matrix:著名的稀疏矩陣包

統(tǒng)計(jì)建模與推斷

下述R包是統(tǒng)計(jì)建模最常用的幾個(gè)R包献宫,其中的一些R包適用于多個(gè)主題钥平。

  • car:提供了大量的增強(qiáng)版的擬合和評(píng)價(jià)回歸模型的函數(shù)。
  • Hmisc:提供各種用于數(shù)據(jù)分析的函數(shù)
  • multcomp:參數(shù)模型中的常見線性假設(shè)的同時(shí)檢驗(yàn)和置信區(qū)間計(jì)算姊途,包括線性涉瘾、廣義線性、線性混合效應(yīng)和生存模型捷兰。
  • pbkrtest用于線性混合效應(yīng)模型的參數(shù)Bootstrap檢驗(yàn)
  • MatrixModels:用于稠密矩陣和稀疏矩陣建模
  • mvtnorm:用于計(jì)算多元正態(tài)分布和t分布的概率立叛,分位數(shù),隨機(jī)偏差等
  • SparseM:用于稀疏矩陣的基本線性代數(shù)運(yùn)算
  • lme4:利用C++矩陣庫 Eigen進(jìn)行線性混合效應(yīng)模型的計(jì)算贡茅。
  • broom:將統(tǒng)計(jì)模型結(jié)果整理成數(shù)據(jù)框形式
  • caret:一個(gè)用于解決分類和回歸問題的數(shù)據(jù)訓(xùn)練綜合工具包
  • glmnet:通過極大懲罰似然來擬合廣義線性模型
  • gbm:用于實(shí)現(xiàn)隨機(jī)梯度提升算法
  • xgboost:全稱是eXtreme Gradient Boosting秘蛇。是Gradient Boosting Machine的一個(gè)c++實(shí)現(xiàn)其做。目前已制作了xgboost工具的R語言接口。詳見統(tǒng)計(jì)之都的一篇介紹
  • randomForest:提供了用隨機(jī)森林做回歸和分類的函數(shù)
  • ranger:用于隨機(jī)森林算法的快速實(shí)現(xiàn)
  • h2o:H2O是0xdata的旗艦產(chǎn)品赁还,是一款核心數(shù)據(jù)分析平臺(tái)庶柿。它的一部分是由R語言編寫的,另一部分是由Java和Python語言編寫的秽浇。用戶可以部署H2O的R程序安裝包,之后就可以在R語言環(huán)境下運(yùn)行了甚负。
  • ROCR:通過繪圖來可視化分類器的綜合性能柬焕。
  • pROC:用于可視化,平滑和對比ROC曲線

溝通交流

以下R包用于實(shí)現(xiàn)數(shù)據(jù)科學(xué)結(jié)果的自動(dòng)化報(bào)告梭域,以便于你跟人們進(jìn)行溝通交流斑举。

  • rmarkdown :用于創(chuàng)建可重復(fù)性報(bào)告和動(dòng)態(tài)文檔
  • knitr:用于在PDF和HTML文檔中嵌入R代碼塊
  • flexdashboard:基于rmarkdown,可以輕松的創(chuàng)建儀表盤
  • bookdown:以R Markdown為基礎(chǔ)病涨,用于創(chuàng)作書籍和長篇文檔
  • rticles:提供了一套R(shí) Markdown模板
  • tufte:用于實(shí)現(xiàn)Tufte講義風(fēng)格的R Markdown模板
  • DT:用于創(chuàng)建交互式的數(shù)據(jù)表
  • pixiedust:用于自定義數(shù)據(jù)表的輸出
  • xtable:用于自定義數(shù)據(jù)表的輸出
  • highr:用于實(shí)現(xiàn)R代碼的LaTeX或HTML格式輸出
  • formatR:通過tidy_source函數(shù)格式化R代碼的輸出
  • yaml:用于實(shí)現(xiàn)R數(shù)據(jù)與YAML格式數(shù)據(jù)之間的通信富玷。

自動(dòng)化分析

以下R包用于創(chuàng)建自動(dòng)化分析結(jié)果的數(shù)據(jù)科學(xué)產(chǎn)品:

  • shiny:一個(gè)使用R語言開發(fā)交互式web應(yīng)用程序的工具。中文教程
    • shinydashboard:用于創(chuàng)建交互式儀表盤
  • shinythemes:給出了Shiny應(yīng)用程序的常用風(fēng)格主題
  • shinyAce:為Shiny應(yīng)用程序開發(fā)者提供Ace代碼編輯器既穆。
  • shinyjs:用于在Shiny應(yīng)用程序中執(zhí)行常見的JavaScript操作
  • miniUI:提供了一個(gè)UI小部件赎懦,用于在R命令行中集成交互式應(yīng)用程序
  • shinyapps.io:為創(chuàng)建的Shiny應(yīng)用程序提供托管服務(wù)
  • Shiny Server Open Source:為Shiny應(yīng)用程序提供開源免費(fèi)的服務(wù)器
  • Shiny Server Pro:為企業(yè)級(jí)用戶提供一個(gè)Shiny應(yīng)用程序服務(wù)器
  • rsconnect:用于將Shiny應(yīng)用程序部署到shinyapps.io
  • plumber:用于將R代碼轉(zhuǎn)化為一個(gè)web API
  • rmarkdown:用于創(chuàng)建可重復(fù)性報(bào)告和動(dòng)態(tài)文檔
  • rstudioapi:用于安全地訪問RStudio IDE的API

程序開發(fā)

以下這些包主要用于開發(fā)自定義的R包:

  • RStudio Desktop IDE:R的IDE。大家都懂幻工,不用解釋励两。
  • RStudio Server Open Source:開源免費(fèi)的RStudio服務(wù)器
  • RStudio Server Professional:商業(yè)版RStudio服務(wù)器
  • devtools:一個(gè)讓開發(fā)R包變得簡單的工具集
  • packrat:創(chuàng)建項(xiàng)目的特定庫,用于處理包的版本問題囊颅,增強(qiáng)代碼重現(xiàn)能力当悔。
  • drat:一個(gè)用于創(chuàng)建和使用備選R包庫的工具
  • testthat:單元測試,讓R包穩(wěn)定踢代、健壯盲憎,減少升級(jí)的痛苦。
  • roxygen2:通過注釋的方式胳挎,生成文檔饼疙,遠(yuǎn)離Latex的煩惱。
  • purrr:一個(gè)用于 提供函數(shù)式編程方法的工具
  • profvis:用于可視化R代碼的性能分析數(shù)據(jù)
  • Rcpp:用于實(shí)現(xiàn)R與C++的無縫整合串远。詳見統(tǒng)計(jì)之都文章
  • R6:R6是R語言的一個(gè)面向?qū)ο蟮腞包宏多,可以更加高效的構(gòu)建面向?qū)ο笙到y(tǒng)。
  • htmltools:用于生成HTML格式輸出
  • nloptr:提供了一個(gè)NLopt非線性優(yōu)化庫的接口
  • minqa:一個(gè)二次近似的優(yōu)化算法包
  • rngtools:一個(gè)用于處理隨機(jī)數(shù)生成器的實(shí)用工具
  • NMF:提供了一個(gè)執(zhí)行非負(fù)矩陣分解的算法和框架
  • crayon:用于在輸出終端添加顏色
  • RJSONIO:rjson是一個(gè)R語言與json進(jìn)行轉(zhuǎn)的包澡罚,是一個(gè)非常簡單的包伸但,支持用 C類庫轉(zhuǎn)型和R語言本身轉(zhuǎn)型兩種方式。
  • jsonlite:用于實(shí)現(xiàn)R語言與json數(shù)據(jù)格式之間的轉(zhuǎn)化
  • RcppArmadillo:提供了一個(gè)Armadillo C++ Library(一種C++的線性代數(shù)庫)的接口

實(shí)驗(yàn)數(shù)據(jù)

以下R包給出了案例實(shí)戰(zhàn)過程中可用的訓(xùn)練數(shù)據(jù)集:

  • babynames:包含由美國社會(huì)保障局提供的三個(gè)數(shù)據(jù)集
  • neiss:2009-2014年期間提供給美國急診室的所有事故報(bào)告樣本數(shù)據(jù)
  • yrbss:美國疾病控制中心2009-2013年期間青年危險(xiǎn)行為監(jiān)測系統(tǒng)數(shù)據(jù)
  • hflights:
  • USAboundaries:2011年全年休斯頓機(jī)場的所有航班數(shù)據(jù)
  • rworldmap:國家邊界數(shù)據(jù)
  • usdanutrients:美國農(nóng)業(yè)部營養(yǎng)數(shù)據(jù)庫
  • fueleconomy:美國環(huán)保署1984-2015年期間的燃油經(jīng)濟(jì)數(shù)據(jù)
  • nasaweather:包含了一個(gè)覆蓋中美洲的非常粗糙的24*24格地理位置和大氣測量數(shù)據(jù)留搔。
  • mexico-mortality:墨西哥死亡人數(shù)數(shù)據(jù)
  • data-movies和ggplotmovies:來自互聯(lián)網(wǎng)電影數(shù)據(jù)庫imdb.com的數(shù)據(jù)
  • pop-flows:2008年全美人口流動(dòng)數(shù)據(jù)
  • data-housing-crisis:經(jīng)過清洗后的2008美國房地產(chǎn)危機(jī)數(shù)據(jù)
  • gun-sales:紐約時(shí)報(bào)提供的有關(guān)槍支購買的每月背景調(diào)查統(tǒng)計(jì)分析數(shù)據(jù)
  • stationaRy:從成千上萬個(gè)全球站點(diǎn)收集到的每小時(shí)氣象數(shù)據(jù)
  • gapminder:摘自Gapminder的數(shù)據(jù)
  • janeaustenr:簡·奧斯丁小說全集數(shù)據(jù)

查看R的版本

sessionInfo() # 要加括號(hào)

如下所示:

 sessionInfo() # 要加括號(hào)

R version 3.4.0 (2017-04-21)

Platform: x86_64-w64-mingw32/x64 (64-bit)

Running under: Windows >= 8 x64 (build 9200)

Matrix products: default

locale:

[1] LC_COLLATE=Chinese (Simplified)_China.936  LC_CTYPE=Chinese (Simplified)_China.936   

[3] LC_MONETARY=Chinese (Simplified)_China.936 LC_NUMERIC=C                              

[5] LC_TIME=Chinese (Simplified)_China.936    

attached base packages:

[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:

[1] downloader_0.4 rafalib_1.0.0 

loaded via a namespace (and not attached):

[1] compiler_3.4.0     tools_3.4.0        RColorBrewer_1.1-2 digest_0.6.15

查看R語言的內(nèi)置數(shù)據(jù)集data()

R的基本包中有一個(gè)叫datasets更胖,里面全是示例數(shù)據(jù)集,供用戶練習(xí)用。同時(shí)也可以使用data()來查看所有已經(jīng)成功加載的包的數(shù)據(jù)集:

Data sets in package ‘datasets’:

AirPassengers                         Monthly Airline Passenger Numbers 1949-1960

BJsales                               Sales Data with Leading Indicator

BJsales.lead (BJsales)                Sales Data with Leading Indicator

...

略

如果需要查看更完整的列表却妨,包括已安裝的所有包的數(shù)據(jù)饵逐,可以使用下面代碼:

data(package = .packages(TRUE))

加載特定包中的數(shù)據(jù)集

如果想要訪問任意數(shù)據(jù)集里面的數(shù)據(jù),可以使用data()函數(shù)彪标,傳入數(shù)據(jù)集的名稱以及所在的包名(如果這個(gè)包已經(jīng)被加載了倍权,就可以不用packages="包名"這個(gè)以參數(shù)了),如下所示:

data("kidney", package = "survival")
head(kidney)

這個(gè)命令是調(diào)用survival這個(gè)包中的kidney這個(gè)數(shù)據(jù)集捞烟,如下所示:

data("kidney", package = "survival")
head(kidney)
  id time status age sex disease frail
1  1    8      1  28   1   Other   2.3
2  1   16      1  28   1   Other   2.3
3  2   23      1  48   2      GN   1.9
4  2   13      0  48   2      GN   1.9
5  3   22      1  32   1   Other   1.2
6  3   28      1  32   1   Other   1.2

參考資料

  1. http://www.xueqing.tv/cms/article/198
  2. http://blog.fens.me/
  3. 學(xué)習(xí)R.[美] Richard薄声,Cotton 著劉軍 譯
  4. R 從安裝開始:BiocLite 到 BiocManager
  5. R語言編程指南.任坤 著,王婷题画,趙孟韜默辨,王澤賢 譯
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市苍息,隨后出現(xiàn)的幾起案子缩幸,更是在濱河造成了極大的恐慌,老刑警劉巖竞思,帶你破解...
    沈念sama閱讀 206,013評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件表谊,死亡現(xiàn)場離奇詭異,居然都是意外死亡衙四,警方通過查閱死者的電腦和手機(jī)铃肯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來传蹈,“玉大人押逼,你說我怎么就攤上這事〉虢纾” “怎么了挑格?”我有些...
    開封第一講書人閱讀 152,370評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長沾歪。 經(jīng)常有香客問我漂彤,道長,這世上最難降的妖魔是什么灾搏? 我笑而不...
    開封第一講書人閱讀 55,168評(píng)論 1 278
  • 正文 為了忘掉前任挫望,我火速辦了婚禮,結(jié)果婚禮上狂窑,老公的妹妹穿的比我還像新娘媳板。我一直安慰自己,他們只是感情好泉哈,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評(píng)論 5 371
  • 文/花漫 我一把揭開白布蛉幸。 她就那樣靜靜地躺著破讨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪奕纫。 梳的紋絲不亂的頭發(fā)上提陶,一...
    開封第一講書人閱讀 48,954評(píng)論 1 283
  • 那天,我揣著相機(jī)與錄音匹层,去河邊找鬼隙笆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛升筏,可吹牛的內(nèi)容都是我干的仲器。 我是一名探鬼主播,決...
    沈念sama閱讀 38,271評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼仰冠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蝶糯?” 一聲冷哼從身側(cè)響起洋只,我...
    開封第一講書人閱讀 36,916評(píng)論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎昼捍,沒想到半個(gè)月后识虚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡妒茬,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評(píng)論 2 323
  • 正文 我和宋清朗相戀三年担锤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乍钻。...
    茶點(diǎn)故事閱讀 37,989評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡肛循,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出银择,到底是詐尸還是另有隱情多糠,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評(píng)論 4 322
  • 正文 年R本政府宣布浩考,位于F島的核電站夹孔,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏析孽。R本人自食惡果不足惜搭伤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望袜瞬。 院中可真熱鬧怜俐,春花似錦、人聲如沸吞滞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至殿漠,卻和暖如春赴精,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绞幌。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評(píng)論 1 260
  • 我被黑心中介騙來泰國打工蕾哟, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人莲蜘。 一個(gè)月前我還...
    沈念sama閱讀 45,401評(píng)論 2 352
  • 正文 我出身青樓谭确,卻偏偏與公主長得像,于是被迫代替她去往敵國和親票渠。 傳聞我的和親對象是個(gè)殘疾皇子逐哈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 在學(xué)習(xí)R的時(shí)候,R的包眾多问顷,很多時(shí)候?qū)τ诔鯇W(xué)者會(huì)造成很大的困擾就是不知道用什么樣的包比較合適昂秃。我會(huì)在不斷使用...
    果果哥哥BBQ閱讀 15,987評(píng)論 0 62
  • 1.數(shù)據(jù)導(dǎo)入 以下R包主要用于數(shù)據(jù)導(dǎo)入和保存數(shù)據(jù): feather:一種快速,輕量級(jí)的文件格式杜窄;在R和python...
    雨一流閱讀 1,286評(píng)論 0 9
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,089評(píng)論 1 32
  • 在上一節(jié)「R shiny基礎(chǔ)」交互式入門, 我們實(shí)現(xiàn)了簡單的用戶交互肠骆。這一篇將會(huì)在之前的基礎(chǔ)上,以對美國的人口普查...
    xuzhougeng閱讀 8,367評(píng)論 1 13
  • 無心的相遇 在莫名的瞬間 成了定格 韶光漫漫 一縷牽掛 顫微微搖晃在韶華的縫隙 是嬌弱里含著憂愁的吊蘭 盈滿的盛放...
    燕尾無聲閱讀 266評(píng)論 0 0