r语言如何将直方图x轴的组距

Python050

r语言如何将直方图x轴的组距,第1张

在绘制直方图时,大家可以使用hist(x)这个函数,其中x就是需要进行可视化的数据,当然这个函数还有一个参数就是freq,其默认设置是freq=NULL。当freq=FALSE时,其纵坐标是以概率的形式呈现,而freq=TRUE时则是频率作为纵坐标。另外参数breaks可以用来控制直方条之间的间隔,例如breaks=5就表示绘制出5个直方条。当然除此之外,hist()函数还有其它参数,大家可以使用?hist()来了解不同参数的作用及其使用方法。

sort()是对向量进行从小到大的排序

rank()返回的是对向量中每个数值对应的秩

order()返回的值表示位置,依次对应的是向量的最小值、次小值、第三小值......最大值

rank() sort() order() 和 reorder()

data<=c(2,3,6,1)

reorder()函数在ggplot2中见过:

x = reorder(Var1, -Freq) Var1是分类变量,Freq是数值型变量

help(recorder) 的结果:

Reorder Levels of a Factor

Description

reorder is a generic function. The "default" method treats its first argument as a categorical variable, and reorders its levels based on the values of a second variable, usually numeric.

Usage

reorder(x, ...)

Default S3 method:

reorder(x, X, FUN = mean, ...,

order = is.ordered(x))

目录

在之前的文章里介绍了如何通过直方图来可视化等位杂合碱基的比例来判断物种的染色体倍数性。在本文里会继续向下挖掘,介绍如何可视化染色体上的拷贝数变化(CNVs)。

前文一样的操作,使用包自带的数据。

我们需要去除过高和过低深度的数据。和前文的操作一样,提取vcf文件里的深度数据"AD"。

然后过滤出10%~90%的数据,当然此处可以根据实际情况进行微调。然后对第一种出现频率最高的碱基进行可视化。(一般情况下一个位点上会有两种碱基,具体参考前文。)

同样也可以对出现频率第二高的碱基进行同样的操作,这里节约篇幅就省略了。

为了避免复杂的基于AD比例的模型假设,程序里设计了非参数估计法来计算峰值。计算完了以后可以直接对染色体进行拆分以后可视化进行校验。

根据尺寸把染色体分割成合适的大小

然后用 freq_peak 函数计算峰值。并对数据进行处理,去掉负数和Na值。

计算到此为止,可以可视化实际数据来验证计算的正确性。

仔细想一下,峰值计算的结果其实就是CNV的结果。这里根据窗口大小把染色体分成了若干段。(那么是不是可以给每一段 CDS进行细分然后计算出每一个CDS的具体数字呢????)

当然也可以把所有样本组合到一起。