--- title: "一、R语言介绍" format: dwsd-revealjs: logo: _extensions/drwater/dwsd/inst/ucaslogo.png --- ```{r} #| include: false #| cache: false lang <- "cn" require(tidyverse) require(learnr) knitr::opts_chunk$set(echo = TRUE) ``` # 开始之前 ## 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' rmdify::slideend( wechat = FALSE, type = "public", tel = FALSE, thislink = "../" ) ```