如何用R语言画ROC曲线图

Python011

如何用R语言画ROC曲线图,第1张

R语言如何做ROC曲线

ROC曲线,做分类时经常会用到的一种结果表现方法。诸如此类的工作,首选工具当然是R。在CRAN上搜了一下,找到一个叫ROCR的包。尽管这个包已经很久没更新了,但用起来还是很爽的。先看一下我画的ROC曲线。

里面是三份预测结果的ROC曲线。

ROCR包中主要是两个class:prediction和performance。前者是将预测结果和真实标签组合在一起,生成一个 prediction对象,然后在用performance函数,按照给定的评价方法,生成一个performance对象,最后直接对 performance用plot函数就能绘制出相应的ROC曲线。

1

2

3

4

5

6

plot a ROC curve for a single prediction run

and color the curve according to cutoff.

data(ROCR.simple)

pred lt- prediction(ROCR.simple$predictions, ROCR.simple$labels)

perf lt- performance(pred,tpr,fpr)

plot(perf,color

alpha多样性指数的大小是与使用的ASV/OTU表的抽平深度有关,为探究样本alpha多样性随抽平深度的变化曲线,可绘制稀释曲线(rarefaction curve),这是生态领域的一种常用方法。

稀释曲线通过从每个样本中随机抽取一定数量的序列(即在不超过现有样本测序量的某个深度下进行重新抽样),可以预测在一系列给定的测序深度下,所可能包含的物种总数及其中每个物种的相对丰度。因此,通过绘制稀释曲线,还可以在相同测序深度下,通过比较样本中ASV/OTU数的多少,从而在一定程度上衡量每个样本的多样性高低。

Richness指数(物种丰富度指数)的Alpha多样性曲线在很多情况下等同于稀释曲线(rarefaction curve)。下面我开始绘制简单的稀释曲线和Richness指数曲线。

数据文件长这样:

1.调用相关R包,读取otu物种丰度表;

2.定义函数;

3.vegan包rarecurve()可以直接绘制稀释曲线;

4.下面绘制Richness指数曲线

稀释曲线可直接反映测序数据量的合理性,并间接反映样品中物种的丰富程度,当曲线趋向平坦时,说明测序数据量渐进合理,更多的数据量只会产生少量新OTUs(物种);反之表明不饱和,增加数据量可以发现更多OTUs。