有很多的统计结果是用统计图来呈现的,如何将R中获得的统计图保存起来使用是做统计时避不开的问题。简单粗暴的方法是截屏,但截屏的分辨率常常达不到要求。为保证高分辨率的输出,可考虑本文的几种方法:(1)导出;(2)打印;(3)程序包。
data(SAheart,package="bestglm") #载入数据
lgrfit1<-glm(chd~age+typea+famhist+tobacco+alcohol+sbp+ldl+adiposity,family=binomial(link=logit),data=SAheart) #建立模型lgrfit1
lgrfit2<-glm(chd~age+typea+famhist+tobacco+ldl,family=binomial(link=logit),data=SAheart) #建立模型lgrfit2
library(pROC)
roc(SAheart$chd,fitted(lgrfit1),plot=TRUE,col="red") #绘制模型lgrfit1的ROC曲线
plot.roc(roc(SAheart$chd,fitted(lgrfit2)),add=TRUE,col="blue") #在同一副图中绘制模型lgrfit2的ROC曲线
jpeg(filename="picname.jpg",width=480,height=480,units="px",pointsize=12,quality=75,bg="white",res=NA,family="",restoreConsole=TRUE,type=c("windows","cairo"),antialias,symbolfamily="default")
setwd("D:/Temp") #设置工作目录为:D:/Temp,不设置生成的图片会保存在默认路径内。也可选中控制台,通过[文件>>改变工作目录…]来设置
png(filename = "ROC.jpg",width =800, height =800) #生成名称为ROC的png格式的图片,长宽都是800像素。px(像素,默认值)、in(英寸)、cm 或 mm,绘制文本的默认点大小(1/72 英寸),默认像素密度72ppi
roc(SAheart$chd,fitted(lgrfit1),plot=TRUE,col="red")#绘制模型lgrfit1的ROC曲线
dev.off() #关闭当前设备
roc(SAheart$chd,fitted(lgrfit1),plot=TRUE,col="red")
plot.roc(roc(SAheart$chd,fitted(lgrfit2)),add=TRUE,col="blue")
dev.off()
如果你采用的是R的图形用户界面,比如RStudio,这种问题也容易解决,过程与结果如下:
联系客服