R语言学习笔记
基本语法
使用包
安装包
1 |
|
::
访问某个包中的函数或变量,从而 无需将整个包加载到全局环境中。
1 |
|
与之相对的是library()
1 |
|
赋值语句
<-
=
- 在函数定义中设置默认参数时,通常使用
=
- 在函数调用时,使用
=
可以更明确地指定参数名
只用在 函数调用/定义 中 指定参数名/设置默认参数 时,使用=
其它情况推荐使用<-
一般的赋值语句,<-
更符合R的语法风格
数据结构
data.table
ggplot2
R图表中显示数据类型<dbl>
double类型<chr>
字符串类型
4.18
tidy
“整洁的数据集都是相似的;混乱的数据集各有各的混乱。”
tidy data
整洁的数据集需要简单地满足以下两个要素:
(1) 每列是一个变量(Variables go in columns)
(2) 每行是一个观测(Observation go in rows)
怎么理解这两个要素呢?
数据集中,每一列应该表示一个变量(属性或特征)。变量是描述数据的某一方面的内容,例如年龄、性别、收入等。
数据集中,每一行应该表示一个观测值(记录或实例)。观测是数据的一个完整单元,例如某个人、某个时间点的测量值等。
dcast()
用法
1 |
|
文件转换
rmd 转 pdf html word
代码
1
2
3rmarkdown::render("your_file.rmd", output_format = "pdf_document")
rmarkdown::render("your_file.rmd", output_format = "html_document")
rmarkdown::render("your_file.rmd", output_format = "word_document")在YAML头部指定输出格式
1
2
3---
R Markdown文件结构
YAML头部
在rmd文件中,YAML头部位于文件的开头部分,用于指定文档的元信息和输出格式。以三条短横线(---
)开始和结束:
1 |
|
常用预处理代码
1 |
|
空格与缩进
在代码编辑过程中,有人推荐使用空格而非缩进,
原因是有的语言语法规范是缩进2字节、而有的语言语法规范是缩进4字节
而代码编辑器的缩进值一般是一个固定值(常常是4字节)
所以有人推荐用空格自由控制缩进字节数
我们经常遇到:
代码编辑器 缩进4字节 — 语法规范 缩进4字节
十分顺手
而R语言 它的语法规范就是缩进2字节的
(虽然缩进4字节也能正常运行)
merge函数
字符串操作
字符串拼接
1 |
|
1 |
|
简化版paste
字符串分割
1 |
|
x: 要拆分的字符串向量或数据表中的列
split: 分隔符,可以是字符串或正则表达式
type.convert: 逻辑值,是否自动将结果转为适当的数据类型(如数值型)。默认为FALSE
。fixed
:逻辑值,是否自动将
R语言老师云:
机器学习、深度学习不难,往往是现成的。
难得是数据的修正、检查、提高质量!!
Garbage in,garbage out!
poisine garbage
一定要做的是数据清洗!
10 11 12不考
课程复习
1&2. R intro
运算符
运算符 | 含义 | 例子 |
---|---|---|
- | 加 | 1 + 2 |
- | 减 | 3 - 2 |
* | 乘 | 3 * 2 |
/ | 除 | 9 / 3 |
^ | 乘方 | 2 ^ 3 |
** | 乘方 | 2 ** 3 |
%% | 取余 | 9 %% 4 |
%/% | 取整 | 9 %/% 4 |
3. Data Visualisation
4. Data transformation
5. data.table、io、Factor
6. data Reshaping
7. rational data
8. dates and time
9.strings
10. funciotns iteration
11. functional programming
12. Probability and Hypothesis Testing
假设和检验
data.table
是 R 语言中一个功能强大的包,用于高效地处理和分析数据。它提供了许多快速且简洁的数据操作方法。以下是 data.table
的一些常见操作示例:
1. 创建 data.table
r
复制
1 |
|
2. 子集操作:筛选行
r
复制
1 |
|
3. 子集操作:选择列
r
复制
1 |
|
4. 排序
r
复制
1 |
|
5. 分组和聚合
r
复制
1 |
|
6. 更新和修改
r
复制
1 |
|
7. 删除行或列
r
复制
1 |
|
8. 连接操作
r
复制
1 |
|
9. 使用 :=
进行高效更新
r
复制
1 |
|
10. 多键操作
r
复制
1 |
|
11. 使用 .SD
和 .BY
r
复制
1 |
|
12. 条件操作
r
复制
1 |
|
13. 熔合和透视表
r
复制
1 |
|
14. 使用 on
进行连接
r
复制
1 |
|
15. 使用 by = .EACHI
进行分组操作
r
复制
1 |
|
16. 使用 Reduce
和 Map
进行复杂操作
r
复制
1 |
|
17. 使用 shift
进行滞后和领先计算
r
复制
1 |
|
18. 使用 unique
和 duplicated
r
复制
1 |
|
19. 使用 rbindlist
合并多个 data.table
1 |
|
20. 使用 fwrite
和 fread
快速读写数据
1 |
|
这些操作展示了 data.table
的灵活性和高效性,使其成为处理大型数据集时的首选工具之一。
1 |
|
melt(
data, # 数据框对象
id.vars, # 需要保留的列名
measure.vars, # 需要被转换成长格式的列名
variable.name, # 长格式中,用于存储原列名的新列名
value.name, # 长格式中,用于存储原列值的新列名
variable.factor, # 长格式中,存储原列名的列是否因子化
variable.factor, # 长格式中,存储原列值的列是否因子化
na.rm # 是否删除NA值
)