我实现了以下函数,该函数返回一个累积图表列表,表示具有特定条件(data1)与丢失条件(data2)之间的数据比较
library("pryr")
myCumulativePlot <- function (data1,data2){
for(x in 1:10){
a%<a-% {
plot(ecdf(data1[x,]),col="red",lwd = 2,verticals = TRUE, do.points = FALSE)
legend("topleft",c("Enriched","Depleted"),lwd=c(2.5,2.5),col=c("red","blue"))
lines(ecdf(data2[x,]),col="blue",xaxt='n',yaxt='n', ann=FALSE,lwd = 2,verticals = TRUE, do.points = FALSE)
}
myData[[x]]=a
}
return(myData)
}
该函数按预期工作,列表包含我的所有累积图,但是,它非常慢,因为它也将图输出到屏幕(图形窗口),但如果我单独运行循环它不会绘制到屏幕(这就是为什么我首先使用“pryr”包)。 所有我想要的是在调用我的函数“myCumulativePlot”时取消这个绘图到屏幕,我知道ggplot可能是一个解决方案但我需要使用plot命令因为我使用“ecdf(累积分布函数)”命令只能工作在R中的情节 我也尝试过“recordPlot()”,但在调用函数
时遇到了同样的问题