我想用我用R获得的图形进行报告。在这里,我向您展示了我设计的site_rose(site_ref)
和site_time_series(site_ref)
生成的图像。
但是在运行sweave('Profile.Rnw')并获得Profile.tex之后,我获得了Profile-002.pdf和Profile-003.pdf,这两个文档的最后两个文件都是0KB。所以我得到了一个没有任何数字的.pdf报告。在这里,我向您展示代码:
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\title{Anàlisi in situ emplaçament}
\author{Jonel Palou Visa}
\begin{document}
\maketitle
\begin{center}
<<fig=TRUE,echo=TRUE>>=
site_ref <- site_time_series(site_ref,peaks=T,stationary=T)
@
\end{center}
\begin{center}
<<fig=TRUE,echo=TRUE>>=
site_rose(site_ref)
@
\end{center}
\end{document}
我想知道我调用的新设备是否存在问题,以便绘制数字或我真正的问题是什么。 这两个函数的代码太大而无法在这里显示,这些函数中没有任何外推因为得到的数字我只调用plot(...)
答案 0 :(得分:11)
如果没有您创建的两个函数的代码,仍然不清楚出了什么问题。但是,如果您使用的lattice
或ggplot2
未在print
或ggplot2
的对象上调用lattice
。在命令行上,这些类型的图表起作用,因为打印被隐含地调用。所以:
print(site_rose(site_ref))
应该产生正确的结果。或者,您可以开始使用knitr
代替Sweave
。 knitr
没有此问题。一般来说,我建议使用knitr
而不是Sweave。
答案 1 :(得分:2)
这是整个Sweave档案吗?在创建Sweave文档时,您将无法重用当前环境变量中定义的变量。 Sweave的重点是从头到尾重现一些分析,所以这不是一个好的方法。
我建议在此Sweave文档中包含生成site_ref
变量所需的任何分析。
如果您坚持使用快捷方式,则可以保存当前的R环境并将其作为Sweave文档中的第一个命令加载,以提供对这些变量的访问。
使用Stangle
从Sweave文档中提取R代码,然后创建一个新的R会话并尝试运行该代码。您可能会收到有关未定义变量或有关未定义函数的消息的错误。您应该能够在空的环境中运行Sweave文档中包含的R代码并使其成功运行。然后,您就可以将其渲染为PDF格式了。