我不是乳膠新手,而是R,RStudio和Knitr,它們實際上是非常強大的工具。 我正在一個合理的大R腳本輸出幾個圖。我的意圖是使用Knitr設置latex文檔,以便我可以繼續使用我的R腳本,並且當我確實想要報告時,我跳轉到.rnw並進行編譯,並且我確信它會擁有最新生成的數據,因爲它會直接讀取.r腳本。R,Knitr和Latex(winedt和RStudio)編譯和外化
首先,我想問一些關於如何做最佳做法的指導?我一直在考慮## ---- preambule
併爲每個相關的情節做這件事?一組情節?並在開始時放置一個read_chunk來加載數據並完成所有初步的工作。
讓我們說這是一個很好的方式來做我想做的事情,並繼續解決我遇到的問題。
我的腳本在R中運行得很好,沒有一個警告,但是當read_chunk(file.R)
與Echo=TRUE
一起被調用時,我看不到相同的輸出。首先它通過了PDF,但確實生成了我可以編譯的.tex。我看到的輸出短得多,好像在某些點停止閱讀。
我得到的錯誤是
processing file: minimal.Rnw
|
| | 0%
|
|....... | 11%
ordinary text without R code
|
|.............. | 22%
label: external-code (with options)
List of 1
$ echo: logi FALSE
|
|...................... | 33%
ordinary text without R code
|
|............................. | 44%
label: preambule (with options)
List of 1
$ echo: logi FALSE
|
|.................................... | 56%
ordinary text without R code
|
|........................................... | 67%
label: boring-random
|
|................................................... | 78%
ordinary text without R code
|
|.......................................................... | 89%
label: boring-plots (with options)
List of 3
$ fig.width : num 4
$ fig.height: num 4
$ out.width : chr ".4\\linewidth"
|
|.................................................................| 100%
inline R code fragments
output file: minimal.tex
Error in regexpr("\\.([[:alnum:]]+)$", x) : object 'filename' not found
Calls: file_ext -> regexpr
Execution halted
然而,腳本不包含任何幻想。只需在加載數據,創建像SaveImage
的一些功能和那種事情......
我有想法在我的腳本是什麼使用正則表達式...
也許這是不相關的,但是這是輸出我得到的時候echo=TRUE
## Loading required package: methods
## Loading required package: MASS
## Loading required package: modeest
##
## This is package 'modeest' written by P. PONCET.
## For a complete list of functions, use 'library(help = "modeest")' or 'help.start()'.
##
## Loading required package: car
##
## Attaching package: 'lubridate'
##
## The following object is masked from 'package:plyr':
##
## here
下一行,如果我在輸出的RStudio運行相同的塊是
Attaching package: ‘lubridate’
The following object is masked from ‘package:plyr’:
here
> library(knitr)
>
我可能沒有馬上解決這個問題。我所需要做的就是使用Latex設置一個很好的文檔,它可以編譯我的R腳本中的零碎文件,如果這樣做合理,我將編輯它,而不用考慮.tex文檔。除了添加正確的標題(## ---- preambule
等)。所以總結一下,我不知道正則表達式的問題來自哪裏,我仍然創建一個可以編譯的.tex,通過這樣做,我發現我得到的輸出結果不如在R直接運行腳本,就好像它卡在某處...我天真的想法往往會導致圖書館加載問題。
感謝您的幫助,並致以最誠摯的問候。
更新:而不是'read_chunk'我有複製/粘貼完全相同的代碼,並嘗試'源()',我最終與winedt具有相同的regexpr錯誤,但是.tex再次可以編譯。 但是,即使是.tex編譯,似乎'## ---- section'的執行無法正常工作。如果我通過複製/粘貼實際代碼來替換該塊,則會生成該圖並且一切正常。除了如果我曾經在我的腳本上工作並改變它,我將不得不在我想要的.rnw中再次複製它。 – homer3018 2015-02-06 04:19:32
我得到了使用相同的.rnw文件生成的PDF,但是在RStudio ...因此正則表達式的內容與WinEdt有某種關係。正在取得進展... – homer3018 2015-02-06 04:25:39
即使從你冗長的解釋中也無法真正瞭解你正在做的事情,但是在你提到的那些奇怪的錯誤的情況下:'traceback()'可能是你的朋友! – 2015-02-06 11:22:11