Quiet
  • 主页
  • 归档
  • 分类
  • 标签
  • 链接
  • 关于我

bajiu

  • 主页
  • 归档
  • 分类
  • 标签
  • 链接
  • 关于我
Quiet主题
  • R语言

读取RDS数据并作图

bajiu
生物信息学

2023-03-21 12:06:00

使用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)

出图

UMAP_result_Cover

https://www.math.pku.edu.cn/teachers/lidf/docs/Rbook/html/_Rbook/intro.html

上一篇

R语言数据操作和清洗包dplyr

下一篇

R语言管道符包magrittr

©2024 By bajiu.