5
在使用knitr
時,我在data.table[...]
中評估變量時遇到問題。我已經看到解決這個問題的答案,但我仍然收到錯誤。我在R 3.0.0上使用版本爲1.8.8的data.table
。ESS不能很好地處理data.table和knitr
我使用ESS 13.05附帶的Emacs 24.3。下面是一個示例.Rnw文件:
\documentclass{article}
\begin{document}
<<init,eval=TRUE, cache=FALSE>>=
require(data.table)
dt <- data.table(x=1:10, y=11:20)
dt
dt[x > 5]
@
\end{document}
和相應的(PDF)輸出:
require(data.table)
## Loading required package: data.table
## data.table 1.8.8 For help type: help("data.table")
dt <- data.table(x = 1:10, y = 11:20)
dt
## x y
## 1: 1 11
## 2: 2 12
## 3: 3 13
## 4: 4 14
## 5: 5 15
## 6: 6 16
## 7: 7 17
## 8: 8 18
## 9: 9 19
## 10: 10 20
dt[x > 5]
## Error: object ’x’ not found
Josh,謝謝你的提示。我添加了一個示例.Rnw文件。我依靠Emacs來調用knitr,所以我不直接調用它,我不知道它是如何被調用的...... – Rodrigo
當我運行'knit(「sample.Rnw」)''時,我沒有任何問題,然後編譯產生'sample.tex'文件。但是,當我使用ESS「快捷鍵」M-n r'來編織文檔時,我得到與您一樣的錯誤。 **這似乎是ESS調用'knit()'的一個問題。**運行後檢查我的R控制檯,'Mn r',我看到它運行'.ess_weave()',所以爲了調試,我在那裏看看。或者可能更好,在[ESS-help](https://stat.ethz.ch/mailman/listinfo/ess-help)上報告,報告R,Emacs和ESS版本信息,以及與之配合使用的直接命令ESS命令不是 –
我不確定。聽起來像是一個環境問題。我很久沒有使用Emacs/ESS了,我記得它在'local()'中調用了Sweave/knitr,這可能是也可能不是原因。 –