精华内容
下载资源
问答
  • (1)清华大学精品数据科学R语言全套课程PPT课件含习题(26页) 第1章 R语言绪论(1) (2)清华大学精品数据科学R语言全套课程PPT课件含习题(27页) 第2章 R语言入门 (3)清华大学精品数据科学R语言全套课程PPT课件...
  • (1)清华大学精品数据科学R语言全套课程PPT课件含习题(26页) 第1章 R语言绪论(1) (2)清华大学精品数据科学R语言全套课程PPT课件含习题(27页) 第2章 R语言入门 (3)清华大学精品数据科学R语言全套课程PPT课件...
  • r for data science 中文翻译版~
  • (1)清华大学精品数据科学R语言全套课程PPT课件含习题(26页) 第1章 R语言绪论(1) (2)清华大学精品数据科学R语言全套课程PPT课件含习题(27页) 第2章 R语言入门 (3)清华大学精品数据科学R语言全套课程PPT课件...
  • (1)清华大学精品数据科学R语言全套课程PPT课件含习题(26页) 第1章 R语言绪论(1) (2)清华大学精品数据科学R语言全套课程PPT课件含习题(27页) 第2章 R语言入门 (3)清华大学精品数据科学R语言全套课程PPT课件...
  • (1)清华大学精品数据科学R语言全套课程PPT课件含习题(26页) 第1章 R语言绪论(1) (2)清华大学精品数据科学R语言全套课程PPT课件含习题(27页) 第2章 R语言入门 (3)清华大学精品数据科学R语言全套课程PPT课件...
  • (1)清华大学精品数据科学R语言全套课程PPT课件含习题(26页) 第1章 R语言绪论(1) (2)清华大学精品数据科学R语言全套课程PPT课件含习题(27页) 第2章 R语言入门 (3)清华大学精品数据科学R语言全套课程PPT课件...
  • (1)清华大学精品数据科学R语言全套课程PPT课件含习题(26页) 第1章 R语言绪论(1) (2)清华大学精品数据科学R语言全套课程PPT课件含习题(27页) 第2章 R语言入门 (3)清华大学精品数据科学R语言全套课程PPT课件...
  • 第五章 数据结构与数据处 理 第 5章 数据结构与数据处理 2 5.1 向量 5.2 矩阵和数组 5.3 数据框 内容导航 5.4 因子 C O N T E N T S 5.5 列表 5.6 数据导入与导出 5.7 数据清 用seq)创建向量 第 5章 数据结构与数据...
  • (1)清华大学精品数据科学R语言全套课程PPT课件含习题(26页) 第1章 R语言绪论(1) (2)清华大学精品数据科学R语言全套课程PPT课件含习题(27页) 第2章 R语言入门 (3)清华大学精品数据科学R语言全套课程PPT课件...
  • (1)清华大学精品数据科学R语言全套课程PPT课件含习题(26页) 第1章 R语言绪论(1) (2)清华大学精品数据科学R语言全套课程PPT课件含习题(27页) 第2章 R语言入门 (3)清华大学精品数据科学R语言全套课程PPT课件...
  • (1)清华大学精品数据科学R语言全套课程PPT课件含习题(26页) 第1章 R语言绪论(1) (2)清华大学精品数据科学R语言全套课程PPT课件含习题(27页) 第2章 R语言入门 (3)清华大学精品数据科学R语言全套课程PPT课件...
  • (1)清华大学精品数据科学R语言全套课程PPT课件含习题(26页) 第1章 R语言绪论(1) (2)清华大学精品数据科学R语言全套课程PPT课件含习题(27页) 第2章 R语言入门 (3)清华大学精品数据科学R语言全套课程PPT课件...
  • 数据科学R语言实现》 样例源码
  • 山东大学数据科学实验:数据科学家的第一个project 资料内容包括: (1)R语言数据爬取(sweather.R)代码+数据分析(weatherA.R)代码 (2)爬取的数据集 (3)数据分析得到的各种图表实验代码清晰简洁,实现了天气...
  • (1)清华大学精品数据科学R语言全套课程PPT课件含习题(26页) 第1章 R语言绪论(1) (2)清华大学精品数据科学R语言全套课程PPT课件含习题(27页) 第2章 R语言入门 (3)清华大学精品数据科学R语言全套课程PPT课件...
  • (1)清华大学精品数据科学R语言全套课程PPT课件含习题(26页) 第1章 R语言绪论(1) (2)清华大学精品数据科学R语言全套课程PPT课件含习题(27页) 第2章 R语言入门 (3)清华大学精品数据科学R语言全套课程PPT课件...
  • (1)清华大学精品数据科学R语言全套课程PPT课件含习题(26页) 第1章 R语言绪论(1) (2)清华大学精品数据科学R语言全套课程PPT课件含习题(27页) 第2章 R语言入门 (3)清华大学精品数据科学R语言全套课程PPT课件...
  • 第九章 神经网络与深度学 习 第 9章 神经网络与深度学习 2 9.1 基本原理 9.2...下诞生 的 l 在生命科学中神经网络是指动物大脑中一 系列相互连接的神经元 l 信号通过神经元的轴突经过突触传递到其他 神经元的树突上这就
  • 数据科学R 老师 教授若泽·爱德华多Storopoli博士-- - 如何使用此内容? 此内容具有免费使用许可(CC BY-SA)。 如果您想将内容用于课程或学习,请在此存储库进行任何改进。 设置本地环境: 克隆GitHub存储库...
  • 数据科学导论_Python语言实现_数据科学与工程技术丛书,epub电子书。
  • 一、数据科学工作流程1.1 数据导入 1.2 数据整理 1.3 反复理解数据 1.4 数据可视化 1.5 数据转换 1.6 统计建模 1.7 作出推断(比如预测) 1.8 沟通交流 1.9 自动化分析 2.0 程序开发二、每个步骤最有用的...

    一、数据科学工作流程

    这里写图片描述

    1.1 数据导入
    1.2 数据整理
    1.3 反复理解数据
    1.4 数据可视化
    1.5 数据转换
    1.6 统计建模
    1.7 作出推断(比如预测)
    1.8 沟通交流
    1.9 自动化分析
    2.0 程序开发

    二、每个步骤最有用的一些R包

    1、数据导入

    以下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仓库

    2、数据整理

    以下R包主要用于数据整理,以便于你后续建模分析:

    tidyr:用于整理表格数据的布局
    dplyr:用于将多个数据表连接成一个整齐的数据集
    purrr:函数式编程工具,在做数据整理时非常有用。
    broom:用于将统计模型的结果整理成数据框形式
    zoo:定义了一个名zoo的S3类型对象,用于描述规则的和不规则的有序的时间序列数据。

    3、数据可视化

    以下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:空间数据工具

    4、数据转换

    以下R包用于将数据转换为新的数据类型

    dplyr:一个用于高效数据清理的R包。视频学习课程
    magrittr:一个高效的管道操作工具包。
    tibble:高效的显示表格数据的结构
    stringr:一个字符串处理工具集
    lubridate:用于处理日期时间数据
    xts:xts是对时间序列数据(zoo)的一种扩展实现,提供了时间序列的操作接口。
    data.table:用于快速处理大数据集
    vtreat:一个对预测模型进行变量预处理的工具
    stringi:一个快速字符串处理工具
    Matrix:著名的稀疏矩阵包

    5、统计建模与推断

    下述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曲线

    6、沟通交流

    以下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格式数据之间的通信。

    7、自动化分析

    以下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

    8、程序开发

    以下这些包主要用于开发自定义的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++的线性代数库)的接口

    9、实验数据

    以下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 语言开始。所以,我想向你保证。R 语言绝对没有过时的。事实上,R 语言是非常受欢迎的而且是最好的数据语言。为此,我想解释为什么我对 R 语言的长期前景非常乐观,...

    本文来源:数据分析师

    R 语言是过去十年中发展最快的编程语言之一。

    事实上,如果你开始学习数据科学,我仍然推荐从 R 语言开始。

    所以,我想向你保证。R 语言绝对没有过时的。事实上,R 语言是非常受欢迎的而且是最好的数据语言。

    为此,我想解释为什么我对 R 语言的长期前景非常乐观,以及为什么我认为这也许是今天可以学习的最好的数据科学语言。

    R 语言始终是最好的语言之一

    我想让你们明白的一件事情是:目前 R 语言是存在的最受尊敬、排名最高、增长最快的语言之一。

    在很多方面,R 语言就代表了数据语言。在数据科学领域,这是一个仍处于顶端的语言(只有 1 到 2 个真正的竞争者)。

    为什么这么说呢?让我们看看几个重要的调查和编程语言排名的结果,看看 R 语言排在哪里。

    IEEE:R 语言排名第 5

    世界上最大的技术专业协会 IEEE 在几年前已经创建了一个编程语言排名。

    这个 IEEE 的排名系统使用一组 12 个指标,包括比如谷歌的搜索量、谷歌的趋势、Twitter 的点击次数、GitHub 的库、Hacker News 的帖子等等。

    使用这种方法,他们将几十种编程语言进行排名和分类。

    在他们对 2016 年顶级编程语言的回顾中,R 语言已经攀升到了第 5


    IEEE 的方法是非常全面的,所以这对于 R 相对于其他语言的力量和学习的相对价值是一个很好的指示。

    TIOBE:R的排名高,且具有连续的上升趋势

    另一个排名系统,TIOBE 索引,为各种编程语言创建了相似的分数和排名。

    如果我们看看 R 语言在 TIOBE 索引上的表现,我们可以看到近十年以来一个稳定的上升趋势。

    请记住,TIOBE 索引的结构是「编程语言受欢迎程度的指示」。索引每个月更新一次,评分是基于世界范围内的精尖工程师、课程和第三方供应商的使用量。像谷歌、Bing、雅虎、维基百科、亚马逊、油管和百度等热门搜索引擎则用来计算排名。

    到 2016 年 12 月,R 语言的总排名是 17(在所有编程语言中)。它的最高排名是 2015 年 5 月的第 12 名。

    这表明,如果你想学习数据科学,目前学习 R 语言仍然是一个很好的选择。(要清楚,Python 在 TIOBE 索引上的排名较高,但是很难从 Python 相关使用的严格数据中分离出网络和软件开发的使用情况,因此这可能不是一个公平的比较)。

    Redmonk:R语言排名12

    另一个经常选择的语言排名系统是 Redmonk 编程语言排名,它是从 GitHub(代码行数)和 Stack Overflow(标签数量)上的流行度衍生出来的。

    截至 2016 年 11 月,R 语言在所有编程语言中排名第 13 位。

    此外,R 语言几年来一直呈上升趋势

    在前 20 种语言的后半部分中,随着时间的推移,R 语言显示出最一致的上升趋势。从 2012 年的第 17 位开始,它随着时间的推移稳步上升,但似乎在 13 这个位置上停留了连续三个季度。然而这一次,R 语言代替了排名 12 位的 Perl,使其跌落到 13 位。虽然仍然有大量的 Perl 语言在流通,但是更加专业的 R 语言已经夺取了这个一度被认为是网络粘结剂的 Perl 语言的位置。当然这与 R 语言的支持者们无关。R 语言相对独特的前 20 路径是值得它们的粉丝所欢呼的。

    O’Reilly:R语言可以说是最常见的数据编程语言

    最后,媒体 O'Reilly 在过去的几年里进行了一次数据科学调查,他们使用调查数据来分析数据科学的趋势。除了其他的之外,它们分析工具的使用情况来确定哪些工具是数据科学家最常使用的。

    在 2016 年的调查报告中,R 语言是最常用的编程语言(如果我们排除 SQL,这不是我在这里所指的编程语言)。57% 的受访者使用 R 语言(相比之下,使用 Python 的有 54%)

    (另外,有 70% 的受访者使用 SQL。如果你正在寻找 R 之后的另一个语言去学习,我会推荐 SQL)

    他们还调查了人们去识别数据可视化的工具。他们发现 ggplot2 是最常见的可视化工具。我会在一篇即将发布的博客中解释为什么我喜欢 ggplot2,但如果我们只跟踪人气,O'reilly 的调查表明 ggplot2 时最常被使用的工具之一,甚至可能就是最常被使用的。

    R 语言是学习数据科学的极佳语言

    R 语言成为一门极佳的数据科学语言,在普遍性之外,另一大原因是:它是一门非常好的学习数据科学的语言。

    R 语言是真正的「数据语言」

    R 语言之所以如此适合数据科学的原因部分跟它本身的语言特性有关。自 R 语言发明之初,数据及统计的观念便融入其中。R-Project 形容其为「为统计计算而准备的编程语言及环境」。也就是说,R 语言的 DNA 中就含有统计及数据的基因。

    如此说来,R 语言在众多编程语言中可谓独树一帜。它是一门为统计而生的语言,是一门为(处理)数据而设计的语言。当你在学习数据科学的时候,这将带来很大的优势——因为几乎所有的统计测试或方法都能够在 R 语言及其拓展库中找到。

    最好的书籍和资源都使用了 R 语言

    俨然,R 语言已是一门「统计计算」语言。与之相关的是,许多很好的书籍及学习资源都采用了 R 语言。

    这非常重要。如果你是一名初学者,在数据科学领域才刚刚起步,那么你将需要学习很多知识。要真正掌握数据科学,你需要学习包括概率论、统计学、数据可视化、数据处理及机器学习在内的诸多子领域。所有这些领域都包含了理论基础(也就是你需要学习的内容),同时你也需要通过编写程序实际使用它们。

    也就是说,你需要这样一种语言:

    能够在这些领域都能够发挥作用(如数据可视化、数据处理、机器学习(也叫做统计学习))。

    这门编程语言在这些领域内还有高质量的学习、训练素材。

    尽管市面上有很多关于数据科学的书籍与课程,但其中最好的大多都是基于 R 语言的。

    使用 R 语言学习概率论

    以概率论为例,两本关于概率论的优秀书籍都是用 R 语言来编写书上的上手案例的。这两本书分别是:

    《Probability with Applications and R》。这本书语言朴实、通俗易懂、条理清晰。

    《Introduction to Probability》。这本书基于哈佛著名的统计学课程编写。

    这只是两个简单的例子。如果你进一步发掘的话,你会发现几乎所有的关于概率论的书籍都使用了 R 语言。

    使用 R 语言学习频率论统计学(frequentist statistics)

    对于统计学方面的书籍也是如此。

    因为统计学已经深入 R 语言的骨髓,所以许多统计学课本使用 R 语言作为其学习工具。

    《Statistics: an Introduction using R》是一本介绍频率论统计学的优秀书籍。

    一样的,如果你在亚马逊上快速搜索一下,你找到的大部分统计学入门的教材都使用了 R 语言作为它们的学习工具。

    使用 R 语言学习贝叶斯统计学

    当你正在寻找一本关于贝叶斯统计学的入门书籍时,这种趋势变得更为明显。

    几乎所有的关于贝叶斯统计及推断的书籍都是用了 R 语言。尽管有些例外(有些书使用了 C 语言或者 Python),但主导的仍然是 R 语言。

    如果你对贝叶斯统计学感兴趣,你可以查看这几本书:

    Introduction to Bayesian Statistics

    Statistical Rethinking

    Doing Bayesian Data Analysis

    如果你对贝叶斯方法感兴趣的话,这些书是你最棒的选择了,并且它们都使用了 R 语言。

    学习如何在 R 中进行数据可视化

    当你在学习数据可视化的时候,尽管你会有相对更多的编程语言可以选择,但笔者还是认为,大多数最优的编程资源都使用了 R 语言。

    如果你正在学习数据可视化,那么你可以参考 Nathan Yau 的工作。他经常在他的博客(flowingdata.com)上上传一些使用 R 语言的数据可视化教程。(笔者同时推荐他所写的《Data Points》作为参考,在这本书中主要讲授的是数据可视化的一些法则而非编程实现。)

    笔者亦推荐 Hadley Wickham 所著的书。如果你对使用 R 语言进行数据可视化感兴趣的话,那么你应该拥有 ggplot2 这本书。它不仅教会你如何使用 R 语言中数据可视化库的使用方法,还能够改变你对数据进行可视化的观念。

    同时,你还可以参考这本书:R for Data Science。这本书包含了对数据可视化非常棒的介绍,还有对很多 R 语言数据可视化工具库的介绍,是一本学习 R 语言的必备书籍。

    使用 R 语言来学习机器学习

    最后,如果你想开始学习机器学习,有很多优秀的使用 R 语言描述的机器学习的书籍可以参考。

    我承认,现在有各种各样使用不同的编程语言的来描述机器学习的书籍,但我认为,在最好的那一部分书籍中有很大比例都是使用的 R 语言。

    下面有两个使用 R 语言来介绍机器学习的优秀的教程:

    统计学习导论(An Introduction to Statistical Learning)

    应用预测建模(Applied Predictive Modeling)

    这些书写得十分严谨同时也很容易理解。书中会提及一些理论知识(但是不会用很复杂的数学知识来为难你),同时也会教授你一些实用的技术。

    毫无疑问,这是我给想学习机器学习的初学者最常推荐的两本书,并且它们都使用的是 R 语言。

    如果你想学习数据科学,R 语言是一个绝佳的选择

    最后强调一下,R 是一种学习数据科学的优质语言,因为许多优秀的书籍(以及一些其它的教程)都使用 R 来作为编程语言。

    所以,如果你是数据科学的初学者,由于数据科学学习材料的数量和质量所限制,所我认为 R 语言是最好的选择。

    一个关于 Python 的快速注解

    就数据科学编程语言来说,Python 是目前唯一可以替代 R 的语言。(因为其它的替代方案缺乏完善的软件包生态系统或者是非开源/免费的)。

    我不会在这里阐述我对 Python 的全部理解,但是我必须要讲的是,Python 的确是一种优秀的语言。我爱 Python。

    话虽如此,对于数据科学的初学者来说,我仍然认为 R 是更好的选择,其中的原因我在上文中已经进行了概述。

    再者,我认为关于基础数据科学概念(概率、统计、贝叶斯统计、机器学习)的许多最好的教科书和教程都是基于 R 的。当然,这并不是说没有优秀的数据科学书籍使用 Python,我只是认为基于 R 的书籍的平均质量高于用其它编程语言描述的书籍。

    有关于 Python 的另一个问题是,很多学生在开发过程中会遇到一些困难。他们在学习的过程中并没有花多少时间来学习统计数据、数据可视化、数据操作、概率等,而是花费了大量的时间去学习数据结构、循环、流程控制、面向对象的编程和 Web 框架。这些技能可以用来完善核心的数据科学工具包,但它们不是我们想要了解的数据科学范畴的相关内容。事实上,我建议大多数初学者先学习基本数据科学相关的内容(如数据操作、可视化、分析等)后再学习软件开发。

    虽然大多数的初学者在以后会学习软件开发的技术,但是很多使用 Python 来作为入门数据科学的初学者会陷入到软件开发和 Web 开发等领域。我认为之所以会出现这样的问题,是因为在许多方面,Python 都是运用于这些领域的。大多数关于 Python 的书籍并不是真正的数据科学书籍,而是讲述一些有关于编程和开发的内容。所以,有些数据科学的初学者选择使用 Python 描述的书籍来学习数据科学,然而他们最终却花费了数月甚至数年来学习软件和 web 开发而不是数据科学。

    当然,我非常爱 Python,但是对于初学者而言,我认为选择 Python 有一些冒险。最好还是从 R 语言开始,因为统计学和数据科学就像「它的 DNA」一样和它绑定在一起。使用 R 语言,不仅更容易学习,也不容易偏离我们的学习范畴。

    如果你想学习数据科学,那么就学习 R 语言吧

    你应该记住的是,如果想要学习数据科学,R 是可以说是最好的选择。在人气方面,R 拥有非常高的排名,并且还处于上升趋势。此外,有很多最好的数据科学的书籍和教程都是使用 R 语言来描述的。

    如果你想要开始学习数据科学,我的建议如下:

    学习 R 语言

    重点学习 ggplot2、dplyr、tidyr、lubridate 和一些其它用于实现数据的可视化和控制的 Hadleyverse 工具

    学习同时使用这些工具来进行数据分析。

    当你对这些 R 工具包有所了解之后就可以开始学习概率、统计学和机器学习的内容了 (我推荐大家使用我在本文中所谈到的那些资料)

    R vs Python - 超级英雄

    R 这么好,也不要忘记 Python。在这一部分我们对比一下数据科学家的两个超级英雄——R 和 Python。

    Python 就像是超人,而 R 和蝙蝠侠之间有几点相似之处。让我们创建一个表来列出这些相似之处。

    R 就像蝙蝠侠

    侦探工作

    智慧

    狡黠

    使用工具

    动脑多于蛮力

    Python 就像超人

    肌肉力量

    超级力量

    优雅

    应用面广

    蛮力多于动脑

    接下来解释一下 R 和 Python 之间的区别及原因。此外,让我们帮助数据科学家找到更好用的编程语言。

    R vs Python / R 和 Python : 哪一种更好用?

    R 和 Python 都是开源的、免费的高级编程语言。R 专门用于统计计算。它有大量附加包(package)/工具来支持机器学习和数据分析。另一方面,Python 是一种通用的强大的编程语言,在数据准备、数据调试和数据分析方面有特殊的应用。

    这种区别也是不同分析人士喜欢这些编程语言的原因。Python 通常被尝试开发数字处理和分析技能的计算机程序员所青睐。另一方面,R 被数学家和统计学家优先选择。这些差异在这些语言的学习资源(书籍和网上论坛)中是显而易见的。例如,考虑以下 4 本免费的在线图书。

    所有这些书都是高质量的统计教材,用 R 作为首选编程语言。这些只是几个例子。请注意,第一本书不是专门用于 R,与第二本书有相同的作者。你很少会找到用 Python 作为首选语言的书籍。因此,R 更有能力处理数据挖掘和统计分析的相关问题。另一方面,Python 提供了非常好的应用程序来处理非结构化和复杂的数据集,如图像、书面文本(网络、电子邮件等)、基因、声音等。

    实质上,Python 和 R 一起构成了数据科学家的工具包。因此,对于务实的和面向应用的数据科学家来说,了解这两种语言的超级能力和特点是至关重要的。

    使用 R 进行分析、数据可视化与建模:

    为分析提供了极好的灵活性

    R 使你在分析的时候更容易思考

    由于有着十分活跃的统计与数学社区,可以持续的更新和增强分析功能优秀的数据可视化工具

    优秀的数据可视化工具

    使用 Python 进行数据预处理、数据清洗,特别针对于非结构化数据(如网页,图像,文本等):

    极强的灵活性,能够从自由文本、网站和社交媒体网站提取信息

    便于图像挖掘和为分析准备数据

    处理大量的数据的时候比 R 语言更好

    对于一个认真的数据科学家来说,R 和 Python 都应该了解。我们需要的是 R+Python,而不是 R vs Python。

    最后~~~

    如果你对R语言感兴趣

    想遨游在R语言的海洋里

    扫码获取神秘礼包哟~~~!

    礼包大大大大剧透

    1000+分钟视频课程!!!

    100+份课程资料!!!


    点击阅读原文,即可get神秘礼包哟!
    展开全文
  • 第五章 数据结构与数据处理;内容导航;内容导航;5.2 矩阵和数组;内容导航;5.3 数据框;内容导航;内容导航;内容导航;内容导航;THANKS
  • 数据挖掘与R语言 (计算机科学丛书)_14296813_1401409
  • 统计是用以收集数据、分析数据和由数据得出结论的一组概念、原则和方法. 和数学及音乐不同, 统计不能欣赏自己, 它不为实际服务就没有存在必要 统计必须为各个领域服务统计必须和数据打交道。因此,统计必须和计算机...
  • 拿到的GIMMS NDVI数据是ENVI格式(不是NASA的原始数据),要求做时间序列分析,查看变化情况,那么该怎么做呢?
  • 第七章 统计回归分析 第7章 统计回归分析 2 7.1 定性与定量数据 7.2 数据的数值度量 内容导航 7.3 概率分布与假设检 C O N...据也称作分类数据 l iris数据R自带的内置数据集之一其中的鸢尾花分类信息就是一个定性数据
  • 数据科学 R语言速成

    2020-03-07 13:55:09
    想学习R语言不了解怎么办?学习R语言遇到困难怎么办?已经学过R语言忘记知识点怎么办?让我带你从头到尾过一遍 R语言的知识点。

    文章更新于:2020-03-07
    按照惯例,需要的文件附上链接放在文首:

    文件名:R-3.6.2-win.exe
    文件大小:82.4M
    下载链接:https://www.lanzous.com/i9c70mf
    SHA256: DC967492639B236BA057FA3B4CA482FA64C7A8E4CAD720595592C5387D28B49F

    一、R 语言介绍

    类别描述
    用途R语言是一门语言,一个用于数据分析和绘图的环境,开源。
    最新版本R Version 3.6.3( 截至2020–02-29 )
    官网https://www.r-project.org/
    RStudio-IDEhttps://rstudio.com/

    二、R 语言语法知识

    (一)规则

    种属或命令描述
    大小写区分大小写
    命名命名不能以数字开头
    赋值符<-= (二者有区别)
    注释符#
    帮助文档help()help(命令)??.start()?命令??字符
    R对象Vectors矢量、Lists列表、Matrices矩阵、Arrays数组、Factors因子、Data Frames数据帧/框
    数据类型Logical(逻辑型)Numeric(数字)Integer(整型)
    Complex(复合型)Character(字符)Raw(原型)

    Logical(TRUE FALSE)、Numeric(8 9.9)、Integer(2L 34L 0L)、

    Complex(3+4i)、Character(‘a’ “great” “3.5”)、

    Raw(“Hello” 被存储为 48 65 6c 6c 6f)
    定义变量height <- 980
    ls()查看当前工作空间的变量,例:ls()
    rm()删除指定的变量,例:rm(height)
    删除所有变量:rm(list = ls())
    算术运算符+(加)、-(减)、*(乘)、/(除)、%%(取余)、%/%(整除)
    关系运算符><==>=<=!=
    逻辑运算符&|!&&||
    冒号运算符:为向量按顺序创造一系列数字
    %in%%in% 此运算符用于标识元素是否属于向量。
    %*%%*%此运算符用于将矩阵与其转置相乘。
    if 语句if(boolean_expression) { }
    if-else语句if(boolean_expression) { } else { }
    switch 语句switch(expression, case1, case2, case3…)
    .libPaths()获取包所在路径
    library()获取所有已经安装的包
    加载包library("package Name", lib.loc = "path to library")
    searc()获取所有已经加载的包
    安装包install.packages("Package Name")命令直接从CRAN网页获取软件包,并将软件包安装在R环境中。
    repeat循环repeat { commands if(condition) { break }}
    while循环while (test_expression){statement}
    for 循环for (test_expression) { statement }
    break用于终止循环
    next用于跳过当前当次循环,和python中的continue功能相同
    定义函数function_name <- function(arg_1, arg_2, ...) { Function body }
    字符串字符串以单引号双引号括住,两种括号可以穿插。

    (二)编程实践

    1、定义变量

    # 下面三种方法具有相同的作用
    var1 <- c(4, 5)
    var1 = c(4, 5)
    c(4, 5) -> var1
    
    # 向量c(TRUE,1)具有逻辑和数值类的混合。 因此,逻辑类强制转换为数字类,使TRUE为1。
    var2 <- c(TRUE, 1)
    
    # 在R语言中,变量本身没有声明任何数据类型,而是获取分配给它的R - 对象的数据类型。
    # 所以R称为动态类型语言,这意味着我们可以在程序中使用同一个变量时,一次又一次地更改变量的数据类型。 
    

    定义变量

    2、算数运算符

    算数运算

    三、数据结构

    1、向量

    创建向量的方法:

    1. seq函数 seq(from = x, to = y, length.out = z)
    seq(1, 10, by = 2)
    # 1 3 5 7 9
    
    seq(1, 10, length.out = 5)
    # 1 3 5 7 9
    

    注:这四个量不可同时指定,否则报参数过多错误。

    1. rep 函数 rep(x, times)
    rep(3, 4)
    # 3 3 3 3
    
    rep(1:3, each =2)
    # 1 1 2 2 3 3
    

    访问向量的方法:

    1. 使用索引(注:从1开始)访问向量
    myc <- 1:10
    cat(myc)
    # 1 2 3 4 5 6 7 8 9 10
    myc[c(1, 5, 7, 19)]
    # 1 5 7 NA
    

    注1:如果使用负数做索引,则表示不显示这个位置的值。
    注2:如果使用布尔值做索引,则显示True 位置的值。

    向量的修改和运算:

    1. 使用 append 添加元素到向量
    myc <- 1:4
    append(myc, 'a', after = 3)
    # "1", "2", "3", "a", "4"
    
    1. 向量的相加
      如果两个向量长度一样,对应相加,如果长度不一样,则短的循环。

    2. 向量的比较
      和向量的相加类似。
      如果长度一样,对应位置相比。
      如果长度不一样,短的循环。

    返回的结果都是布尔值向量。

    # myc中是否有大于3的值
    any(myc > 3)
    
    # myc中是否全都大于3
    all(myc >3)
    

    2、矩阵和数组

    创建矩阵的方法:

    1. 使用 dim()函数
    # 创建一个2行5列的矩阵
    y <- 1:10
    dim(y) <- c(2, 5);
    
    1. 使用 matrix() 函数
    matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)
    matrix(c(1, 2, 3, 11, 12, 13), nrow = 2, byrow = TRUE, dimnames = list(c("row1", "row2"), c("c.1", "c.2", "c.3")))
    
    1. 使用 rbind() cbind() 函数
    # 按行进行 拼接
    mat1 <- rbind(A = 1:3, B = 4:6); 
    
    # 使用矩阵按列进行拼接
    mat2 <- cbind(mat1, cbind(c(11, 12), c(13, 14)))
    

    矩阵的运算:

    1. 矩阵乘法使用 %*%
      第一个矩阵的行乘以第二个矩阵的列之和,放在结果的对应位置

    矩阵相乘
    如果使用 c(1,2)mat1 相乘,因为前者不够数,所以会进行按列重复填充后与后者相乘。

    1. 矩阵的求逆
    展开全文
  • 作者深入剖析自动化数据抓取和分析各个层面的问题,从网络和数据技术到网络抓取和文本挖掘的实用工具箱,重点阐释利用R语言进行自动化数据抓取和分析,能为社会科学研究者与开发人员设计、开发、维护和优化自动化...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,886
精华内容 26,354
关键字:

数据科学中的r语言