如果使用 source() 运行,R 包lattice将不会绘图
我开始使用lattice
图形包,但我偶然遇到了一个问题。我希望有人能帮助我。 我想使用相应的函数绘制直方图。
这是文件 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 运行此代码时foo.r
它工作得很好。
但是,如果我使用第二个文件 bar.r
source("bar")
并运行 R --vanilla
bar.r
该代码生成错误的 pdf 文件。 现在我发现 source("bar", echo=TRUE)
解决了问题。这是怎么回事?这是一个错误还是我错过了什么?
我正在使用 R 版本 2.13.1 (2011-07-08) 和lattice_0.19-30
I started using the lattice
graphic package but I stumbled into a problem. I hope somebody can help me out.
I want to plot a histogram using the corresponding function.
Here is the file 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()
When I run this code using R --vanilla < foo.r
it works all fine.
However, if I use a second file bar.r
with
source("bar")
and run R --vanilla < bar.r
the code produces an erroneous pdf file.
Now I found out that source("bar", echo=TRUE)
solves the problem. What is going on here? Is this a bug or am I missing something?
I'm using R version 2.13.1 (2011-07-08) with lattice_0.19-30
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
它位于 常见问题解答中对于 R - 您需要在您调用的格子函数周围使用
print()
:It is in the FAQ for R -- you need
print()
around the lattice function you call:案例示例
visualise.r
plot2this.r
ggplot2
并返回p
对象这里修复了
plot2this.r
中来自return(p) 到
return(print(p))
。初始
plot2this.r
立即修复
输出:具有所需绘图的预期输出。
Example of the case
visualise.r
plot2this.r
ggplot2
and returnsp
objectHere the fix in the function
plot2this.r
fromreturn(p)
toreturn(print(p))
.Initial
plot2this.r
Fix
Output now: expected output with the wanted plot.