R语言因子排序
画图的时候,排序是个很重要的技巧,比如有时候会看下基因组每条染色体上的SNP的标记数量,这个时候直接做条形图是一种比较直观的方法,下面我们结合实际例子来看下:
在R环境下之际构建一个数据框,一列染色体名称,一列统计数据。
1 chr<-paste("chr",c(1:18,"X","Y"),sep="")
2 set.seed(2)
3 num<-runif(20,100,5000)
4 df<-data.frame(chr=chr,num=num)
5 df
内容如下:

一、barplot()
我们直接用基础绘图函数barplot()画图,染色体顺序是不会变化的:
1 barplot(t(as.matrix(df$num)),col="cyan",border = NA,names.arg = df$chr)

二、ggplot2
如果用ggplot2画图,染色体顺序就不是我们想要的了:
1 library(ggplot2)
2 ggplot(df,aes(y=num,x=chr,fill=chr))+geom_bar(stat = 'identity')
我们可以利用factor进行因子排序,将顺序调整成我们需要的样子:
1 ggplot(df,aes(y=num,x=factor(chr,levels=(chr)),fill=chr))+
2 geom_bar(stat = 'identity')
或者其他形式,这里我把X,Y染色体提前:
1 ggplot(df,aes(y=num,fill=chr,
2 x=factor(chr,levels=(paste("chr",c("X","Y",1:18),sep="")))))+
3 geom_bar(stat = 'identity')
后续继续做其他调整,如图例顺序调整。
R语言因子排序的更多相关文章
- R语言因子
R语言因子 因子是它们用于将数据进行分类并将其存储为级别的数据对象.它们可以同时存储字符串和整数.它们在具有唯一值的有限数目的列是有用的. 例如,"male, "Female&qu ...
- 4-6 R语言函数 排序
#sort:对向量进行排序;返回排好序的内容 #order:返回排好序的内容的下标/多个排序标准 > x <- data.frame(v1=1:5,v2=c(10,7,9,6,8),v3= ...
- R 语言DataFrame 排序
Sort:dd <- data.frame(b = factor(c("Hi","Med","Hi","Low") ...
- R语言学习笔记:sort、rank、order、arrange排序函数
R语言中排序有几个基本函数:sort().rank().order().arrange() 一.总结 sort()函数是对向量进行从小到大的排序 rank()函数返回的是对向量中每个数值对应的秩 or ...
- R语言基础:数组&列表&向量&矩阵&因子&数据框
R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...
- R语言学习笔记:因子
R语言中的因子就是factor,用来表示分类变量(categorical variables),这类变量不能用来计算而只能用来分类或者计数. 可以排序的因子称为有序因子(ordered factor) ...
- 几种经典排序算法的R语言描述
1.数据准备 # 测试数组 vector = c(,,,,,,,,,,,,,,) vector ## [] 2.R语言内置排序函数 在R中和排序相关的函数主要有三个:sort(),rank(),ord ...
- R语言排序函数汇总
总结: 1.sort是直接对向量排序,返回原数值: 2.order先对数值排序,然后返回排序后各数值的索引: 3.rank返回原数据各项排名,有并列的情况: 4.arrange是dplyr包中的,可对 ...
- 如何在R语言中使用Logistic回归模型
在日常学习或工作中经常会使用线性回归模型对某一事物进行预测,例如预测房价.身高.GDP.学生成绩等,发现这些被预测的变量都属于连续型变量.然而有些情况下,被预测变量可能是二元变量,即成功或失败.流失或 ...
随机推荐
- 大闸蟹的项目分析——CSDN APP
大闸蟹的软件案例分析 项目 内容 这个作业属于那个课程 班级博客 这个作业的要求在哪里 作业要求 我在这个课程的目标是 学习软件工程的相关知识 这个作业在哪个具体方面帮我实现目标 从多角度分析软件 一 ...
- Noip模拟6 2021.6.10
T1 辣鸡 首先吐嘈一下,这题的测试点就离谱,不说了,附上我65分代码: 1 #include<bits/stdc++.h> 2 #define int long long 3 using ...
- Python爬取COVID-19疫情监控实战
一.项目概述 本项目基于Python.Flask.Echarts打造的一个疫情监控系统,涉及技术: Python网络爬虫 Python与Mysql数据库交互 使用Flask构建web项目 基于Echa ...
- Java并发:重入锁 ReentrantLock(二)
一.理解锁的实现原理 1. 用wait()去实现一个lock方法,wait()要和synchronized同步关键字一起去使用的,直接使用wait方法会直接报IllegalMonitorStateEx ...
- hdu 2154 跳舞毯(简单DP)
题意: 有一个圆圆的毯,被平均分成三个扇形.分为标记为A,B,C. 小余从A开始跳,每次可跳到相邻的扇形上.(A->B 或 A->C) 问小余跳n次,最后回到扇形A的方案数是多少. 思路: ...
- GDI+图形图像技术1
System.Drawing命名空间提供了对GDI+基本图形功能的访问,其中一些子命名空间中提供了更高级的功能. GDI+由GDI发展而来,是Windows图形显示程序与实际物理设备之间的桥梁. GD ...
- hdu 5100 Chessboard (额,,,,,就叫它趣味数学题吧)
题意: 用K*1的砖块去覆盖N*N的大矩形,问最多能覆盖多少块. 详细证明:(转载自matrix67) Matrix67: The Aha Moments 趣题:用 k × 1 的矩形覆盖 n × n ...
- 接口自动化 - pytest-fixture -scope作用范围
接口自动化-pytest中的fixture - scope 介绍 fixture文章中介绍的比较少,同学们可以去搜索下fixture的详解或者去看看源码 ...
- DeWeb部署
DeWeb部署 部署时需要runtime中的大部分文件 需要的目录有: apps,仅包括需要部署的dll即可 dist,必须.请勿改动 media,非必须,一般媒体文件存在于此目录 upload,必须 ...
- Qt 信号与槽的自动关联机制
前言 对于一些简单的事件判别,如点击按钮.无需写代码关联信号和槽函数. connect(ui->Btnshowhello,SIGNAL(clicked(bool)),this,SLOT(Btns ...