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) ) colnames( df) [ 1 ] = 'a' names ( var_test) [ names ( var_test) == "y_slide_mm" ] <- "Y"
删除
1 2 3 4 5 6 7 8 9 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 来进行设置。 oma 即 out 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 ) )
三、配色网站
十六进制颜色,左侧可选各种风格
一个好用的配色网站! 毒蘑菇 - 配色
Color Palettes for Designers and Artists - Color Hunt
http://www.yinhuafeng.cn/daohang/peise/#hue_4 打开很快
四、数据
数据是否取过log 的粗略估计
1 2 3 4 5 6 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') #终止多核运算