生信技能树生信入门班【Day5】-R语言的可视化(画图)

几何对象

几何对象可以叠加:一个geom函数画出来的所有东西称为一个几何对象(高级绘图函数加一低级绘图函数

位置

geom_jitter()

geom_point(position = "jitter")

主题

theme_bw() 改主题,可以去掉灰色格子

数据多的东西一般gpt写的都比较好,ggplot2的函数一般不会写错,单手molecule3写的人比较少就不太好

ggpubr

stat_compare_means(comparisions = my_comparisons, 

1️⃣必须是列表2️⃣组成成分必须为长度为2的向量3️⃣vector的每一个元素必须是横坐标

拼图

R包patchwork

语法非常简单

直接p1+p2 拼图

给子图添加标记

可以统一修改所有子图

可以将子图的legend移动到一起,整体性很好

有的时候代码能用但是画不出来图?

图版被占用了

dev.off()清除画板重新来

函数就是要从里面帮助文档学习

STHDA 网站

ggplot2画图50个案例 top50ggplot2.html

画图代码+你的数据+你解决问题的能力=你的图

画图的正确思维

  1. 我的数据适合用什么图展示?
  2. 这个图是什么图?
  3. 搜画图代码:代码可复制、图片美观;提供了代码配套的示例数据;示例代码+示例数据(代码跑得通)
  4. 仿制示例数据:有了一个能跑得通数据的代码,整改自己的数据——数据类型、数据结构;组织方式、对应关系
  5. 套代码、调整细节

专题:R语言的综合应用

玩转字符串:基因名、样本名等都是字符串,经常打交道

数据框

超级R包:tidyverse——《R数据科学》

  • dplyr
  • stringr

stringr

str_length()

str_split()

str_split(x,"")_得到一个list

x2=str_split(x,"")[[1]];x2

str_split(y,"",simplify=T) _将字符串分割后的数据简化成matrix

str_sub()

str_sub(s,5,9) 截取一段“birtch”,这个函数支持像python一样的倒数位置

str_detect()

str_detect(x2,"h")是否含有h,含有h就返回True,不含邮h就False

lib

玩转数据狂

arrange(test,Sepal.Length)

能够实现整行在移动,(一个观测observation跟着动)

arrange(test,desc(Sepal.Length))

mutate(test,new=Sepa.Length*Sepal.Width)       新增一列定义一个title为new的变量赋值到每个observation

R语言里的修改都得赋值,不赋值就没有修改

select 选列,选变量

filter 选观测observation 选行

连续的步骤

x1=select(iris,-5)

x2=as.matrix(x1)

x3=head(x2,50)

pheatmap::pheatmap(x3)

pheatmap::pheatmap(head(as.matrix(select(iris,-5)),50) 减少了变量,前面三步变量好多,但是变量多对于写代码来说是一种好习惯吧?

iris %>% 管道符号,将符号前面的数据传递给符号后面处理步骤 Rstudio里输入command+shift+m,自动输入

        select(-5) 

条件和循环

这段讲的就挺简单的,对R来说不重要?毕竟可以直接取子集,直接选[]选出想要的数据,但是对python来说就是非常重要的概念,需要一遍又一遍地遍历数据才能完成所需的东西

i=-1

if(i<0)print('up')

if(i>0)print('down')

长脚本管理方式

好习惯:第一行清空,并且从第一行开始运行

if(F){...}则大括号里的代码跳过

        if(T){...}则大括号里的代码运行

file.exists("....R")判断某个文件在工作目录下是否存在,可以返回一个true of false

if( ! file.exists("....R") )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值