> On Nov 2, 2017, at 9:27 AM, Ed Siefker <ebs15...@gmail.com> wrote: > > I have a function: > > myplot <- function (X) { > d <- plotCounts(dds2, gene=X, intgroup="condition", returnData=TRUE) > png(paste("img/", X, ".png", sep="")) > ggplot(d, aes(x=condition, y=count, color=condition)) + > geom_point(position=position_jitter(w=0.1,h=0)) + > scale_y_log10(breaks=c(25,100,400)) + > ggtitle(X) + > theme(plot.title = element_text(hjust = 0.5)) > > dev.off() > } > > 'd' is a dataframe > > count condition > E11.5 F20HET BA40_quant 955.9788 E11.5 F20HET > E11.5 F20HET BA45_quant 796.2863 E11.5 F20HET > E11.5 F20HET BB84_quant 745.0340 E11.5 F20HET > E11.5 F9.20DKO YEH3_quant 334.2994 E11.5 F9.20DKO > E11.5 F9.20DKO fkm1_quant 313.7307 E11.5 F9.20DKO > E11.5 F9.20DKO zzE2_quant 349.3313 E11.5 F9.20DKO > > If I set X="Etv5" and paste the contents of the function into R, I get > 'img/Etv5.png' > If I run myplot(X), I get nothing. > > >> X > [1] "Etv5" >> list.files("img") > character(0) >> myplot(X) > null device > 1 >> list.files("img") > character(0) >> d <- plotCounts(dds2, gene=X, intgroup="condition", returnData=TRUE) >> png(paste("img/", X, ".png", sep="")) >> ggplot(d, aes(x=condition, y=count, color=condition)) + > + geom_point(position=position_jitter(w=0.1,h=0)) + > + scale_y_log10(breaks=c(25,100,400)) + > + ggtitle(X) + > + theme(plot.title = element_text(hjust = 0.5)) >> dev.off() > null device > 1 >> list.files("img") > [1] "Etv5.png" > > Why doesn't my function work?
`ggplot` creates an object. You need to print it when used inside a function. Inside a function (in a more restricted environment) there is no parse-eval-print-loop. > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. David Winsemius Alameda, CA, USA 'Any technology distinguishable from magic is insufficiently advanced.' -Gehm's Corollary to Clarke's Third Law ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.