R语言数据分析常用操作

Last updated on October 6, 2024 pm

R语言数据分析常用操作

零、内存管理

及时清除不需要的变量,如超大的原始矩阵

更新了新的Rstudio 版本(2023.06.1+524 ) 后,可直接rm()

1
2
rm(exp_of_gene,Lung_sum_Expr) # rm() 清除环境变量
gc() #释放内存,多运行几次

一、常用操作

重复值操作

重命名

1
2
3
4
5
6
7
8
9
dfnew <- df[!duplicated(df),] #删除数据框中有重复的行
sum(duplicated(df$id)) #查询有几行重复
duplicated(df$id) #数据某列是否有重复
which(duplicated(df)) #重复数据所在行


# 重命名一个列的名称,根据index或者是根据column name获取得到index
colnames(df)[1] = 'a'
names(var_test)[names(var_test)=="y_slide_mm"] <- "Y"

删除

1
2
3
4
5
6
7
8
9
## R语言删除某列
library(dplyr)
## 按索引删除
data <- select(data,-3)
## 按列名删除单列
data <- select(data,-lieming)
## 按列名删除多列
data <- select(data,-c(lieming1,lieming2))

二、绘图

(1)调整坐标轴刻度

scale_x_continuous

1
plot() + scale_x_continuous(breaks=seq(0, 10, 1)) 调整X轴刻度

(2)散点、火山图标签

ggrepel::geom_text_repel()

1
2
3
4
5
6
7
8
9
10
11
library(ggrepel)

p+ggrepel::geom_text_repel(
aes(label=gene,color=cd),df2,
size = 4, #注释文本的字体大小
box.padding = 0.5, #字到点的距离
point.padding = 0.8, #字到点的距离,点周围的空白宽度
min.segment.length = 0.5, #短线段可以省略
segment.color = "black", #segment.colour = NA, 不显示线段
show.legend = F)
ggsave("tmp4.pdf",width = 22, height = 20, units = c("cm"))

(3)调整绘图页面边距,坐标轴字显示不全

par(mar=c(5,5,5,5))默认外边框的大小为mar=c(5.1,4.1,4.1,2.1), 分别对应下,左,上,右四个外边框

R绘图区域(如上图),主要分为两部分

一是外围边距(out margin area,oma);

二是绘图区域,绘图区域又细分为两个部分:绘图边距margins和主绘图(main plot area)

外围边距可使用par()函数中的oma来进行设置。omaout margin area,例如oma=c(5,4,3,2),这里指外围边距分别为下边距:5行,左边距4行,上边距3行,右边距2行,这里的行是指可以显示1行普通字体。注意,oma()设置顺序是从bottom开始,按照bottom,left,top,right方向设置,也就是从bottom开始按照顺时针方向设置。

绘图边距(margins)可以使用par()函数中mar来设置。比如mar=c(5,4,3,2),与外围边距的设置类似,是指绘图边距分别为下边距:5行,左边距4行,上边距3行,右边距2行。参数设置顺序与oma()顺序一直,也是从bottom开始顺时针方向设置。

1
par(oma=c(3,3,3,3), mar=c(5,5,5,5)) #通常设置mar就行

par(oma=c(3,3,3,3), mar=c(5,5,5,5))

三、配色网站

十六进制颜色,左侧可选各种风格

一个好用的配色网站! 毒蘑菇 - 配色

Color Palettes for Designers and Artists - Color Hunt

http://www.yinhuafeng.cn/daohang/peise/#hue_4 打开很快

四、数据

数据是否取过log 的粗略估计

1
2
3
4
5
6
#通过直方图看矩阵是否取过log,取过会更接近正态分布
# 假设exprMatrix是你的RNA-Seq表达矩阵
# 选择一个基因(假设基因名为"Gene1")进行观察
GEtest <- Lung_sum_Expr[,"TSPAN6"]
# 绘制基因表达量的直方图
hist(GEtest, breaks = 30)

五、Tools

斜杠反斜杠转换: windows斜杠转换-在线工具

六、加快运行速度

1
2
3
4
5
6
7
#试着调用CPU多核性能-----------------
library(future)
plan() # check the current active plan
# change the current plan to access parallelization
plan(multisession, workers=32) #开启多核运算,最好不要超过物理核心数,内存容量不够的话会有瓶颈
options(future.globals.maxSize = 20 * 1024^3)
plan('sequential') #终止多核运算

R语言数据分析常用操作
http://example.com/2024/10/06/R语言数据分析常用操作/
Posted on
October 6, 2024
Licensed under