首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R语言基础5(绘图基础)

geom_point(mapping = aes(x = Sepal.Length, y = Petal.Length)) + facet_grid(Group ~ Species) #4.几何对象...= aes(x = cut)) #统计变换使用场景 #5.1.不统计,数据直接做图 fre = as.data.frame(table(diamonds$cut)) fre ggplot(data...str_detect(x,"h")##是否含有关键词h,生成与X长度相等逻辑值向量,可用于向量取子集; str_detect(x,"h|s")##是否含有关键词h或者s,生成与X长度相等逻辑值向量...,可用于向量取子集; str_starts(x,"h")##是否以h开头,生成与X长度相等逻辑值向量,可用于向量取子集; str_ends(x,"h")##是否以h结束,生成与X长度相等逻辑值向量,...(i>0,"+","-") ifelse(x,yes,no) x:逻辑值或逻辑向量; yes:逻辑值为TRUE时返回值 no:逻辑值为FALSE时返回值 x = rnorm(3) x ifelse

30171
您找到你想要的搜索结果了吗?
是的
没有找到

ggplot2-plotly|让你火山图“活”过来

火山图(Volcano Plot)常用于展示基因表达差异分布,横坐标常为Fold change(倍数),越偏离中心差异倍数越大;纵坐标为P value(P值),值越大差异越显著。...2.2 细节优化火山图 1)根据阈值设定上下调基因 新增change列,利用ifelse函数添加基因上下调情况,color进行区分,然后使用geom_hline() 和 geom_vline( )参数添加阈值线...3) 标示重点显著差异基因 上图是不是有点像了,新增sign列,利用ifelse函数添加重点显著差异基因,然后使用geom_text参数添加到图上, data$sign <- ifelse(data$adj.P.Val...呐,到这里除了数据不一样,基本实现了文献中火山图,是不是以为到这就结束了?NO!NO!NO! 实现上述静态就可以发paper去了!...但是,,, 汇报展示时候,如果能动态交互式展示所有显著基因FC值和P值,是不是更酷炫!

2.9K20

万能转换:R图和统计表转成发表级Word、PPT、Excel、HTML、Latex、矢量图等

如果设置为空,则使用图形设备纵横比。 width: 所需宽度(英寸);可以与期望纵横比aspectr组合。 height: 所需高度(英寸);可以与期望纵横比aspectr组合。...使用半透明颜色可以有效减少图形元素重叠现象,要创建半透明颜色,可以使用alpha图形属性,其值从0(完全透明)到1(完全不透明)。...每个花特征用下面的5种属性描述萼片长度(Sepal.Length)、萼片宽度(Sepal.Width)、花瓣长度(Petal.Length)、花瓣宽度(Petal.Width)、类(Species)。...导出图形对象 # 需运行上面的ggplot2绘图 # Create a file name # 程序会自动加后缀 filen <- "output_filename" # or # filen <- paste...将生成3D图形保存为PNG格式: ?

3.6K20

生信技能树- R语言-day7

TURE,生成长度相等逻辑值向量,可以用来取子集,可以提出来含有h地雷str_starts(x2,"T") #是否以t开头str_ends(x2,"e")#是否e结束5.字符串替换x2str_replace...,根据逻辑值向量生成有两个取值字符型向量ifelse() + str_detect()samples = c("tumor1","tumor2","tumor3","normal1","normal2...else2, ifelse(,,ifelse)在ifelse里加一个ifelse补充 case_when练习题1.加载deg.Rdata,根据a、b两列值,按照以下条件生成向量x:load("deg.Rdata...:右连接,以右边为准right_join(test1,test2,by="name")表达矩阵画箱线图当x和y没有名字可以简写表达清楚时候,不是ggplot2可以接受类型1....“宽”变成“长”把格式变成类似于 ggplot2形式,一列作为x,一列作为y5.

6600

R tips:使用TCGAbiolinks包下载TCGA数据

GDCdownload,由于TCGA下载不是特别稳定,所以可以使用files.per.chunk定为一个值,几个文件打包为一个压缩文件来下载。...,这里使用survival和survminer包手动分析生成数据。...Normalization需要控制三个不均衡因素是文库大小、基因长度及文库组成: 文库大小:比如样本A是样本B测序量两倍,那么在同等表达水平下,样本A基因Counts值就是B两倍; 基因长度...S3对象,里面的plot就是实际ggplto2对象,如果有添加risk.table的话,那么里面的table元素就是实际ggplto2对象。...可以自己提取元素plot和table,然后使用patchwork或者cowplot合并,则可以将ggsurvplot转为ggplot2对象,然后就可以自由拼合多个生成图形了。

2.8K31

R语言基础概要

= ggplot2) 去除载入ggplot2 detach(package:ggplot2) 列出已载入包 search() 列出已载入包中所有数据集 data() 列出已安装包中所有数据集...) 移除所有对象 rm(list=ls(all=TRUE)) rm(list=ls()) 与向量有关操作 生成向量 x = c(1,2,4) #生成元素依次为”a”,”b”,”cd”字符向量x x...x长度 length(x) 生成以一个n维数值型向量x,第一个元素为a,最后一个元素为b,中间元素依次等距递增。...功能与lapply类似,区别在于函数结果类型不是列表(list) > sapply(...) 与数据框有关基本操作 数据框是一种特殊列表,所以对列表适用函数往往对数据框也适用。...(逻辑向量)维度相同数值向量,若b[i]为TRUE,则x[i]为u,反之为v x = ifelse(b, u, v)

1.7K20

R语言 常见函数知识点梳理与解析 | 精选分析

5 2 4、pmin( )/ pmax( ) 把多个等长度向量按元素逐个对比,返回所有向量第K个元素中最小(最大)值 > x <- c(1,2,3,4,5) > y library(ggplot2) > ls("package:ggplot2", pattern="geom_.a") [1] "geom_bar" "geom_label" "geom_map...:矩阵对角元素向量或生成对角矩阵 aperm:数组转置 nrow, ncol:计算数组行数和列数 dim:对象维向量 dimnames:对象维名 row/colnames:行名或列名 %*%:矩阵乘法...,&,&&,|,||,xor():逻辑运算符 logical:生成逻辑向量 all,any:逻辑向量都为真或存在真 ifelse():二者择一 match,%in%:查找 unique:找出互不相同元素...diff:计算差分 time:时间序列采样时间 window:时间窗 说明:本文中前半部分内容为作者自行整理,后半部分内容引自网络,稍作整理(蓝色标记部分是笔者认为比较常见和使用函数)。

2.3K21

《高效R语言编程》7--高效优化

需要用到包:microbenchmark, ggplot2movies, profvis, Rcpp 代码分析 首先是确定哪个是瓶颈,Rprof()是可以分析一个内置工具,但是这个结果不确定,取决于外部环境...高效基础R 改善性能标准方式和替代方法 if与ifelse函数 marks <- runif(n=10e6, min=30, max=99) system.time({ result1 <- ifelse...有没有见过显示n是6L,而不是6情况,L是一个简写,用于生成 一个整型,应该是long吧,R中数值是以双精度存储。整数可以比小数存储空间节约一倍,更进一步节约空间是用bit包。...优点是不必启动和停止集群对象。 Rcpp C++是一个现代、快速并具有较强支持度语言,包含各种库。Rcpp提供了一个友好API,编写高性能代码,C++中瓶颈典型是地址循环与递归函数。...有一点效果,不是太明显

1.3K40

精准文献复现—seurat对象添加细胞亚群meta信息

Science: 数据集:GSE234933 整个推文中需要注意地方有三点: 作者给出数据是多个rds格式文件压缩在一块,解压后循环读取文件并合并成seurat对象 作者给出细胞亚群信息可以后续添加到...# install.packages('R.utils') rm(list=ls()) options(stringsAsFactors = F) library(Seurat) library(ggplot2.../GSE234933_raw/rds/", pattern = ".rds") # 创建一个空列表来存储Seurat对象 seurat_list <- list() # 循环读取每个rds文件数据并创建...,将所有Seurat对象合并到一个对象中 seurat_combined <- merge(seurat_list[[1]], y = seurat_list...[-1]) # 打印合并后Seurat对象 print(seurat_combined) seurat_combined@assays$RNA@counts[1:10, 1:2] ##存储数据所用时间会比较长

2.1K40

R可视化之美化功能富集条形图

分享是一种态度 基因集富集分析是很常见分析内容,可视化展示方式也多样。本文提供两组分组间差异表达基因集功能富集结果一些相对美观可视化方式。...1 读取Seurat对象 生成差异表达基因 library(Seurat) library(dplyr) sce <- readRDS('F:/R_Language/R_Practice/scRNA_Seq_column...c("Naive CD4 T", "Memory CD4 T") sce.sub = sce.all[, Idents(sce.all) %in% two_groups] # 挑选细胞 ## 2 生成差异表达基因...go_organism) sce.markers = merge(sce.markers, ids, by.x='gene', by.y='SYMBOL') sce.markers$group <- factor(ifelse...value th + theme(legend.position = c(0.25, 0.9)) + guides(fill = guide_legend(ncol = 1)) ## 图四:用条形颜色深浅和长度同时表达数据

2K30

ATAC-seq分析:TSS 信号(7)

我们将从无核小体区域和转录因子(我们较短片段)周围获得信号。 我们一部分信号将来自开放染色质(较长片段)中核小体周围。 我们所有的数据都来自我们转座酶能够访问开放染色质。 2....TSS 区域 如果我们较短片段代表转录因子和转录机制周围开放区域,我们希望在转录起始位点看到信号。...2.2 可视化 要生成区域信号图,我们可以使用 soGGi bioconductor 包。我们可以使用 BiocManager::install 和库函数加载 soGGi。...我们可以使用 TSS GRange 对象再次执行此操作,并更新级别。这意味着 BAM 和 GRanges 会很好地发挥作用。...minFragmentLength 和 maxFragmentLength 参数指定要在我们绘图中使用配对读取最小和最大片段长度

44610

ATAC-seq分析:TSS 信号(7)

我们将从无核小体区域和转录因子(我们较短片段)周围获得信号。我们一部分信号将来自开放染色质(较长片段)中核小体周围。我们所有的数据都来自我们转座酶能够访问开放染色质。图片2....TSS 区域如果我们较短片段代表转录因子和转录机制周围开放区域,我们希望在转录起始位点看到信号。...图片2.2 可视化要生成区域信号图,我们可以使用 soGGi bioconductor 包。我们可以使用 BiocManager::install 和库函数加载 soGGi。...我们可以使用 TSS GRange 对象再次执行此操作,并更新级别。这意味着 BAM 和 GRanges 会很好地发挥作用。...minFragmentLength 和 maxFragmentLength 参数指定要在我们绘图中使用配对读取最小和最大片段长度

88120

Day07 生信马拉松-数据整理中R

.玩转字符串--stringr包 1.1 字符串长度-引号内单个字母/数字/符号数量 x <- "The birch canoe slid on the smooth planks." x str_length...ggplot2对行名并不友好,通常要使样本名转化为data.frame中第一列,防止在后续代码运行过程中行名丢失 图片 图片 step2 把原来行名转变为第一列 图片 step3 宽变长 :test...、gene、count数均在一行上(将上图宽数据变为长数据) 图片 6.2实操代码 6.2.1 如何生成一个matrix set.seed(10086) #设置种子数使随机生成数固定 exp = matrix...6.2.3 作图 library(ggplot2) p = ggplot(pdat,aes(gene,count))+ # 将x,y省略 geom_boxplot(aes(fill = group...### ggplot2 分面相关设置(facet)详解 7.一些实操中便捷函数 7.1 match() 函数 load("matchtest.Rdata") x y ## 把y列名正确替换为x里面的

20600

为R包写一本书(像Y叔致敬)

logFC_t=1.5 deg$g=ifelse(deg$P.Value>0.05,'stable', ifelse( deg$logFC > logFC_t,'UP',...(ggplot2) library(clusterProfiler) library(org.Hs.eg.db) df <- bitr(unique(deg$symbol), fromType = "SYMBOL...是Y叔定义好<em>的</em><em>对象</em>,这个<em>对象</em>值得大家用心摸索一下,毕竟Y叔后续<em>的</em>可视化函数,都是基于此。...image-20191210112432726 上面的表格进行可视化,可以是最基础<em>的</em>条形图和点图,<em>使用</em>Y数<em>的</em>可视化函数即可,作用于其定义好<em>的</em><em>对象</em>。...图都可以可以修饰<em>的</em> 对<em>ggplot</em>语法有所了解<em>的</em>朋友都知道,其产出<em>的</em>图都是可以叠加各种属性<em>的</em>,同理,Y叔<em>的</em>这些可视化函数,也可以继续映射基因<em>的</em>其它属性,比如变化<em>倍数</em>等等。

1.6K20

从零开始异世界生信学习 R语言部分 06 R应用专题

一、玩转字符串 stringr包 图片 1.str_length() 检测字符串长度 x <- "The birch canoe slid on the smooth planks." x ### 1....检测字符串长度 str_length(x) #计算字符串中有多少字符 length(x) #计算向量中元素个数 图片 图片 2. str_split 字符串拆分 x <- "The birch..., 10:5) l2 <- list() l2[[1]] <- 1:10 l2[[2]] <- 10:5 ##生成列表方式,直接生成以及生成一个空列表后添加元素 identical...list,使用下标循环,可以将每次循环结果都保存到列表中 ## cbind 按列拼接 a = rnorm(10) b = 1:10 cbind(a,b) ##do.call() 函数是对列表 list...library(ggplot2) p = ggplot(pdat,aes(gene,count))+ geom_boxplot(aes(fill = group))+ theme_bw() p

2.5K30
领券