我遇到了一些我写的R函数的问题。我有2个绘图功能,我想写一个函数,为两个函数创建图。这个函数看起来像这个
plotBoth = function(path = NULL){
plotPopulationStats(path)
plotInstructionFrequencies(path)
}
然而,只有我调用第二个指令才会被绘制,而第一个指令只绘制一个空白窗口。以下是这些功能的简化版本。
plotInstructionFrequencies = function(path = NULL){
quartz()
table <- read.table(path, header=TRUE);
frame <- as.data.frame(table);
frame$time = seq(1, length(table$noop));
frame$mean = NULL
frame$sd = NULL
frame$variance = NULL
Molten <- melt(frame, id.vars = "time");
ggplot(Molten, aes(x = time, y = value, colour = variable)) + geom_line()
}
和
plotPopulationStats = function(path = NULL){
quartz()
table <- read.table(path, header=TRUE);
frame <- as.data.frame(table);
frame$time = seq(1, length(table$noop));
frame$noop = NULL
frame$plus = NULL
...
frame$store = NULL
Molten <- melt(frame, id.vars = "time");
ggplot(Molten, aes(x = time, y = value, colour = variable)) + geom_line();
}
所有功能都在单独的文件中,但我希望将它们全部放在一个文件中。
单独调用时,两个函数都可以正常显示。
答案 0 :(得分:3)
阅读常见问题7.22: http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-do-lattice_002ftrellis-graphics-not-work_003f
你需要打印()你的ggplot或格子图。