我在sweave中的echo输出宽度有问题,我有一个包含大量文本的列表.问题是来自R的回声响应在pdf中运行.我试过用
<<>>=
options(width=40)
@
Run Code Online (Sandbox Code Playgroud)
但这并没有改变任何事情.
例如:设置列表(不显示在latex中).
<<echo=FALSE>>=
my_list <- list(example="Site location was fixed using a Silvia Navigator handheld GPS in October 2003. Point of reference used was the station Bench Mark. If the bench mark location was remote from the site then the point of reference used was changed to the 0-1 metre gauge. Bench Mark location was then recorded as a separate entry in the Site History section [but not used as the site location].\r\nFor a Station location map and all digital photograph's of the station, river reach, and site details see H:\\hyd\\dat\\doc. For non digital photo's taken prior to October 2003 please see the relevant station file at Tumut office.")
@
Run Code Online (Sandbox Code Playgroud)
并显示列表的条目.
<<>>=
my_list
@
Run Code Online (Sandbox Code Playgroud)
有没有什么方法可以让我工作,而不必用cat语句分解列表.
您可以使用capture.output()捕获列表的打印表示,然后使用writeLines()和strwrap()来显示此输出(包装精美)。当capture.output()返回一个包含对象打印表示的字符串向量时,我们可以将它们中的每一个都放置到屏幕/页面上,但使用strwrap(). 这种方法的好处是结果看起来像是由 R 打印的。解决方案如下:
writeLines(strwrap(capture.output(my_list)))
Run Code Online (Sandbox Code Playgroud)
其产生:
$example
[1] "Site location was fixed using a Silvia Navigator
handheld GPS in October 2003. Point of reference used
was the station Bench Mark. If the bench mark location
was remote from the site then the point of reference used
was changed to the 0-1 metre gauge. Bench Mark location
was then recorded as a separate entry in the Site History
section [but not used as the site location].\r\nFor a
Station location map and all digital photograph's of the
station, river reach, and site details see
H:\\hyd\\dat\\doc. For non digital photo's taken prior
to October 2003 please see the relevant station file at
Tumut office."
Run Code Online (Sandbox Code Playgroud)