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
參考資料
- http://www.xueqing.tv/cms/article/198
- http://blog.fens.me/
- 學(xué)習(xí)R.[美] Richard薄声,Cotton 著劉軍 譯
- R 從安裝開始:BiocLite 到 BiocManager
- R語言編程指南.任坤 著,王婷题画,趙孟韜默辨,王澤賢 譯