前言:
网易云课堂R语言数据科学入门听课笔记,主要讲述R和RStudio的安装使用,R基本语法以及R包的使用。
封面致敬R大神Hadley Wickham
Hadley Wickham is a statistician from New Zealand who is currently Chief Scientist at RStudio[1][2] and an adjunct Professor of statistics at the University of Auckland[3], Stanford University[4], and Rice University.[5] He is best known for his development of open-source statistical analysis software packages for R (programming language) that implement logics of data visualisation and data transformation. Wickham's packages and writing are known for advocating a tidy data approach to data import, analysis and modelling methods.
R初试:
#绘制直方图
> hist(rnorm(10000),col='skyblue')
Rstudio基本操作:
1. 注释:
- “#”后面的内容表示注释
- 如果有多行注释则在每一行注释前加上“#”
- 在注释行结尾加上4个“#”,则这一行会被当做一个节标题
2. 变量赋值:
- “<-” 表示变量赋值
- “=” 表示参数赋值
3. 数据调用:
- head(diamonds) R语法
- diamonds.head() Python语法
打开文件乱码情况,解决方案:
file > reopen with encoding > UTF-8 / set as default
4. 查看帮助文档:
- help(ggplot2) #对包使用help,查看包的信息
- help("CO2") #对函数使用help,查看函数使用方法
- help(ggplot) #对内置数据集使用帮助文档,查看数据集的信息
- example(ggplot) # 查看ggplot函数用法示例
5. 使用R的内置数据集
- data() #用于查看R语言的内置数据集
- head(women) #直接键入数据集名称查看数据集
- install.packages("gcookbook") # 安装gcookbook
- data(package =.packages(all.available =TRUE))#查看已安装的所有包中的数据
- library(gcookbook) #使用其它包中的数据,需要先载入相应的R包
- head(worldpop) #World population estimates from 10,000 B.C. to 2,000A.D.
什么是R包?
R package, 中文是 R 包. R 包是一种包装 R 代码, 数据和文档的方式. R 包是 R 语言强大的扩展性和灵活性的基础, R 发行版本身就包括三十多个高质量的 R 包. 一个R包中包含了一组可以完成特定任务的程序代码;通常这种特定任务是会重复执行的,并且重复执行时,任务内容是相似或者相同的。 在使用R分析数据时,其中一部分代码是我们自己写的,还有很大一部分代码是通过调用其他人写好的R包实现的。如果没有这些第三方R包,我们的生活将会在加班和过度劳累中失去意义。
1. 通过菜单点击安装R包
- 1.1在R原生界面中安装
- 1.2在Rstudio中安装
2. 通过命令安装R包
install.packages('ggplot2') # 一次一个
install.packages(c('reshape2','ggthemes','plyr')) # 一次多个
3. 切换R包镜像,以便更快下载R包
- 3.1 通过菜单操作
- 3.2 通过程序命令设定
# R包下载镜像列表
https://cran.r-project.org/mirrors.html
# 全局生效
options(repos = 'https://mirrors.ustc.edu.cn/CRAN/')
# 只在下载此R包时生效
install.packages('ggplot2',repos ='https://mirrors.ustc.edu.cn/CRA
4. 常用的R包
- 数据加载
- readr,readxl,haven: 存取本地文件
- RODBC,RMySQL,RPOstgresSQL, RSQLite :从数据库中存取数据
- 数据处理
- dplyr - 必备数据处理工具,对数据集做summarize, join等处理。
- tidyr - 将数据集转化成格式更工整的数据集,数据清洗。
- stringr - 对字符串类型的数据进行正则表达式处理的工具。
- lubridate - 处理日期和时间类型数据的工具
- 数据可视化
- ggplot2: R中最著名的可视化工具包
5. R知识体系概览
数据文件导入和导出点我观看视频
部分windows系统用户,无法识别中文,需要改成英文字符,像我“R语言数据科学”就改成了“yuyanshujukexue”
1. 导入csv文件
> bankloan<-read.csv('c:/Users/Administrator/Documents/01-Ryuyanshujukexue/data/bankloan.csv',header = TRUE)
> View(bankloan)
但是用R自身无法读取成功,需要用到readr包
> install.packages("readr")
> library(readr)
> bankloan <- read_csv('c:/Users/Administrator/Documents/01-Ryuyanshujukexue/data/bankloan.csv')
Parsed with column specification:
cols(
ID = col_character(),
年龄 = col_integer(),
教育 = col_character(),
工龄 = col_integer(),
地址 = col_integer(),
收入 = col_integer(),
负债率 = col_double(),
信用卡负债 = col_double(),
其他负债 = col_double(),
违约 = col_character()
)
2. 导入UTF-8编码的csv文件
# 可能会出现问题
> bankloan<-read.csv('c:/Users/Administrator/Documents/01-Ryuyanshujukexue/data/bankloan_UTF-8.csv',
header = TRUE,
encoding = 'UTF-8')
# 推荐使用这种方式
> bankloan_utf_8<-readr::read_csv('c:/Users/Administrator/Documents/01-Ryuyanshujukexue/data/bankloan_UTF-8.csv')
> View(bankloan_utf_8)
3. 导入Excel格式的数据文件
library(readxl)
> bankloan_excel<-read_excel('c:/Users/Administrator/Documents/01-Ryuyanshujukexue/data/bankloan.xlsx',
sheet = 'bankloan')
> View(bankloan_excel)
4. 将数据存储到本地,格式为csv,编码方式为GBK
> library(ggplot2)
> head(diamonds)
# A tibble: 6 x 10
carat cut color clarity depth table price x y z
<dbl> <ord> <ord> <ord> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
1 0.23 Ideal E SI2 61.5 55 326 3.95 3.98 2.43
2 0.21 Premium E SI1 59.8 61 326 3.89 3.84 2.31
3 0.23 Good E VS1 56.9 65 327 4.05 4.07 2.31
4 0.290 Premium I VS2 62.4 58 334 4.2 4.23 2.63
5 0.31 Good J SI2 63.3 58 335 4.34 4.35 2.75
6 0.24 Very Good J VVS2 62.8 57 336 3.94 3.96 2.48
> write.csv(diamonds,
file = 'c:/Users/Administrator/Documents/01-Ryuyanshujukexue/data/diamonds.csv',
fileEncoding = 'GBK',
row.names = FALSE)
5. 使用相对路径
> setwd('C:/Users/Administrator/Documents/01-Ryuyanshujukexue/data/')
> bankloan_relative<-read_csv('./bankloan.csv')
> head(bankloan_relative)
# A tibble: 6 x 10
ID 年龄 教育 工龄 地址 收入 负债率 信用卡负债 其他负债 违约
<chr> <int> <chr> <int> <int> <int> <dbl> <dbl> <dbl> <chr>
1 ID_001 41 大专 17 12 176 9.3 11.4 5.01 是
2 ID_002 27 未完成高中 10 6 31 17.3 1.36 4.00 否
3 ID_003 40 未完成高中 15 14 55 5.5 0.856 2.17 否
4 ID_004 41 未完成高中 15 14 120 2.9 2.66 0.821 否
5 ID_005 24 高中 2 0 28 17.3 1.79 3.06 是
6 ID_006 41 高中 5 5 25 10.2 0.393 2.16 否
6. 导入其它统计软件的数据
> library(haven)
> bankloan_spss <- read_spss('./bankloan.sav')
> head(bankloan_spss)
# A tibble: 6 x 9
年龄 教育 工龄 居住年限 收入 负债率 信用卡负债 其他负债 违约
<dbl> <dbl+lbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl+lbl>
1 41 3 17 12 176 9.3 11.4 5.01 1
2 27 1 10 6 31 17.3 1.36 4.00 0
3 40 1 15 14 55 5.5 0.856 2.17 0
4 41 1 15 14 120 2.9 2.66 0.821 0
5 24 2 2 0 28 17.3 1.79 3.06 1
6 41 2 5 5 25 10.2 0.393 2.16 0
7. 将R内置数据集存储为spss软件数据格式
> require(ggplot2)
> haven::write_sav(diamonds,path = './diamonds.sav')
结果展示
- 用Rmarkdown 输出分析报告
内容为Rmarkdown的用法概述,感兴趣的可以深入学习Rmarkdown用法,和简书有相似之处。 -
在 Jupyter notebook 中运行R代码
Jupyter Notebook是一个Web应用程序,允许您创建和共享包含实时代码,方程,可视化和说明文本的文档。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等。
……