2017-09-28 29 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

好,所以请接受答案。 –