2017-09-28 26 views
0

我試圖用Sweep中的函數\ Sexpr {}進行內聯代碼。 這裏是sweave代碼我有:Sweave並未正確讀取 Sexpr {}

it last 11minutes45 which \Sexpr{nrow(data)} 

當我運行這段代碼的PDF,我只是得到我的pdf文件:「上次11minutes45其中」,僅此而已。

2)我已嘗試添加一個代碼塊這樣的:

<<code1, rexample = FALSE, echo=FALSE, eval=TRUE,message=FALSE>>= 
x<-nrow(data) 
@ 

it last 11minutes45 which \Sexpr{x} 

跟隨在這種情況下,我在PDF文件: '上次11minutes45 which' 和而已。

3)我已嘗試添加一個代碼塊這樣的:

<<code1, rexample = FALSE, echo=FALSE, eval=TRUE,message=FALSE>>= 
x=45000 
@ 

it last 11minutes45 which \Sexpr{x} 

跟隨在這種情況下,我在PDF文件: '上次11minutes45其中45000' - 這實際上是我正在尋找的。

4)我試圖改變\或\或/,但它沒有奏效。我沒有下載R2HTML軟件包。我的第一行中有\ usepackage {Sweave}。

有人有想法解決我的問題嗎?非常感謝

+0

兩個問題:1,你使用Sweave還是knitr?它們是同一個想法的兩種不同實現。我不知道'\ Sexpr'處理中的所有差異,但它有助於測試以知道要測試什麼。 2,如果你只是在普通代碼塊中打印'nrow(data)',你會得到什麼? – user2554330

+0

.txt文件告訴你什麼?其次,我們假設您在調用\ Sexpr {}之前創建了對象數據。 – lawyeR

+0

感謝您的答案。所以是的,我創建了對象數據。這是一個包含45121行和74個變量的數據框。我正在使用Sweave。當我在普通代碼塊中打印nrow(數據)時,我在我的pdf中得到NULL ...這很奇怪....而且我沒有任何.txt文件 –

回答

1

您是否創建該對象data前sweave文件和調用呢?您知道,當您在Rstudio中單擊「編譯PDF」時進行編輯時,會創建一個新的空會話(沒有當前會話的全局變量)。你可以嘗試下面的例子嗎?

\documentclass{article} 

\begin{document} 

There is nothing written here: \Sexpr{nrow(data)}. 

<<code1, echo=FALSE, eval=TRUE,message=FALSE>>= 
data <- matrix(nrow = 2, ncol = 2) 
@ 
Result is 2 here: \Sexpr{nrow(data)}. 

<<code2, echo=FALSE, eval=TRUE,message=FALSE>>= 
x <- nrow(data) 
@ 

Result is also 2 here: \Sexpr{x}. 


\end{document} 
+0

它的工作原理。非常感謝。 –

+0

好,所以請接受答案。 –