使用RDS文件
保存对象到RDS文件
my_data <- data.frame(x = 1:5, y = letters[1:5])
saveRDS(my_data, "my_data.rds")
从RDS文件读取对象
restored_data <- readRDS("my_data.rds")
使用场景:
- 数据分析项目中的中间数据存储:在数据分析的各个阶段,可能需要将中间结果保存下来以供后续步骤使用,RDS格式在这里非常方便。
- 共享R对象:当需要与同事或研究团队成员共享特定的R对象时,RDS格式能够确保接收者能够准确地还原数据。
- 长期数据存储:对于需要长期存储的数据,RDS提供了一种空间效率高且能保持数据完整性的方式。
ggplot2
ggplot2
是一个基于R语言的数据可视化包,它实现了Leland Wilkinson的语法理论。ggplot2
使得创建复杂的图表变得相对简单,因为你只需要声明你想要的图表的各个部分,而不需要考虑绘制的具体细节。
基本概念
- 数据集(Data):你要可视化的数据。
- 几何对象(Geoms):数据在图表中的表示形式,如点(散点图)、线(线图)、柱(柱状图)等。
- 美学映射(Aesthetics):定义如何将数据的不同属性映射到图形的视觉属性,如颜色、大小、形状等。
- 尺度(Scales):控制美学映射的具体方式,比如定义具体的颜色方案或者大小范围。
- 坐标系(Coordinates):图形的坐标系统,如笛卡尔坐标系、极坐标系等。
- 分面(Faceting):按照一个或多个变量将数据分组,并为每个组创建图形,以便进行比较。
- 图层(Layers):多个几何对象和统计变换的叠加。
使用
1.数据变换和统计汇总
ggplot2
允许你在图层中直接应用数据变换和统计汇总,这可以通过添加stat_*
函数实现。例如,stat_summary()
可以用来对数据进行汇总,并以错误条或点的形式表示出来。
ggplot(data = mpg, aes(x = class, y = hwy)) +
stat_summary(fun.ymin = min, fun.ymax = max, fun.y = median, geom = "errorbar") +
stat_summary(fun.y = median, geom = "point")
2.图层叠加和组合图形
ggplot2
的一个核心概念是图层(layer),这使得你可以通过叠加不同的图层来创建复杂的图形。每个图层可以代表数据的一个不同方面,例如,叠加不同类型的几何对象,或在同一数据集的不同子集上应用不同的统计汇总。
ggplot(data = mpg, aes(x = displ, y = hwy)) +
geom_point(aes(color = class)) +
geom_smooth(method = "lm", se = FALSE)
3.创建交互式图形
虽然ggplot2
本身是专注于静态图形的,但通过与如plotly
这样的包集成,你可以将ggplot2
图形转换为交互式图形。这样,用户就可以通过鼠标操作来探索图形中的细节。
library(ggplot2)
library(plotly)
p <- ggplot(data = mpg, aes(x = displ, y = hwy)) +
geom_point(aes(color = class)) +
theme_minimal()
ggplotly(p)
例子
复制粘贴改吧改吧就能用
p <- ggplot(umap_df, aes(x = UMAP_1, y = UMAP_2, color = orig.ident)) +
geom_point(alpha = 0.5) + # 调整点的透明度以优化视觉效果
theme_minimal() +
labs(title = "UMAP Plot Colored by Batch", x = "UMAP 1", y = "UMAP 2") +
scale_color_viridis_d() # 使用viridis颜色方案,易于打印且对色盲友好
ggsave("UMAP_result.png", plot = p, width = 10, height = 7.5, dpi = 100)
出图
https://www.math.pku.edu.cn/teachers/lidf/docs/Rbook/html/_Rbook/intro.html