---
title: "一、R语言介绍"
format:
  dwsd-revealjs:
    logo: _extensions/drwater/dwsd/inst/ucaslogo.png
---

```{r}
#| include: false
#| cache: false
lang <- "cn"
require(tidyverse)
require(learnr)
```

# 开始之前

## R语言实践部分课程简介
 
**接下来的课程由我来带着大家一起学习、实践基于R语言的数据分析。**

### 自我介绍

- [苏命](https://drwater.net/team/ming-su/)：来自中国科学院生态环境研究中心
- 主要从事**水源水质水生态**方面的研究

### 课件

- 采用`R语言`+`quarto`完成
- 网页公开：[https://drc.drwater.net/course/public/su2026rwep/PUB/](https://drc.drwater.net/course/public/su2026rwep/PUB/)
- 课件代码：[https://git.drwater.net/course/su2026rwep.git](https://git.drwater.net/course/su2026rwep.git)

## 如何学习接下来的内容？

- 上课形式：
  - **实践操作为主**，目的是让每一位同学都能独立开展基于R的数据分析
  - **2-3人一组**，自由分组，相互帮助
- 准备工作：
  - 个人笔记本电脑，Microsoft Windows、GNU/Linux、MacOS系统
  - 安装好**Microsoft Excel**
  - 能联网
  - 如果电池不够用，建议带上插座
- 上课规则
  - 可随时打断，**不懂就问**
  - **无特殊情况不迟到**，否则操作过程容易跟不上

## Rstudio server

- Server 地址：[https://rs1.drwater.net](https://rs1.drwater.net)
- 用户名: ruser01, ruser02, ..., ruser06 
- 密码：rwep2026

# R语言简介

## R语言的历史

::: columns
::: {.column width="85%"}

- 1976年：
  - 前身是S语言，由贝尔实验室John Chambers及其同事开发
- 1993年：
  - R语言由Ross Ihaka和Robert Gentleman在奥克兰大学开发
  - R的诞生是为了提供一个强大的统计计算和图形显示的平台

:::
::: {.column width="15%"}

![](https://cran.r-project.org/Rlogo.svg)

:::
:::

- 1995年：R发布第一个公开版本
- 2000年代： R语言逐渐成为统计学和数据科学领域重要工具
- 2010年：Hadley Wickham发布了ggplot2包，数据可视化方面更强
- 2016年：创建CRAN（Comprehensive R Archive Network），R包中央库
- 至今
  - **R语言已成为数据科学和统计学领域最受欢迎的工具之一，被广泛用于数据分析、机器学习、数据可视化等领域**



## R的特点

### 一般特点

- 免费、开源、支持各个主要计算机系统。
- 完整的程序设计语言，基于函数和对象。
- 支持完善的数据类型，如向量、矩阵、数据框等。

### 技术特点

- 所有存在都是对象。
- 所有动作都是函数调用。
- 支持函数编程和对象类。
- 是动态类型语言，运行速度相对较慢。

## R的参考资料

### 推荐参考书

- Hadley Wickham and Garrett Grolemund(2022). [R for Data Science](https://r4ds.hadley.nz/)
- Hadley Wickham(2019). [Advanced R](https://adv-r.hadley.nz/)
- Hadley Wickham(2016). [ggplot2 Elegant Graphics for Data Analysis](https://ggplot2-book.org/)
- John M. Chambers(2008). [Software for Data Analysis-Programming with R](https://www.springer.com/gp/book/9780387759357)
- Venables, W. N. & Ripley, B. D.(2002). [Modern Applied Statistics with S (MASS)](https://www.springer.com/gp/book/9780387954578)


## R的参考资料

### 中文参考书

- 《R语言编程艺术》
- 《R语言实战》
- 《R语言教程与实践》
- 《R语言数据可视化实战》
- 《R语言从入门到精通》

## R的下载与安装

### R的下载与安装

- R的官方网站：[https://www.r-project.org/](https://www.r-project.org/)
- CRAN镜像网站：[http://mirror.bjtu.edu.cn/cran/](http://mirror.bjtu.edu.cn/cran/)
- 下载官方的R软件后按提示安装


{{< video https://vimeo.com/203516510 width="600" height="400">}}

## RStudio


### 什么是RStudio？

- RStudio官方网站: [https://posit.co/products/open-source/rstudio/](https://posit.co/products/open-source/rstudio/)
- RStudio是一个集成开发环境（IDE），专门用于R语言编程和数据分析。
- 它提供了一个直观的界面，使得编写、调试和运行R代码变得更加容易。


## RStudio

### RStudio的功能

1. **代码编辑器**：提供了语法高亮、自动补全和代码折叠等功能。
2. **控制台**：用于直接执行R代码并查看结果。
3. **环境和历史记录**：可以查看当前加载的数据、函数和变量，以及之前执行过的命令。
4. **图形和可视化**：RStudio内置了绘图设备，可以方便地创建各种统计图表。
5. **文件管理器**：可直接在RStudio中管理文件和项目。
6. **包管理器**：方便地安装、更新和管理R包。
7. **Markdown编辑器**：支持Markdown格式，可以创建美观的文档和报告。

## 如何获取RStudio？

- RStudio可以从官方网站免费下载并安装：[RStudio官网](https://posit.co/download/rstudio-desktop/)
- RStudio是一个强大的R编程环境，为R用户提供了丰富的功能和工具。
- 它简化了R语言的使用，提高了数据分析和可视化的效率。


{{< video https://vimeo.com/203516968 width="600" height="400">}}

## 扩展包：R package

- R有一万多个扩展软件包，提供了各种各样的功能
- 已安装的基本R包，如base, stats, graphics等，启动R时默认载入
- 其它扩展包需要用`library(.)`函数载入运行；或者采用`dplyr::filter(.)`方式
 
::: panel-tabset
### Code

```{r}
#| echo: true
#| eval: false
#| out-width: 50%
# load a R package
library(ggplot2)

# plot it based on the functions from `ggplot2` package
mtcars |>
  dplyr::filter(cyl != 8) |>
  ggplot(aes(hp, mpg, color = am)) +
  geom_point() +
  geom_smooth(formula = y ~ x, method = "loess")
```

### Output

```{r}
#| echo: false
#| out-width: 80%
#| fig-width: 6
#| fig-height: 3

library(ggplot2)
mtcars |>
  dplyr::filter(cyl != 8) |>
  ggplot(aes(hp, mpg, color = am)) +
  geom_point() +
  geom_smooth(formula = y ~ x, method = "loess")
```
:::


## 安装R包

- 以安装sos包为例。
- 在RStudio中调用“Tools”菜单的“Install Packages”，输入或选择sos即可安装。
- R图形界面安装
- 如果不用RStudio， 在R图形界面选菜单“程序包-安装程序包”进行安装。
- 在CRAN镜像选择窗口中选择中国的镜像，如“China (Beijing 2)”，然后选择要安装的扩展软件包名称即可完成下载和安装。
- 程序安装

```r
# 指定镜像网站并安装扩展包
options(repos = c(CRAN = "https://mirror.tuna.tsinghua.edu.cn/CRAN/"))
install.packages("sos")

# 当R包不是CRAN标准包，代码放在[github](https://github.com)
if (!require(devtools)) install.packages('devtools')
devtools::install_github("kjhealy/socviz")
```

## 安装R包

视频

{{< video https://vimeo.com/203516241 width="300" height="200">}}


## 结语

- R语言是一种强大的统计计算和数据分析工具，适用于各种领域。
- 通过学习R语言，可以进行数据处理、统计分析和数据可视化。


## 欢迎讨论！{.center}

```{r}
#| results: 'asis'
#| echo: false
rmdify::slideend(
  wechat = FALSE,
  type = "public",
  tel = FALSE,
  thislink = "../"
)
```

