R包装格赢得';如果使用source()运行,则不打印
我开始使用R包装格赢得';如果使用source()运行,则不打印,r,graphics,plot,lattice,R,Graphics,Plot,Lattice,我开始使用latticegraphic包,但遇到了一个问题。我希望有人能帮助我。 我想用相应的函数绘制直方图 这是文件foo.r: library("lattice") data <- data.frame(c(1:2),c(2:3)) colnames(data) <- c("RT", "Type") pdf("/tmp/baz.pdf") histogram( ~ RT | factor(Type), data = data) dev.off() 然后运行R--vanill
lattice
graphic包,但遇到了一个问题。我希望有人能帮助我。
我想用相应的函数绘制直方图
这是文件foo.r
:
library("lattice")
data <- data.frame(c(1:2),c(2:3))
colnames(data) <- c("RT", "Type")
pdf("/tmp/baz.pdf")
histogram( ~ RT | factor(Type), data = data)
dev.off()
然后运行R--vanilla
代码生成错误的pdf文件。
现在我发现source(“bar”,echo=TRUE)
解决了这个问题。这是怎么回事?这是一个错误还是我遗漏了什么
我将R版本2.13.1(2011-07-08)与lattice_0.19-30一起使用,它位于--您需要print()
围绕您调用的lattice函数:
7.22为什么晶格/网格图形不起作用
最可能的原因是您忘记告诉R显示
图表晶格函数,如xyplot()创建图形对象,但
不要显示它(ggplot2图形和网格也是如此)
S-Plus中的图形)。graph对象的print()方法生成
实际显示。当您以交互方式在
命令行中,结果将自动打印,但在source()或
在您自己的函数中,需要显式的print()语句
案例
可视化.r
- 调用
plot2this.r
- 调用
并返回ggplot2
对象p
- 调用
plot2this.r
中从return(p)
到return(print(p))
的修正
初始plot2this.r
p <- ggplot(dat.m, aes(x = Vars, y = value, fill=variable))
return(p)
哇,太快了!我花了很多时间才发现真正的问题是什么。谢谢!这是有效的:
。。。打印(直方图(~RT |因子(类型),数据=数据))…
这是否适用于图形
软件包中的plot()
函数?我看到了类似的行为,但这似乎并不能解决它…啊plot
在没有print语句的情况下工作,但是在打印之前需要使用dev.new()或类似的语句。我在这里添加了一个示例,因为我认为答案是存根。
p <- ggplot(dat.m, aes(x = Vars, y = value, fill=variable))
return(p)
p <- ggplot(dat.m, aes(x = Vars, y = value, fill=variable))
return(print(p))