Install R on Linux Ubuntu & Simple Usage

来源:互联网 发布:php 格式化打印数组 编辑:程序博客网 时间:2024/05/06 11:54

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.ioplumber:用于将R代码转化为一个web APIrmarkdown:用于创建可重复性报告和动态文档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

0 0
原创粉丝点击