假设我有 2 个源文件,第一个名为example1.r
,第二个example2.r
(如下所示)。
例子1.r
plot(1:10,1:10)
例子2.r
qplot(1:10,1:10)
当我获取 example1.r 时,会绘制图表。但是,当我获取 example2.r 时,它不会。这里的解决方案是什么?
(example2.r 中的 qplot 是ggplot2的函数)
更新:
source
的选项print.eval=TRUE
将导致评估结果的打印行为,就像在交互式命令行中一样。
source("Script.R", print.eval=TRUE)
knitr
默认情况下模拟交互式命令行 wrt 的行为。print
ing。请注意,knitr
对于 R 包小插图,也可以将其指定为 Sweaving 引擎。这是著名的FAQ 7.22:为什么格子/格子图形不起作用?.
对于像 ggplot2 或 lattice 这样的网格图形,您需要打印图形对象才能实际绘制它。
在命令行上以交互方式自动完成。在其他任何地方(要获取的内部文件、循环、函数、Sweave 块),您都需要显式打印它。
print (qplot (1 : 10, 1 : 10))
或者,您可以重新定义qplot
以进行打印:
qplot <- function (x, y = NULL, z = NULL, ...) {
p <- ggplot2::qplot (x = x, y = y, z = z, ...)
print (p)
}
(这会将轴标签更改为 x 和 y)。
我在小插图中使用这种方法,我想编写代码,就像用户在交互式会话中键入它一样。