Git Product home page Git Product logo

xiangyunhuang / data-analysis-in-action Goto Github PK

View Code? Open in Web Editor NEW
62.0 62.0 17.0 601.83 MB

:book: R 语言数据分析实战(写作中) Data Analysis in Action Using R

Home Page: https://bookdown.org/xiangyun/data-analysis-in-action/

Makefile 0.12% R 6.06% TeX 77.04% Dockerfile 16.15% AMPL 0.33% HTML 0.08% Rez 0.21%
bayesian-inference data-analysis data-modeling data-visualization machine-learning optimization quarto stan

data-analysis-in-action's People

Contributors

xiangyunhuang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

data-analysis-in-action's Issues

Quarto 1.4.x 升级

Quarto 1.4 即将发布了,因此,尝试一下预览版,发现编译出现问题,如下:

Error running filter /opt/quarto/quarto-1.4.369/share/filters/main.lua:
/opt/quarto/quarto-1.4.369/share/filters/main.lua:4305: attempt to index a nil value (field 'content')
stack traceback:
	/opt/quarto/quarto-1.4.369/share/filters/main.lua:226: in function </opt/quarto/quarto-1.4.369/share/filters/main.lua:216>
	(...tail calls...)
	[C]: in ?
	[C]: in method 'walk'
	/opt/quarto/quarto-1.4.369/share/filters/main.lua:148: in function </opt/quarto/quarto-1.4.369/share/filters/main.lua:138>
	(...tail calls...)
	/opt/quarto/quarto-1.4.369/share/filters/main.lua:725: in local 'callback'
	/opt/quarto/quarto-1.4.369/share/filters/main.lua:738: in upvalue 'run_emulated_filter_chain'
	/opt/quarto/quarto-1.4.369/share/filters/main.lua:773: in function </opt/quarto/quarto-1.4.369/share/filters/main.lua:770>
stack traceback:
	/opt/quarto/quarto-1.4.369/share/filters/main.lua:148: in function </opt/quarto/quarto-1.4.369/share/filters/main.lua:138>
	(...tail calls...)
	/opt/quarto/quarto-1.4.369/share/filters/main.lua:725: in local 'callback'
	/opt/quarto/quarto-1.4.369/share/filters/main.lua:738: in upvalue 'run_emulated_filter_chain'
	/opt/quarto/quarto-1.4.369/share/filters/main.lua:773: in function </opt/quarto/quarto-1.4.369/share/filters/main.lua:770>
Error: Process completed with exit code 1.

看来升级不简单。

书籍中交互网页图形的截图操作

我的诉求

在可重复、代码优先的要求下,希望 MacOS 、基于 Rocker 的 Ubuntu 容器和 Github Action (Ubuntu 环境)都可以顺利编译出四种书籍格式。可见,书籍的测试工作是非常复杂的。下面以交互图形的截图操作为例

现状梳理

在 MacOS 系统中,如下代码可以非常轻松的截图

---
title: "Untitled"
output: 
  bookdown::epub_book: 
    toc: yes
    epub_version: "epub3"
date: "2022-11-26"
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```

## 交互图形


```{r}
#| label: echarts4r
#| fig-cap: "交互图形"
#| eval: !expr knitr::is_html_output()

library(echarts4r)
mtcars |>
  e_charts(qsec) |>
  e_line(mpg)
```

但是,在 Docker 容器(来自 Rocker 项目的 Ubuntu 系统)报出如下错误,且无法按照指示安装软件,(系统已安装 chromium-browser,不知为何还要 snap install chromium)

Quitting from lines 18-26 (Untitled.Rmd) 
Error in launch_chrome(path, args) : Failed to start chrome. Error: 
Command '/usr/bin/chromium-browser' requires the chromium snap to be installed.
Please install it with:

snap install chromium
Calls: <Anonymous> ... initialize -> <Anonymous> -> initialize -> launch_chrome
Execution halted

但是,在 Github Action 中输出的 EPUB 格式书籍中的截图是黑屏的。

截屏2022-11-26 10 00 36

截屏2022-11-26 10 01 08

目前已知

总结一下,在 Ubuntu 系统上:

webshot 需要系统安装 phantomjs

apt-get install phantomjs

webshot2 需要系统安装 chromium

snap install chromium

若想在所有系统环境中都运行,尝试 webshot 而不是 webshot2,发现 R Markdown Cookbook 也是使用 webshot

https://github.com/rstudio/rmarkdown-cookbook/blob/658f0d9fd463078ac58cc3c860e1aaaab9950185/index.Rmd#L26-L26

在 Rocker 中使用 webshot 截图,报出新的问题

Error in (function (url = NULL, file = "webshot.png", vwidth = 992, vheight = 744,  : 
  webshot.js returned failure value: -6
Calls: <Anonymous> ... html_screenshot -> in_dir -> do.call -> <Anonymous>
Execution halted

发现宝藏!!!

  1. 老师这个有 R 语言基础就可以跟着学数据分析是嘛?
  2. 这个数据分析是从零开始的嘛?
  3. 数据集内置和其他数据提供 GitHub 里面嘛?
  4. 之后会出版是嘛?想买本;
  5. 感谢您的编写,市面 R 的好的资料太少了;

软件环境信息

其它外部软件信息


> extSoftVersion()
                       zlib                       bzlib 
                   "1.2.13"        "1.0.8, 13-Jul-2019" 
                         xz                        PCRE 
                    "5.4.1"          "10.42 2022-12-11" 
                        ICU                         TRE 
                     "72.1"           "TRE 0.8.0 (BSD)" 
                      iconv                    readline 
               "glibc 2.37"                       "8.2" 
                       BLAS 
"FlexiBLAS OPENBLAS-OPENMP" 
> La_library()
[1] "FlexiBLAS OPENBLAS-OPENMP"
> La_version()
[1] "3.11.0"
> capabilities()
       jpeg         png        tiff       tcltk         X11        aqua    http/ftp 
       TRUE        TRUE        TRUE        TRUE       FALSE       FALSE        TRUE 
    sockets      libxml        fifo      cledit       iconv         NLS       Rprof 
       TRUE       FALSE        TRUE        TRUE        TRUE        TRUE        TRUE 
    profmem       cairo         ICU long.double     libcurl 
       TRUE        TRUE        TRUE        TRUE        TRUE 
> l10n_info()
$MBCS
[1] TRUE

$`UTF-8`
[1] TRUE

$`Latin-1`
[1] FALSE

$codeset
[1] "UTF-8"
> libcurlVersion()
[1] "8.0.1"
attr(,"ssl_version")
[1] "OpenSSL/3.0.8"
attr(,"libssh_version")
[1] "libssh/0.10.4/openssl/zlib"
attr(,"protocols")
 [1] "dict"    "file"    "ftp"     "ftps"    "gopher"  "gophers" "http"   
 [8] "https"   "imap"    "imaps"   "ldap"    "ldaps"   "mqtt"    "pop3"   
[15] "pop3s"   "rtsp"    "scp"     "sftp"    "smb"     "smbs"    "smtp"   
[22] "smtps"   "telnet"  "tftp"
> grSoftVersion()
                   cairo                  cairoFT                    pango 
                "1.17.8"                       ""                "1.50.14" 
                  libpng                     jpeg                  libtiff 
                "1.6.37"                    "6.2" "LIBTIFF, Version 4.4.0" 
> pcre_config()
             UTF-8 Unicode properties                JIT              stack 
              TRUE               TRUE               TRUE              FALSE 
> 

一些数据问题

尽量选用一些社会、经济、文化、历史方面的数据,有具体背景,可以考虑一些国家的统计局、政府组织发布的数据,真实的数据,具体的场景,给读者在学习技术的同时,也能了解社会、经济等真实现状,有多少数据讲多少故事,尽量去吸引和带动读者做自己的探索、分析和研究。相信大家对了解这个社会是很感兴趣的。

问题数据

  • gapminder 包里面的数据是三次加工的,存在敏感性问题,不符合出版要求。直接从世界银行获取、整理数据,替换书中数据,重新绘图。
  • 目前 R-devel 开发者日志数据 svn-trunk-log-2022.rds 是 1997-09 至 2022-07,待 2022 年年底凑足 2022 年整年的数据。

组织数据

目前本地目录 data-raw/ 存放原数据以及处理数据的代码(不上传到本代码仓库),处理后的数据放在目录 data/ 下,上传到代码仓库)。目前的组织方式是数据内容+年份,以 R 软件内置的 RDS 格式保存,如下是一些示例。优点是占用空间小,易于交流。等统稿的时候,可以考虑做一个单独的 R 包存放数据。

china-age-sex-2020.rds          china-sex-ratio-2020.rds        svn-trunk-log-2022.rds
china-household-sex-2020.rds    gapminder-2020.rds              usa-mortality-2020.rds
china-raise-illiteracy-2020.rds rversion-2022.rds

数据来源

  1. CRAN 上 R 包内置数据集收录 https://github.com/vincentarelbundock/Rdatasets
  2. World Bank data 世界银行发布的数据,可以用 WDI 包获取,WDI 包的作者Vincent Arel-Bundock
  3. 美国人口调查局发布的统计年鉴、世界银行发布的各国数据、**国家和地方统计局发布的年鉴。美国政府及组织发布的数据整理得会好一些,国内的数据收集有难度,会花费不少时间,比如国家统计局发布的年鉴,数据是以图片形式发布的。
  4. **地震数据分析、**房地产行业分析,这两部分应该也是有意思的。比如房价在北京的分布,不是了解北京的大好方式吗?即使是利用历史的房价数据,依然很有意义。
  5. 经济学中不平等的概念(比如基尼系数),介绍洛伦兹曲线等基本概念,描述各个省/市过去 30 年城乡差距的变化等。不平等不均衡是历史以来的社会现象,如何用数据去刻画,具有普遍的社会意义,掌握一般方法,对于了解社会非常有帮助。

数组操作

针对 array 类型,介绍 apply / stack / sweep 等函数及常用操作。数组操作在 MCMC 和模型编码中常用,array 比 data.frame 高效。附录已有矩阵运算一章。

自动测试问题

仓库的书稿和代码是用 Github Action 提供的测试环境来测试的

cmdstanr

  • cmdstanr 包目前还未发布在 CRAN 上,只能从 Github 仓库安装开发版或者从指定的开发仓安装。在描述文件中指定额外的仓库地址, r-lib/actions/setup-r-dependencies@v2 并不能识别和使用,显示无法检索到 cmdtanr 包,而报错,详见 r-lib/actions#534 。目前是手动添加一段从指定仓库安装 cmdstanr 包的代码。

r-lib/action

      - uses: r-lib/actions/setup-r@v2
        with:
          use-public-rspm: true
          r-version: '4.2.1'

      - uses: r-lib/actions/setup-r-dependencies@v2

上游已经更新,继续使用 v2

修复 Node 12 警告信息,防止发布失败

Quarto

  • 等待发布版本 1.2.xxx
      - name: Install Quarto
        uses: quarto-dev/quarto-actions/setup@v2
        with:
          # To install LaTeX to build PDF book
          tinytex: true
          version: 1.1.251
      - run: |
          quarto --version
          quarto pandoc --version

使用最新的稳定版 Quarto

R 包环境管理

  • 可能需要引入软件/R包版本管理。先控制住软件环境,完成书籍的编写,然后再考虑环境升级,特别是 tidyverse 相关的 R. 包,比如 ggplot2 和 vctrs 包,写书过程又很漫长,它们相对来说就不那么稳定了,它们对书籍的影响太大了。

Dockerfile

  • 等 ggplot2 / dplyr 包发布最新稳定版后,初稿完成后(影响书稿的主要因素确定后),制作虚拟环境,让 Github / Binder 都从自定义虚拟环境中启动,固化下来运行环境,以便后续维护。
    目前使用的 Dockerfile 环境 binder 来自 https://github.com/rocker-org/binder

一些参考书籍

  1. A Data Science Pattern Language Alison Presmanes Hill and Richard Iannone Quarto
  2. R for Data Science (2e) Hadley Wickham, Mine Çetinkaya-Rundel, and Garrett Grolemund 书籍结构
  3. ggplot2: Elegant Graphics for Data Analysis Hadley Wickham, Danielle Navarro, and Thomas Lin Pedersen.统计图形
  4. Kabacoff, Robert I. 2022. R in Action: Data Analysis and graphics with R and Tidyverse. 3rd 本. Shelter Island, NY: Manning Publications Co. 书籍层次
  5. 赵鹏, 谢益辉, 和 黄湘云. 2021. 现代统计图形. 北京: 人民邮电出版社. https://bookdown.org/xiangyun/msg. 统计图形
  6. Peter Dalgaard. 2008. Introductory Statistics with R 数据操作和广义线性模型

一些 R 包问题

书籍用到了很多 R 包,一些 R 包处于活跃开发和变动中,现将问题记录于此,以便跟进。如下都是一些对书籍影响比较大的 R 包,而且这些 R 包本身影响力也比较大,比如 ggplot2、 spatstat、 gt、 echarts4r 等

ggplot2

问题解决后就勾掉

  • 11月中旬集中更新一次软件包,然后启用 renv 版本管理,摁住版本,直到把书写完。renv 不好弄,还是用 DESC 文件管理,尝试使用 renv 做版本管理,但是失败了,总是安装 cmdstanr 失败,找不到,可见 renv 不能识别 CMDSTAN 仓库,继续使用 DESC 文件管理 R 包依赖。
  • ggbump 没有经常维护, ggplot2 和 vctrs 升级后,导致 ggbump 更加不稳定,代码无法运行。
    https://github.com/davidsjoberg/ggstream 也是,因此不值得被介绍,后续要移除或类似瀑布图、时间轴图重新从零开始制作。
  • 还影响了 bayesplot 包,导致无法绘制后验分布图,详见 stan-dev/bayesplot#289
  • ggplot2 从版本 3.4.0 开始,视觉映射 size 被替换为 linewidth ,size 会无效。
    而在版本 3.4.0 之前,如果使用 linewidth 会报警告问题 Warning: Ignoring unknown parameters: linewidth 详见
  • tidyverse/ggplot2#3672
  • https://www.tidyverse.org/blog/2022/08/ggplot2-3-4-0-size-to-linewidth/

由于 ggplot2 3.4.0 的改动导致本书使用的一些下游 R 包报出警告,预计 2022 年10月底之前发布 3.4.0 版本。

书中用到以下 R 包的开发版,待新的稳定版本发布后,可以更新 DESCRIPTION 文件

  • davidsjoberg/ggbump 凹凸图 https://github.com/davidsjoberg/ggbump
  • giocomai/ganttrify 甘特图 https://github.com/giocomai/ganttrify
  • ricardo-bion/ggradar 雷达图 https://github.com/ricardo-bion/ggradar
  • ggsurvfit 与 ggplot2 3.5.0 有不兼容的地方 生存分析图 https://github.com/pharmaverse/ggsurvfit
    ggsurvfit(aml_ggsurvfit, linewidth = 1) +
      add_confidence_interval() +
      add_risktable()
    Warning messages:
    1: In ggplot2::geom_blank() :
      All aesthetics have length 1, but the data has 22 rows.
    ℹ Did you mean to use `annotate()`?
    2: In ggplot2::geom_blank() :
      All aesthetics have length 1, but the data has 22 rows.
    ℹ Did you mean to use `annotate()`?
    3: In ggplot2::geom_blank() :
      All aesthetics have length 1, but the data has 22 rows.
    ℹ Did you mean to use `annotate()`?
    4: In ggplot2::geom_blank() :
      All aesthetics have length 1, but the data has 22 rows.
    ℹ Did you mean to use `annotate()`?
    5: In ggplot2::geom_blank() :
      All aesthetics have length 1, but the data has 22 rows.
    ℹ Did you mean to use `annotate()`?
    

spatstat

DT

gt

简单的表格可以一律用 knitr::kable 来做,复杂的表格可以一律用 gt 包做,主要考虑到 gt 的活跃开发现状, gt 和 Quarto 的紧密结合,以及 gt 的扩展生态(比如 gtExtra / gtreg),以及 gt 和 Quarto 都属于 RStudio 大厂持续维护和高投入。

gt gtsummary gtreg gtExtras 等包的文档见 https://github.com/jthomasmock
模型输出考虑 gtsummary 或者 modelsummary

Word 输出中,交叉引用功能失效,需要 Quarto 和相关表格包互相支持,预计 Quarto 1.4 会支持。

  • gt 使用 reactable 将静态表格转为交互表格,因此,后续介绍交互表格将基于 reactable 包
  • gt 的 cols_width() 目前不支持 LaTeX 输出,对于复杂表格有点麻烦 rstudio/gt#634
  • 用 gt 包制作复杂表格,展示 anscombe 数据(列分组的),展示 UCBAdmissions 数据(列分层分组
  • flextable 在 docx 格式输出中丢失交叉引用,且使用方式和其它包不太一样,配合管道操作还不错。
  • kableExtra 若设置样式,则可能影响其它位置的表格。面对 HTML 和 PDF 输出 kableExtra 需要两套代码。在 PDF 输出中丢失交叉引用,不支持 DOCX 输出。不经常维护,不推荐使用。
  • DOCX 格式输出,两个表格丢失引用,应该是 gt 包的问题 详见 rstudio/gt#994
WARNING: Unable to resolve crossref @tbl-anscombe-datasets
WARNING: Unable to resolve crossref @tbl-ucb-admissions

已报告,详见 rstudio/gt#1140

  • gt 包使用 tab_spanner 实现列分组,但是列分组在 Word 中不支持,表格整个是乱掉的。但是在 HTML / PDF / EPUB 中是好的。

截屏2022-11-20 07 44 06

emo

echarts4r

预测问题

时间序列预测:经典方法、机器学习方法

排序问题

机器学习部分添加一章排序问题

  • 排序问题和有序回归的关系
  • xgboost

一些 Quarto 的问题

Quarto 多文档格式输出

  • EPUB 格式输出,一些数学公式无法渲染 quarto-dev/quarto-cli#3432
  • EPUB 格式输出,对于自定义的数学公式宏命令( Math Macros )无法渲染。目前,书中使用了 \def\bm#1{{\boldsymbol #1}}
    Warning:  Could not convert TeX math 
      \def\bm#1{{\boldsymbol #1}}
     , rendering as TeX:
     
         ^
     unexpected control sequence \def
     expecting "%", "\\label", "\\tag", "\\nonumber" or whitespace
    
  • 在 Word 格式输出中, data-visualization.qmd 的内容直接删除了。 data-visualization.qmd 是 PART 级,添加了一些该部分的介绍。看来是不支持 PART 后直接给内容,必须加 chapter,或移动到介绍章节 quarto-dev/quarto-cli#3434
  • 在 Word 输出中,子图 overflow 详见 quarto-dev/quarto-cli#3435
  • 在 Word 输出中,gt 包制作的表格缺失引用 quarto-dev/quarto-cli#3600 不仅仅是 gt 包,大部分都不支持在 Word 中交叉引用,quarto-dev/quarto-cli#1556 但预计会在 Quarto 1.4 中支持。
  • 在 Word 输出中,子图排列错位,详见下方,恐怕也与 quarto-dev/quarto-cli#3435 相关
  • 各类表格制作包在 Quarto 中缺失引用 预计要在 1.4 版本中修复,2023 年下半年。

截屏2022-11-26 10 05 30

EPUB 格式输出问题

公式渲染问题

公式渲染能力很差

截屏2022-11-22 11 19 15

截屏2022-11-22 11 21 06

截屏2022-11-22 11 22 03

截屏2022-11-22 11 22 14

交互图渲染问题

rgl 和 echarts4r 可能需要采用截图的形式,就是仅仅在 HTML 格式中给交互图。奇怪的是下面的设置对 EPUB 格式不起作用,就是说下面的设置,在输出 EPUB 格式时,仍然会运行下面的代码。可能是 knitr::is_html_output() 的问题。

#| eval: !expr knitr::is_html_output()

截屏2022-11-22 11 22 29

章节写作 or 修改认领

R 语言数据分析实战 提纲

第一部分 R语言入门

第一章 R 语言初步

1.1 R 语言介绍和安装

  1. R语言介绍
  2. R语言版本和R包
  3. 在Windows系统上安装
  4. 在Mac OS系统上安装
  5. 在Linux系统上安装
  6. R语言运行界面

1.2 Rstudio 的介绍、安装和基本操作

  1. Rstudio介绍
  2. 在Windows系统上安装
  3. 在Mac OS系统上安装
  4. 在Linux系统上安装
  5. 常用的操作界面

1.3 数据集的概念和操作

  1. 数据类型
  2. 变量
  3. 向量
  4. 函数和管道
  5. 数据框
  6. 矩阵
  7. 数组
  8. 列表

1.4 不同形式数据导入

  1. 自行输入数据
  2. 导入Excel数据
  3. 导入XML数据
  4. 导入SPSS数据
  5. 导入Stata数据
  6. 导入数据库数据

第二章 R 语言基本操作

2.1 常见语法

  1. 创建自己的函数
  2. 调用函数
  3. 处理数据对象的常用函数

2.2 图形基本操作

  1. 如何绘制简单图形
  2. 图形参数
  3. 添加图形元素

2.3 基本数据管理

  1. 数据编码
  2. 变量的重编吗和重命名
  3. 缺失值处理
  4. 日期值处理
  5. 异常值处理
  6. 数据类型转换和排序
  7. 数据合并和提取
  8. 长宽数据格式转化

2.4 高级数据管理

  1. 常用数据处理函数
  2. 循环函数处理
  3. 数据整合与重构

第二部分 R 语言基本方法

第三章 R 语言数据处理

3.1 数据清洗步骤

  1. 一个例子
  2. 变量对齐
  3. 数据归一化

3.2 缺失值的数据处理

  1. 验证数据缺失模式
  2. 删除缺失数据
  3. 缺失变量分析

3.3 数据插补

  1. 为什么进行插补
  2. 均值插补
  3. 热卡插补
  4. 多重插补

3.4 异常值数据分析和处理

  1. 识别异常值
  2. 异常值剔除
  3. 异常值转化

第四章 基本统计分析

4.1 描述性统计分析

  1. 一个经典例子
  2. 数据归一化处理
  3. 分组统计

4.2 频数和列联表

  1. 生成频数表
  2. 独立性检验
  3. 列联表检验

4.3 相关和 t 检验

  1. 计算几种不同相关系数
  2. 相关分析可视化
  3. t 检验

4.4 R 语言方差分析

  1. 方差分析
  2. 单因素方差分析
  3. 双因素方差分析
  4. 多元方差分析

第五章 数据可视化

5.1 ggplot2 介绍

5.2 图形基础

  1. 图层
  2. 标签
  3. 标度
  4. 配色
  5. 图例
  6. 主题
  7. 注释
  8. 分面
  9. 字体
  10. 动画
  11. 组合

5.3 描述趋势

  1. 折线图
  2. 曲线图
  3. 蜡烛图
  4. 等高线图
  5. 日历图
  6. 曲面拟合图

5.4 描述关系

  1. 散点图:相关关系
  2. 气泡图:相关关系
  3. 树形图:层次关系
  4. 韦恩图:交叉关系
  5. 甘特图:依赖关系

5.5 描述占比

  1. 简单饼图
  2. 环形饼图
  3. 扇形饼图:南丁格尔风玫瑰图
  4. 马赛克图:多个分类变量占比
  5. 矩阵树图:有层次的占比

5.6 描述对比

  1. 柱形图
  2. 条形图:柱形图横着
  3. 点图:克利夫兰点图,条形图的简版
  4. 雷达图:多元数据,多变量对比
  5. 词云图:

5.7 描述分布

  1. 直方图
  2. 箱线图
  3. 密度图
  4. 提琴图
  5. 热力图

第六章 常用的 R 包

6.1 数据处理

  1. tidyverse
  2. tibble
  3. readr
  4. stringr
  5. dplyr
  6. data.table

6.2 时序数据

  1. ts
  2. lubridate
  3. arima

6.3 文本分析

  1. tm
  2. tidytext
  3. topicmodel
  4. wordcloud

6.4 网络数据

  1. network
  2. igraph
  3. sna

6.5 数据可视化

  1. ggplot2
  2. plotly
  3. lattice

第三部分 R 语言机器学习

第七章 R 语言回归

7.1 R 语言回归分析

  1. 回归分析介绍
  2. 线性回归
  3. 多项式回归
  4. 多元线性回归

7.2 回归诊断

  1. 多重共线性
  2. 异常值
  3. 改进措施

7.3 模型选择

  1. 模型比较
  2. 变量选择
  3. 交叉验证

7.4 广义线性模型

  1. 广义线性模型介绍
  2. 模型拟合和回归诊断
  3. 模型改进

7.5 逻辑 Logistic 回归

7.6 泊松回归

7.7. Cox-Box 比例风险回归

第八章 R 语言分类

8.1 R 语言分类介绍

8.2 Logistic 回归

8.3 决策树

8.4 随机森林

8.5 支持向量机

8.6 集成学习方法

  1. bagging
  2. boosting
  3. xgboost / lightgbm

8.7 朴素贝叶斯方法

第九章 R 语言聚类

9.1 R 语言聚类分析

9.2 聚类分析的步骤

9.3 距离计算

9.4 层次聚类分析

9.5 划分聚类分析

  1. K-Means 聚类
  2. 围绕中心点的划分

9.6 模糊聚类分析

9.7 谱聚类分析

第十章 R 语言统计模拟方法

10.1 统计模拟介绍

10.2 重抽样法

10.3 自助法

10.4 MCMC 方法

第十一章 R 语言降维方法

11.1 线性判别分析

11.2 主成分分析

  1. 判断主成分个数
  2. 提取主成分
  3. 主成分旋转和得分

11.3 因子分析

  1. 判断公共因子数
  2. 提取公共因子
  3. 因子旋转
  4. 因子得分

11.4 奇异值分解

11.5 特征选择

  1. 岭回归
  2. Lasso

第十二章 R 语言时间序列分析

12.1 R 语言时间序列对象

  1. 时序数据预处理
  2. 时序数据的平滑化
  3. 时序数据分解

12.2 指数预测模型

  1. 指数平滑
  2. 自动预测

12.3 ARIMA 预测模型

  1. ARMA 模型
  2. ARIMA 模型
  3. 自动预测

第十三章 R 语言文本数据挖掘

13.1 文本字符串处理

  1. 字符串构造
  2. 字符串提取
  3. 字符串替换和删除
  4. 字符串拼接和拆分

13.2 正则表达式

  1. 通配符
  2. 字符集
  3. 文本匹配

13.3 文本数据预处理

  1. 文本切分
  2. 停用词处理
  3. 词干提取
  4. 词性还原和词性标注

13.4 文本特征提取

  1. 基本特征提取
  2. 基于 TF-IDF 特征提取
  3. 词嵌入
  4. 文档向量化

13.5 文本机器学习

  1. 文本相似度聚类
  2. 文本主题模型
  3. 文本分类

13.6 文本情感分析

  1. 情感词典
  2. 英文情感分析
  3. 中文情感分析

13.7 文本可视化

  1. 条形图
  2. 词云图
  3. 网络图

第十四章 R 语言网络数据挖掘

14.1 网络数据构建

  1. 创建网络图
  2. 网络图表示
  3. 常见的图

14.2 网络数据的描述

  1. 节点和边的特征
  2. 网络的凝聚特征
  3. 图的分割

14.3 网络数据可视化

  1. 图可视化的基本元素
  2. 图的布局
  3. 常见网络图形可视化

14.4 网络图模型

  1. 随机图模型
  2. 广义随机图模型
  3. 小世界模型
  4. B-A 模型
  5. 指数随机图模型
  6. 网络模型评估

14.5 网络流和动态网络数据分析

  1. 引力模型
  2. 流量矩阵估计
  3. 动态网络标识
  4. 动态网络可视化
  5. 动态网络建模

第十五章 R 语言假设检验

15.1 假设检验与检验的 P 值

  1. 假设检验的步骤
  2. 检验的 P 值

15.2 正态总体参数的检验

15.3 单正态总体参数的检验

15.4 两正态总体参数的检验

15.5 配对数据的 t 检验

15.6 比率的检验

  1. 单样本比率的检验
  2. 两样本比率的检验

15.7 单总体位置参数的非参数检验

  1. 中位数的符号检验
  2. Wilcoxon 符号秩检验

15.8 分布的一致性检验 $\chi^2$ 检验

15.9 两总体的比较和非参数检验

15.10 多总体的比较与非参数检验

第十六章 R 语言创建动态报告

16.1 用 R Markdown 生成动态报告

16.2 用 tinytex 生成 LaTeX 报告

16.3 用 rticles 生成期刊文章

16.4 用 Markdown 生成幻灯片

  1. PowerPoint 演示文稿
  2. Beamer 学术型幻灯片
  3. HTML 网页幻灯片

16.5 用 bookdown 生成书籍

16.6 用 blogdown 生成博客

第十七章 R 语言深度学习

17.1 R 连接远程服务器

17.2 用 Spark 进行机器学习

17.3 R 语言深度学习初步

17.4 构建卷积神经网络

17.5 可视化卷积神经网络的学习过程

第十八章 开发 R 包

18.1 如何创建 R 包

第十九章 开发 Shiny 应用

19.1 Shiny 应用介绍

Spark SQL

SQL 大数据处理,常规倾斜处理

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.